This set of tests are designed to test that different components of the BOUT++ library work together. These tests are more expensive than the unit tests, but are expected to be run on at least every pull request, and the majority on every commit.
To run the test suite, run the Python code "test_suite" :
$ ./test_suite
This should run through the tests, provided that python is set up correctly. If you encounter problems, first check that PYTHONPATH includes the BOUT++ pylib directory:
$ echo $PYTHONPATH
The test suite currently includes:
- test-io This just reads data from input, and writes it out to a file. If this test fails, then all following tests will probably also fail. Common causes of failure are problems with the NetCDF library, or with Python routines for reading data (see user manual).
- test-restarting Tests that a simulation can be restarted correctly
- test-fieldfactory This checks that the FieldFactory class can generate values from analytic expressions correctly. Since this functionality is used in nearly all other tests, this is crucial.
- test-laplace Tests the Laplacian inversion code
- test-cyclic Tests the tridiagonal solver
- test-invpar Tests the parallel parabolic solver, which depends on test-cyclic.
- test-smooth Tests smoothing operators
- test-gyro Tests gyro-averaging operators, mainly used in gyrofluid models
- test-delp2 Tests the second derivative Laplacian operator
- test-vec Tests Vector3D communication
- test-griddata Test if variable references in the input file work correctly
- test-initial Test initial conditions are created correctly
- test-drift-instability calculates the frequency and growth-rate of a resistive drift wave in a slab, comparing the result against analytic and reference runs
- test-interchange-instability calculates the growth-rate for an interchange mode in a curved slab, for two different curvature radii. Also compares the result against analytic and reference values.