1. Regression tests
There are four kinds of test. The compiler
must be run with standard output redirected
to /dev/null. All these tests use the standard
flx_run harness.
- rt
- Each good test should generate output which,
when compared with a known good run, should
be much the same. Good tests typically have
several things tested.
- dt
- Bad tests check the compiler issues
a diagnostic. Usually, they have just one
error.
- bt
- Nasty tests should crash. These are typically
things I'd like to catch with an improved
version of the compiler or run time.
- pt
- Performance tests measure speed. The result
is an overall time in seconds, which should
get smaller with each compiler improvement.
- nd
- Tests with non-deterministic results. Output
is printed, not compared with expected output.
- kf
- Tests that should compile, but are known to error out
or hang during compilation. These should be fixed in
some future version of the compiler.
- wt
- Tests that suggest a possible language changes that
are not currently implemented. They may or may not
be added to some future version of the compiler, so
they are not currently checked.
1.1. Category Reference
Tests by category keyword.
- applicative types
- rt-1.01.35-0
- array iterators
- rt-1.01.29-0
- arrays
- rt-1.01.29-0
- assert
- rt-1.01.06-0
- axiom checks:float
- rt-1.01.55-0
- axiom checks:integer
- rt-1.01.54-0
- axioms
- rt-1.01.27-0
- channels
- rt-1.01.23-0, rt-1.01.23-1
- closures
- rt-1.01.02-0, rt-1.01.08-0
- export
- rt-1.01.04-0, rt-1.01.56-0, rt-1.01.57-0, rt-1.01.58-0
- fibres
- rt-1.01.23-0, rt-1.01.23-1
- functors
- rt-1.01.12-0
- generators
- rt-1.01.36-0, rt-1.01.37-0, rt-1.01.38-0, rt-1.01.43-0
- goto:nonlocal
- rt-1.01.42-0
- inherit:specialisation
- rt-1.01.47-0
- inlining
- rt-1.01.14-0, rt-1.01.15-0
- insertions
- rt-1.01.09-0
- integer math
- rt-1.01.01-0
- laziness
- rt-1.01.03-0, rt-1.01.32-0
- lazy variables
- rt-1.01.32-0
- lexing:comments
- rt-1.01.40-0
- lexing:keywords
- rt-1.01.34-0
- lvalues
- rt-1.01.21-0
- member count
- rt-1.01.28-0
- polymorphism
- rt-1.01.12-0, rt-1.01.13-0, rt-1.01.16-0
- purely functional
- rt-1.01.53-0
- recursion
- rt-1.01.02-0, rt-1.01.17-0, rt-1.01.18-0, rt-1.01.19-0, rt-1.01.20-0
- recursion:types
- rt-1.01.07-0
- reductions
- rt-1.01.27-0
- ref semantics
- rt-1.01.33-0
- reglex
- rt-1.01.59-0
- regmatch
- rt-1.01.22-0, rt-1.01.60-0
- show typeclass
- rt-1.01.61-0
- statements:def
- rt-1.01.10-0
- strings
- rt-1.01.05-0
- tail call optimisation
- rt-1.01.17-0, rt-1.01.18-0, rt-1.01.19-0, rt-1.01.20-0
- type constraints
- rt-1.01.24-0, rt-1.01.25-0, rt-1.01.26-0, rt-1.01.44-0
- type functions:recursive
- rt-1.01.52-0
- type operators
- rt-1.01.11-0
- type:abstract
- rt-1.01.51-0
- typeclasses
- rt-1.01.45-0, rt-1.01.46-0
- typeclasses:imbue module
- rt-1.01.49-0
- typeclasses:inheritance
- rt-1.01.47-0
- typeclasses:polymorphic methods
- rt-1.01.48-0, rt-1.01.49-0
- types:higher order
- rt-1.01.12-0
- types:nested
- rt-1.01.41-0
- types:recursive
- rt-1.01.52-0
- pchannels
- nd-1.01.01-0
- pthreads
- nd-1.01.01-0
1.2. Good tests
1.3. Non deterministic tests
1.4. Static good tests
1.5. Dynamic good tests
1.6. Bad tests
1.7. Known failure tests
1.8. Wish tests