Closed
Description
As part of the effort to get rid of ninja.js for building the stdlibs and tests, the files in jscomp/test
need to be cleaned up.
Note that due to ninja.js weirdness, there are currently some restrictions:
- Files in subdirectories are not compiled, only files directly in
jscomp/test
. - File names must start with a lowercase letter, otherwise dependencies on such files are not handled correctly.
Tests are in the process of being converted from mocha (Mt.*
) to the node test runner (Node_test.*
/Node_assert.*
).
Currently, mocha test files need to have the suffix _test
and node test files need to have _ntest
.
Proposed cleanup plan:
- Categorize test files and mark them with a prefix:
belt_
: tests for theBelt
namespacejs_
: tests for theJs
namespaceruntime_
: tests for the compiler runtime (Curry etc.)ocaml_
: tests for the OCaml standard librarytestutil_
(?): files containing only utility functions used by testsoutput_
: test files that do not call any actual test functions and are just here to be able to manually verify changes in the compiler output
- For files that do not contain any tests, remove the
_test
suffix. - Finish converting tests from Mocha to the node test runner, with the exception of the tests for the OCaml standard library.
- When the OCaml standard library is removed from the compiler repo, also remove the corresponding tests.
- Once we have moved away from ninja.js to bsb or rewatch for building the stdlibs and tests, reorganize into subdirectories.