All notable changes to this project will be documented in this file.
Unreleased (diff)
- This version now supports the new
elm-explorations/test
v2. - The reporters have been updated by
@Janiczek
to support the new fuzzer API with information and checks about the random distributions. More info about those changes in that library changelog.
- There are now bespoke error messages when using the wrong version of
elm-explorations/test
instead of the generic dependency solver errors. This is in preparation for the upcomming v2 ofelm-explorations/test
.
- The
-v / --verbose
flag now also outputs a listing of all tests for the console report.
- Updated regex crate to v1.5.5 due to RUSTSEC-2022-0013.
- The name field of exercism reports are now unique again.
- Added support for the
--report
flag in theelm-test-rs make
subcommand. The stderr stream of the json report is redirected to stdout for consistency in elm-test-rs. - Accept (and ignore) the
--output=/dev/null
flag to ease integration with tooling and editors. - Improved compatibility with Lamdera.
- Upgrade
assert_cmd
dependency to replace an unmaintained indirect dependency.
- Removed dependency to stderrlog due to RUSTSEC-2020-0071.
- (BREAKING) Fix an error in the json report:
testsCompleted
->testCompleted
. - Fix an error in the
package.json
specifying that the generated code is commonjs. - Fix CI cross compilation to generate the Apple M1 executable of
elm-test-rs
.
- Added a delimiter between runs in stderr output when detecting a file change in --watch mode.
- Fixed the missing newline for Debug.log capture. This bug was introduced in version 1.2.0 due to changes for the Deno compatibility.
- Actually changed the version indicator of the program to 1.2.1.
I had forgotten it before so version 1.2 indicates 1.1 with
--version
.
- Added arm precompiled binaries to the GitHub action.
- Added a Deno runtime available via the
--deno
CLI argument. This also results in a slight change in the way calls toDebug.log
are captured, but that should be transparent to the user.
- Better support for situations with symlinks. There was an issue when elm files were symlinks to directories outside of the source directories of the elm project.
- Added a
task_id
field in the exercism report.
- New
--project
CLI option to be able to pass as argument the path to the root of the elm project, containing theelm.json
. - The globs CLI arguments and resulting found tests modules paths
are now passed as arguments
globs
andpaths
to the reporter flags. - New
--offline
flag instead of old--connectivity
to run offline. - New
--dependencies [newest|oldest]
argument. - New
make
subcommand that stops after compilation of the tests modules. - New
--elm-home
argument also able to pick up the env variableELM_HOME
. - New multiple verbosity flag
-v
to replace the previous--quiet
flag. Level 0 (default) has mostly quiet stderr, level 3-vvv
add debug info, and levels in between add more and more info.
- Http timeouts are increased from 1s to 10s.
- Updated the Elm submodule for the test runner.
- Changed the CLI crate from pico_args to clap.
- The
--connectivity
argument is no more. Replaced by a combination of--offline
and--dependencies <strategy>
. - The
--quiet
flag, replaced by verbosity-vvv
.
- All unwise usage of
.unwrap()
and.expect()
has been replaced by correct error handling thanks to theanyhow
crate. - Fix some Junit and JSON reports issues.
- Fix
--compiler
error when using relative paths. - Fix the indentation of generated elm.json. Now uses 4 spaces.
- Fix the order of packages in the elm.json dependencies.
- Add a message to stderr and fail when no test was found.
- Validate that
--fuzz
is >= 1. - Fix race condition in
--watch
mode preventing a re-run if files change while running tests. - Fix Windows paths issues due to UNC paths.
- Fix elm command for Windows when installed via npm.
- Add
elm/json
to the direct dependencies.
- A
--quiet
CLI option. Currently it reduces the amount of stderr logging.
- Update pico-args dependency from 0.3.4 to 0.4.
- Update regex dependency from 1.4.1 to 1.4.3.
- Update serde_json dependency from 1.0.59 to 1.0.61.
- Update ureq dependency from 1.5.2 to 2.0.1.
- Split direct and indirect dependencies after dependency resolution to avoid naming issues when importing modules.
utils::include_template!
macro for easier logic and maintainance.
- Use
utils::include_template!
macro for easier logic and maintainance, instead of duplicated calls toinclude_str!
with aunix
orwindows
guard.
- Update to version 3.1.1 of elm code that fixes some things in exercism report.
- Support Node 10 with
--experimental-worker
option. - Exercism support with the "exercism" value for
--report
option.
- Fixed parser issue for long unicode chars.
- Only display startup debug logs if there are any.
- Now handles tests runs of the kind "Only" | "Skipping" | "Invalid".
- Support for colors with the ConsoleColor reporter.
- Nice formatting of failure diffs like in node-test-runner.
- Ability to pick connectivity with version stratey: "offline" | "online-newest" | "online-oldest".
- Add a --filter option to only run some tests based on their description.
- Renamed the "Console" reporter into "ConsoleDebug" reporter.
- Exit code error.
- Await termination of runners before exiting.
- Capture
Debug.log
calls happening when running a test.
- Rename all occurences of ...Nb... into ...Count, for example:
askNbTests
becomesaskTestsCount
,sendNbTests
becomessendTestsCount
,nb_workers
becomesworkersCount
, etc. - Simplfy the Elm/JS interop code between the runners and supervisor.
- Include a simple
--watch
option for convenience.
- Swap the
dirs
crate (unmaintained) bydirs-next
.
CHANGELOG.md
to record important changes.- Includes a stealthy
--watch
option explaining why it is not needed. - Print elm-test-rs version to stderr at the beginning of output.
- Do not overwrite the generated
elm.json
for the tests if identical. This considerably speeds up the compilation step since the elm binary uses timestamps to invalidate cache.
- Dependency to lazy_static
0.1.0 - (2020-12-18)
README.md
as the home page of this repository.LICENSE
code is provided under the BSD 3-Clause license.Cargo.toml
configuration of this Rust project.Cargo.lock
exact dependencies this Rust project.src/
containing all the Rust source code..gitignore
configured for a Rust project..gitmodules
git submodules..github/workflows/
CI to automatically build and test on pull requests.