Test WasmThemis with multiple Node.js installations #510
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently we run WasmThemis test suite only against Node.js bundled with Emscripten. As of now this is some Node.js v8 version. However, we'd like to be sure that WasmThemis support all Node.js versions recommended for usage.
Move WasmThemis test suite invocation to the
jsthemis
workflow on CircleCI. There we have multiple Node.js versions installed and can verify WasmThemis against all of them.Emscripten installation is needed only for WasmThemis so it can be moved to
jsthemis
workflow as well, it's no longer necessary in thex86_64
workflow. Note that Emscripten SDK requires Python so we add that to dependencies.Themis Core test suite (
make test
) is run in Emscripten environment only. We don't exercise it in multiple Node.js environments where we test WasmThemis. Current build system will try rebuilding test binaries outside of Emscripten environment (using native C compiler), which will obviously fail.Finally, tweak execution step names as we're testing not just JsThemis now.
Unfortunately, these cute ball references have to go.
assert
module in Node.js v10+ has some issues with throwing raw values. Throw and catch a proper Error instance instead.