Nyall Dawson 66b51d4a81 [FEATURE] Edit attributes of multiple features simultaneously
This change allows the attributes of multiple features to be edited
simultaneously. It is enabled when the attribute table dialog is in
"form mode", via a new "multi edit" button on the toolbar.

In this mode, attribute value changes will apply to all selected
features. New widgets appear next to each editor widget allowing for
display of the current multi-edit state and for rolling back changes
on a field-by-field basis.

Changes are made as a single edit command, so pressing undo will
rollback the attribute changes for all selected features at once.

Multiedit mode is only available for auto generated and drag and
drop forms - it is not supported by custom ui forms.

Sponsored by Kanton Basel Stadt
2016-04-18 15:15:11 +10:00
..
2016-02-14 03:50:49 +01:00

QGIS unit tests

Build tests

Make sure that you have enabled building of tests in CMake. cmake -DENABLE_TESTS=ON ..

Run tests

You can run all tests using make check.

Individual tests can be run using ctest.

For example if the output of make check ends like this:

   The following tests FAILED:
         77 - PyQgsLocalServer (Failed)

You could re-run the failing test with:

   ctest -V -R PyQgsLocalServer

The parameter -V enables verbose mode and -R takes a regular expression as parameter and will only run matching tests.

Advanced configuration

Postgres

Make sure that you have enabled building of postgres test in CMake. cmake -DENABLE_PGTEST=ON ..

To test the postgres provider you will need to have a database available to which the postgres provider can connect. The server will need to have postgis support enabled.

By default the test uses the following connection string:

dbname=qgis_test

If this does not match your setup you can set the environment variable QGIS_PGTEST_DB to the desired connection string, or you can rely on standard libpq environment variables to tweak host, port user and password (PGHOST, PGPORT, PGUSER, PGPASSWORD).

Please note that the database needs to be initialized using the sql-scripts:

tests/testdata/provider/testdata_pg*.sql

They take care of activating postgis for the test database and create some tables containing test data.

For convenience, a shell script is provided to create the database and initialize it as needed:

tests/testdata/provider/testdata_pg.sh