Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


To run the testsuite:

  1) To run all the tests simple execute `./runtests.py'.
     For every test results are saved in
     (in the case of using partial order reduction the results are saved in

  2) To run all the tests from specific suites (SUITE1, SUITE2)
     execute `./runtests.py suites/SUITE1/src/* suites/SUITE2/src/*'.

  3) To run specific tests (TEST1 from SUITE1, TEST2 from SUITE2) where
     TEST1 is a single file and TEST2 is a multi-module test execute
     `./runtests.py suites/SUITE1/src/TEST1.erl suites/SUITE2/src/TEST2/'

  4) To run the testsuite in parallel set the environment variable `THREADS'
     to the appropriate value (default is 4). This can be a huge time saver
     these days with the number of cores most people have.

To add test cases in any suite:

  1) If the test requires Concuerror to analyze a single file (TEST.erl)
     place it in the suite's 'src' directory. The test module must export
     the function `scenarios/0' which has to return a list of tuples each
     containing the function's name and preemption bounds to analyze
     (functions must be of arity 0).
     Tupples may optionally contain a third term ('full' or 'dpor')
     which specifies if we are going to use dynamic partial order
     reduction algorithms.

  2) If analysis of more files is needed place them all in a new directory
     (TEST) in suite's `src' directory. In this directory there must be
     present a module called `test' exporting the function `scenarios/0'
     described above.

  3) Create a file named TEST-<function_name>-<preem_bound>.txt
     (or TEST-<function_name>-<preem_bound>-dpor.txt) containing
     the expected result in suite's `result' directory.

To create a new suite:

  1) Create a sub-directory in `suites' directory.
     The name should describe the suite.

  2) In the suite's directory create subdirectories `src' and `results'.

  3) Add tests as described in previous section.