X-Git-Url: http://nitlanguage.org diff --git a/tests/README.md b/tests/README.md index 5a6f51c..8941587 100644 --- a/tests/README.md +++ b/tests/README.md @@ -17,6 +17,8 @@ This directory contains small Nit programs and useful scripts to test the non re Useful before committing something. * `listfull.sh` lists tests that are run by `testfull.sh`. It is used by other scripts but can be used by human to see what is tested. + Each path is quoted using apostrophes, with `'\''` escaping an apostrophe. + This syntax is compatible with `xargs` and the POSIX shell. Currently, all files in `tests/`, `lib/` and `examples/` are executed, some of `contrib/` and the main programs of `src/`. To update the list of tested files, just edit this script. @@ -154,11 +156,14 @@ It is a failure, and analogous to the standard `fail`. `[todo] out/zzz_test_todo.res -> not yet implemented` -The produced result file contains the magic string "NOT YET IMPLEMENTED". +The produced result file contains a magic string, like `NOT YET IMPLEMENTED`. Those are considered the same as expected errors (like a fixme) It is a success. -Some engines, libraries or program just print this to simplify the management of tests. +The magic strings are listed in `todo` files in the root and `sav` directories. +They are used by engines, libraries or program just print this to simplify the management of tests. + +Magic strings are used with `grep -f`, so each line is a pattern that is searched within the res files. ### Skipped @@ -319,6 +324,11 @@ $ cat out/zzz_test_post_proc.res The environment variable `NIT_TESTING` is set to `true` during the execution of program tests. Some libraries of programs can use it to produce specific reproducible results ; or just to exit their executions. +`NIT_TESTING_TESTS_SH` is set to `true` for tests ran by `tests.sh` only, not by nitunit. + +`NIT_TESTING_ID` is set to an integer value unique between concurrent executions of `tests.sh`. +Use it to name files, database entries, open sockets in order to avoid race conditions. + ~~~ $ cat zzz_tests/zzz_test_envvar.nit $ ./tests.sh zzz_tests/zzz_test_envvar.nit