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.
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
cometkim commentedon Aug 23, 2024
Can we wait for #6899 so that the changes don't conflict?
I honestly want to completely restructure the tests, not just change the format.
There are many tests there that don't actually have a runtime, so it's like build_tests with default config.
cknitt commentedon Aug 23, 2024
What is your timeframe for #6899?
In #6899, you are saying
So there shouldn't be too many conflicts?
cknitt commentedon Aug 23, 2024
I would like to get at least the Belt tests converted to the node test runner soon so that I can add them more easily to https://github.com/rescript-lang/experimental-rescript-stdlib-build. I had problems with the weird
mt.res
there.cometkim commentedon Aug 23, 2024
Nevermind. Some module resolutions might change in #6899. But that's
build_tests/
and has nothing to do withtest/
.cknitt commentedon Oct 11, 2024
While I still think that the tests could need some cleanup, what I described here is completely outdated and largely obsolete after the recent changes on master. Removal of the OCaml standard library is done, and runtime and tests are already built with bsb.
So I'll close this issue.