Skip to content

Releases: randycoulman/mix_test_interactive

v5.0.0

10 Jun 02:51
057f89e

Choose a tag to compare

💥 BREAKING CHANGE 💥

There are no actual breaking changes in the code itself, so as long as you're on
Elixir 1.14 or later, you should have no problems upgrading to this version.

Updated

  • We address new deprecations and compiler warnings in Elixir 1.19. There are no
    user-visible changes.
    (#137 -
    Thanks @frankdugan3 for contributing to the fixes!)

  • We upgrade to the newest version of ex_docs to get the latest improvements.
    (#137)

v4.3.0

22 Mar 05:10
87521b5

Choose a tag to compare

Added

  • Add a new verbose configuration setting and command-line option, disabled by default. When enabled, mix test.interactive will print the command it is about to run just before running the tests. (#135)

v4.2.0

20 Mar 04:55
6a14b8a

Choose a tag to compare

Fixed

  • On Unix-like system we no longer start the client application prematurely. Previously, we'd run (essentially) mix do run -e 'Application.put_env(:elixir, :ansi_enabled, true)', test in order to enable ANSI control codes/colors when running tests. However, mix run by default starts the application. Normally this would be fine, but in some cases it can cause problems. We now use mix do eval 'Application.put_env(:elixir, :ansi_enabled, true)', test instead, which delays starting the application until the mix test task runs. (#132)

  • Properly handle the --no-start option to mix test on Unix-like systems. Previously, we were using that option for the mix run -e command we were using to enable ANSI output, but not passing it through to mix test itself. (#132)

Added

  • We make the use of ANSI control code output configurable by adding the --(no-)ansi-enabled command-line option and ansi_enabled configuration setting. Previously, we'd enable ANSI output automatically on Unix-like systems and not on Windows. This is still the default, but now Windows users can opt into ANSI output. Since Windows 10, ANSI support has been available if the appropriate registry key is set. Additional, users on Unix-like systems can opt out of ANSI output if desired. (#133)

v4.1.2

14 Dec 17:59
2da64bb

Choose a tag to compare

Updated

  • Update README with instructions for running mix test.interactive as an independent script that doesn't require installing as a dependency in your application. (#127 - Thanks @andyl!)

  • Allow process_tree versions v0.1.3 and v0.2.0 to provide more flexibility for upstream projects (#128)

v4.1.1

28 Sep 18:57
f159f4f

Choose a tag to compare

Fixed

  • Properly handle mix test.interactive <files_or_patterns...> case. The new command-line parsing added in v4.0 was not properly capturing the filenames/patterns and passing them on to mix test. (#123 - Thanks @jfpedroza for finding and reporting the bug!)

v4.1.0 - More commands!

22 Sep 04:29
9b720e2

Choose a tag to compare

Added

  • This version adds a number of new commands for controlling additional mix test options interactively:

    • d <seed>/d: Set or clear the seed to use when running tests (mix test --seed <seed>). (#112)
    • i <tags...>/i: Set or clear tags to include (mix test --include <tag1> --include <tag2>...). (#113)
    • o <tags...>/o: Set or clear "only" tags (mix test --only <tag1> --only <tag2>...). (#113)
    • x <tags...>/x: Set or clear tags to exclude (mix test --exclude <tag1> --exclude <tag2>...). (#113)
    • m <max>/m: Set or clear the maximum number of failures to allow (mix test --max-failures <max>). (#116)
    • r <count>//r: Set or clear the maximum number of repeated runs until a test failure (mix test --repeat-until-failure <count>). NOTE: mix test only supports this option in v1.17.0 and later. (#118)
    • t: Toggle test tracing on/off (mix test --trace). (#117)
  • There is now a MixTestInteractive.TestRunner behaviour for use in custom test runners. Up until now, custom test runners needed to implement a single run/2 function. This release adds a behaviour that custom test runners can implement to ensure that they've correctly conformed to the interface. Custom test runners don't have to explicitly implement the behaviour, but must implicitly do so as before. (#115)

v4.0.0 - Config-less Operation

14 Sep 03:09

Choose a tag to compare

💥 BREAKING CHANGE 💥

This version introduces the option of "config-less" operation. All configuration settings can now be supplied on the command-line instead. To avoid confusion and clashes with mix test's command-line options, it is now necessary to separate mix test.interactive's options from mix test's options with -- separator.

For example, to use the new --clear option as well as mix test's --stale option, it is necessary to use:

mix test.interactive --clear -- --stale

This affects two of the command-line options that were available in previous versions:

  • mix test.interactive's --no-watch flag. Previously, you could run (for example) mix test.interactive --no-watch --stale. This will no longer work. You must now use mix test.interactive --no-watch -- --stale instead.
  • mix test's --exclude option. mix test.interactive now has its own --exclude option. Previously, you could run (for example) mix test.interactive --exclude some_test_tag and that argument would be forwarded on to mix test. Now you must use mix test.interactive -- --exclude some_test_tag instead.

If you don't use either of these two options, everything should work as before.

To upgrade to this version, you'll need to update any mix aliases or other scripts you may have defined for mix test.interactive. In addition, you and everyone who works in your codebase will need to update any shell aliases they have defined.

Added

  • This version introduces the option of "config-less" operation. All configuration settings can now be supplied on the command-line instead. See the README or run mix help test.interactive for more information. Also, see the 💥 BREAKING CHANGE 💥 section above. (#108)

Changed

  • The Running tests... message that mix test.interactive displays before each test run is displayed in color. This makes it easier to find the most recent test run when scrolling back in your shell. (#109)

v3.2.1

07 Sep 22:57
689257c

Choose a tag to compare

Fixed

  • Fixed handling of custom command/args on Unix-like systems. mix_test_interactive was not correctly ordering the various arguments. (#105 - Thanks @callmiy!)

v3.2.0

25 Aug 05:11
5d56ce6

Choose a tag to compare

Changed

  • Made pattern matching more flexible. Previously, when given multiple patterns, we would not do any file filtering if any of the patterns was a file:line-style pattern. Instead, we'd pass all of the patterns to mix test literally. Now, we run normal file filtering for any non-file:line-style patterns and concatenate the results with any file:line-style patterns. (#99)
  • Added documentation for missing configuration options in the mix task's module documentation. (#100)

v3.1.0

24 Aug 22:34
a606107

Choose a tag to compare

Added

  • Add a new command configuration option that allows use of a custom command instead of mix for running tests. See the README for more details. (#96)

Changed