Skip to content

Releases: rtfeldman/node-test-runner

0.19.1-revision12

16 Feb 18:28
59a8666
Compare
Choose a tag to compare

Fixed

  • elm-test --report junit now works with elm-program-test. The junit report is XML. elm-program-test uses some characters that are not allowed in XML. This version replaces such disallowed characters with an Elm-style escape sequence, instead of crashing like it did before. Thanks to Christoph Hermann for reporting and to Ilias Van Peer for fixing!

0.19.1-revision11

02 Jan 19:50
9c4ffdc
Compare
Choose a tag to compare

Fixed

  • elm-test init now prints a working link to the elm-explorations/test package. Thanks to Max Strübing!
  • If you ever saw RuntimeError: unreachable when trying to use elm-test, that should not be possible to happen anymore. elm-test now depends on the latest version of elm-solve-deps-wasm which solved that problem. (Previously, you had to make sure you had that version installed yourself).

0.19.1-revision10

11 Oct 20:46
dc3ac90
Compare
Choose a tag to compare

⚠️ Updating to this version also requires upgrading to the just released elm-explorations/test 2.0.0!

Breaking

  • This version of elm-test only works with elm-explorations/test 2.x (2.0.0 <= v < 3.0.0), which was just released. The versions table should make it clear which versions work together.

  • Removed elm-test install-unstable-test-master and elm-test uninstall-unstable-test-master. They are no longer needed since elm-explorations/test 2.0.0 has been released.

Added

  • Fuzzer distribution statistics report. Fuzzer distribution is new in elm-explorations/test 2.0.0, and it required a change in how things are reported from Elm to the test runner, which is why elm-test 0.19.1-revision10 is not compatible with older elm-explorations/test versions.

  • The --no-clear-console flag. By default, elm-test --watch clears the screen on every re-run, so you only see up-to-date output. With --no-clear-console, the console is not cleared and a separator is instead printed between the old and new output instead (similar to how elm-test-rs works). This is useful if you are running several commands in the same terminal and don’t want elm-test --watch to clear away output from other commands.

0.19.1-revision9

03 Jul 19:27
026581e
Compare
Choose a tag to compare

Fixed

  • elm-test install-unstable-test-master (added in the previous version) now works with packages.

0.19.1-revision8

20 Jun 17:00
91b6f69
Compare
Choose a tag to compare

Breaking

  • Removed support for Node.js 10 (which reached end of life 2021-04-30). Node.js 12.20.0 is now the minimum supported Node.js version. (Node.js 12 actually reached end of life 2022-04-30, but we decided to keep support for it for a while longer since there was no need of dropping it right now.)

Added

  • elm-test install-unstable-test-master
  • elm-test uninstall-unstable-test-master
    • which undoes that

This let’s you test the upcoming major version of elm-explorations/test. Big thanks to Martin Janiczek!

Changed

  • elm-test no longer uses elm-json to calculate the set of dependencies needed to run your tests. Instead, we use elm-solve-deps-wasm which basically is a WebAssembly port of the dependency solver in elm-test-rs. Big thanks to Matthieu Pizenberg! Benefits of this change:

    • elm-test no longer needs to download the elm-json binary at install time or run time. elm-solve-deps-wasm is a regular, cross platform npm package.
    • Improves compatibility with Lamdera.
    • elm-solve-deps-wasm works offline to a greater extent than elm-json. Many times it doesn’t need to make any calls to package.elm-lang.org at all!
  • elm-test now shows suggestions on misspelled CLI flags.

0.19.1-revision7

14 May 20:33
11733ef
Compare
Choose a tag to compare

Fixed

  • elm-test now works if you have { "type": "module" } in your package.json.
  • --output=/dev/null is now ignored. This is needed by Emacs’ flycheck-elm package, which calls both elm make and elm-test make with --output=/dev/null. elm-test make does not produce any output files, so the flag doesn’t change anything. (Before 0.19.1-revision5, all unknown flags were silently ignored.)
  • The “no tests found” error message now works with --report=json and --report=junit again (regression in 0.19.1-revision5).
  • Better error message for --fuzz=0.

0.18.13

13 May 13:28
Compare
Choose a tag to compare

This is 0.18.13-beta4 with one change: it downloads elm-interface-to-json from the below release assets rather than from Bintray which was sunset 2021-05-01.

This allows people who still are on Elm 0.18 to run their tests (use npm install elm@latest-0.18.0 to install Elm 0.18 itself – requires Node.js 10).

0.19.1-revision6 - 2020-01-31

31 Jan 21:06
bd29dbc
Compare
Choose a tag to compare

Fixed

  • The --no-color and --color flags (to disable and force colors) now work again (regression in 0.19.1-revision5).
  • --no-color now turns off colors in Elm compiler error messages as well.

0.19.1-revision5 - 2020-01-28

28 Jan 19:19
b948183
Compare
Choose a tag to compare

Breaking

  • Removed support for Node.js 8 (which reached end of life 2019-12-31). Node.js 10.13.0 is now the minium supported Node.js version.
  • Removed the undocumented --verbose flag. It didn’t do much at all in its current state.

Fixed

  • Now works on Apple Silicon/M1/ARM MacBooks. Installation used to fail with “Error: No binaries are available for your platform: darwin-arm64.”
  • You can now run your test from a subdirectory. elm-test finds your elm.json up the directory tree instead of printing an error.
  • If you had a port named send or receive and they were reached via test cases, elm-test used to fail with a duplicate port error. elm-test has renamed its internal ports so that conflicts are very unlikely.
  • The JUnit reporter now says @failures instead of @failed which makes Jenkins happier.
  • elm-test now errors on unknown (misspelled) flags instead of silently ignoring them.
  • elm-test now errors on bad --fuzz and --seed values instead of silently ignoring them.
  • A whole host of Elm package dependencies errors, by using elm-json to calculate the set of dependencies needed to run your tests.
  • elm-test --watch no longer crashes if for packages if there are compilation errors in src/ at startup.
  • elm-test --watch now detects changes in your elm.json.
  • elm-test --watch now works better when lots of files change at once. If 10 files changed, your tests used to run 10 times in sequence (more or less). Now, they only run once or twice. Changes within 100 ms are batched together. Changes happening while the tests are running no longer queue up – they instead trigger one single test once the current run is done.
  • Compilation errors are no longer hidden by a super long “Compilation failed while attempting to build [absolute paths to every single test Elm file]” message.
  • A bunch of checks and validations have been added to help in edge cases.

Performance

  • elm-test is now faster to install (by having fewer dependencies). It used to be around 18 MB, now it’s just 2 MB.
  • elm-test now runs about half a second faster, by no longer using elmi-to-json. (As a bonus, if you ever encountered errors mentioning elmi-to-json, that won’t happen anymore.)
  • elm-test --watch now reruns your tests sooner after file changes (about 100 ms after the changes, instead of about 500 ms).

Changed

  • The --help output is now more conventional and hopefully easier to read.

elm-test 0.19.1 revision 4: leaner and meaner

21 Sep 20:59
41a4f37
Compare
Choose a tag to compare

Fixed

  • The --compiler command line flag now correctly finds elm executables on your PATH (see #438).
  • We have hugely slimmed down the reproduction instructions so that the test runner no longer prints hundreds of test file paths to the console (see issue #431 and fix #432).

Performance

  • A whole host of spring cleaning that streamlines the test runner. (see #425).