|
| 1 | +# Running the test suite |
| 2 | + |
| 3 | +You can run the test suite by going back to the main project directory |
| 4 | +and running (change accordingly if you have the right versions of Agda |
| 5 | +& GHC installed but the executable names are different). |
| 6 | + |
| 7 | +```shell |
| 8 | +AGDA_EXEC=agda-2.6.4 GHC_EXEC=ghc-9.2.8 make testsuite |
| 9 | +``` |
| 10 | + |
| 11 | + |
| 12 | +# Structure of the test suite |
| 13 | + |
| 14 | +## Configuration |
| 15 | + |
| 16 | +The Agda & GHC version numbers the stdlib is tested against |
| 17 | +are specified in [_config/version-numbers.sh](_config/version-numbers.sh) |
| 18 | + |
| 19 | +## Test runner |
| 20 | + |
| 21 | +The test runner is defined in [admin/runtests/](admin/runtests/). |
| 22 | +It is compiled using an ad-hoc [run](admin/runtests/run) file using |
| 23 | +the shared configuration and the resulting executable is copied to |
| 24 | +the root of the tests directory. |
| 25 | + |
| 26 | +If you want to add new tests, you need to list them in |
| 27 | +[runtests.agda](admin/runtests/runtests.agda). |
| 28 | + |
| 29 | +## Test dependencies |
| 30 | + |
| 31 | +The external dependencies of each test are spelt out in: |
| 32 | + |
| 33 | +* either the generic [_config/template.cabal](_config/template.cabal) cabal file |
| 34 | +if they don't need any additional dependencies |
| 35 | +* or the test-specific cabal file (e.g. [data/appending/appending.cabal](data/appending/appending.cabal)) otherwise |
| 36 | + |
| 37 | +You may need to bump these dependencies when changing |
| 38 | +the version of the compiler backend we build against. |
| 39 | + |
| 40 | +# Updating the test suite |
| 41 | + |
| 42 | +1. Update [_config/version-numbers.sh](_config/version-numbers.sh) |
| 43 | +2. Update the command listing explicit version numbers at the top of this README |
| 44 | +3. Update bounds in [_config/template.cabal](_config/template.cabal) |
| 45 | + as well as all the test-specific cabal files in the X/Y/ subdirectories |
| 46 | +4. Update [../.github/workflows/ci-ubuntu.yml](../.github/workflows/ci-ubuntu.yml) |
| 47 | + to run the continuous integration with the new GHC and/or Agda versions. |
0 commit comments