Idris2/tests
2023-04-07 08:42:42 +01:00
..
allbackends [ cleanup ] Remove extraneous show and simplify printLn (#2618) 2022-08-10 21:22:58 +01:00
allschemes [ fix ] also usleep in the producer of channels006 to guarantee correct output (#2702) 2022-10-05 12:03:20 +01:00
base [ new ] Implement bit-rotation operators (#2903) 2023-03-04 14:41:54 +00:00
chez [ new ] missing buffer primitives (#2893) 2023-02-26 17:50:52 +00:00
codegen Collect constructors on the left hand side of case alternatives (#2919) 2023-03-14 15:05:19 +00:00
contrib [ contrib ] Performance improvement gcd in Data.Nat.Factor (#2886) 2023-02-22 12:08:49 +00:00
gambit/bitops001 Add Data.Bits to base (#1033) 2021-03-04 20:59:56 +00:00
ideMode [ new ] %unsafe pragma for escape hatches (#2937) 2023-04-03 21:42:47 +01:00
idris2 [ parser ] Improve error message for missing comma or period in forall. 2023-04-07 08:42:42 +01:00
node [ new ] popen/pclose for the NodeJS backend. (#2857) 2023-01-30 09:38:42 -06:00
prelude [ prelude ] Add Range implementation for Char (#2505) 2022-05-27 07:57:59 +01:00
racket Move channel tests to allschemes 2022-10-04 10:24:27 +02:00
refc [ perf ] manually eta-expand unsaturated io_bind calls (#2785) 2022-12-01 15:31:00 +00:00
templates [ new ] put TTC files in a version-tagged directory (#2684) 2022-11-01 18:11:18 +00:00
ttimp [ termination ] faithful implementation of size-change graph termination analysis 2023-02-08 16:13:04 +00:00
typedd-book [ refactor ] Abstract Prelude.elem to work with all Foldables (#2294) 2022-02-01 21:34:29 +00:00
vmcode/basic001 Move rm -rf to the beginning of the test 2021-07-13 22:54:53 +01:00
Main.idr [ parser ] Improve error message for missing comma or period in forall. 2023-04-07 08:42:42 +01:00
Makefile [ repl ] Add the ability to get detailed help, e.g. :help :help (#2722) 2022-10-21 14:35:33 +02:00
README.md [ re #2649 ] Describe test naming pattern 2022-11-11 09:33:09 +01:00
tests.ipkg Set PREFIX for tests 2021-04-19 11:23:58 +01:00

Tests

Note: The commands listed in this section should be run from the repository's root folder.

Run all tests: make test

To run only a subset of the tests use: make test only=NAME. NAME is matched against the path to each test case.

Examples:

  • make test only=chez will run all Chez Scheme tests.
  • make test only=ttimp/basic will run all basic tests for TTImp.
  • make test only=idris2/basic001 will run a specific test.

Templates for common test instances can be found in the templates folder.

There is no defined naming convention for adding tests, but the pattern has been:

  • a sub-directory in the relevant test section (idris2, refc, etc.)
  • with a descriptive name followed by a 3-digit number (e.g. envflags001 is the first test checking the environment flags functions)
  • containing:
    • an Idris file importing the relevant modules and containing the test function(s)
    • a run file which is a shell script that runs the test (see the existing tests for examples for this)
    • an expected file containing the expected output