PackageTrack
Sign in Get early access

datatest-stable

Data-driven tests that work on stable Rust

0.3.3 4.2M downloads/mo #4899 most downloaded on crates.io nextest-rs/datatest-stable

What this package is like to depend on

Last release 10 months ago

29 Sep 2025

Release timing varies

gaps range from 2 weeks to 1.1 years

Nearly every release is documented

notes for 18 of 18 stable releases

1 version withdrawn

withdrawn after publishing

5 years old

19 releases · first in 2021

1 release in the last 12 months

see the full history below

Release timeline

19 releases · Apr 2021 to Sep 2025
2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 19
  1. 0.3.3 29 Sep 2025
    Release notes

    Fixed

    Replaced obsolete doc_auto_cfg with doc_cfg, to fix Rust nightly builds with the doc_cfg flag enabled.

    Open source →
    Release notes

    Fixed

    Replaced obsolete doc_auto_cfg with doc_cfg, to fix Rust nightly builds with the doc_cfg flag enabled.

    Open source →
  2. 0.3.2 29 Dec 2024
    Release notes

    Added

    • pattern is now optional in the harness! macro. If not specified, the default pattern is
      r".*" (match all files).

    Fixed

    • Restored the ability to use absolute paths as the root argument.
    Open source →
    Release notes

    Added

    • pattern is now optional in the harness! macro. If not specified, the default pattern is r".*" (match all files).

    Fixed

    • Restored the ability to use absolute paths as the root argument.
    Open source →
  3. 0.3.1 26 Dec 2024
    Release notes

    Fixed

    Fixed documentation for include_dir invocations. They must typically be called
    via include_dir!("$CARGO_MANIFEST_DIR/path/to/data").

    Open source →
    Release notes

    Fixed

    Fixed documentation for include_dir invocations. They must typically be called via include_dir!("$CARGO_MANIFEST_DIR/path/to/data").

    Open source →
  4. 0.3.0 25 Dec 2024
    Release notes

    Added

    • Support for embedding data into the test binary via an optional include-dir
      feature. For more information and recommendations for when to use this, see the
      readme
      .

    Changed

    • The macro call format has changed to:

      datatest_stable::harness! {
          { test = fn_name, path = &include_dir!("path/to/data"), pattern = r"^.*$" },
          // ...
      }

      This is both a nicer format for expressing multiple tests, and a signal to
      indicate the other breaking changes in this release.

    • Regex patterns now match against the path relative to the include directory, rather
      than paths with respect to the crate root. This change was made for uniformity with the
      include_dir implementation.

    • On Windows, paths are now universally normalized to use forward slashes. This change
      was made to ensure that test names and paths are consistent across platforms.

    Open source →
    Release notes

    Added

    • Support for embedding data into the test binary via an optional include-dir feature. For more information and recommendations for when to use this, see the readme.

    Changed

    • The macro call format has changed to:

      datatest_stable::harness! {
          { test = fn_name, path = &include_dir!("path/to/data"), pattern = r"^.*$" },
          // ...
      }
      

      This is both a nicer format for expressing multiple tests, and a signal to indicate the other breaking changes in this release.

    • Regex patterns now match against the path relative to the include directory, rather than paths with respect to the crate root. This change was made for uniformity with the include_dir implementation.

    • On Windows, paths are now universally normalized to use forward slashes. This change was made to ensure that test names and paths are consistent across platforms.

    Open source →
  5. 0.2.10 08 Dec 2024
    Release notes
    • Internal dependency updates: update libtest-mimic to 0.8.1, and fancy-regex to 0.14.0.
    • Update MSRV to Rust 1.72.
    Open source →
    Release notes
    • Internal dependency updates: update libtest-mimic to 0.8.1, and fancy-regex to 0.14.0.
    • Update MSRV to Rust 1.72.
    Open source →
  6. 0.2.9 26 Apr 2024
    Release notes

    Added

    Previously, the test functions supported were fn(&Path) -> Result<()> and fn(&Utf8Path) -> Result<()>. This release adds additional supported functions:

    • fn(&P, String) -> datatest_stable::Result<()> where P is Path or Utf8Path. If the
      extra String parameter is specified, the contents of the file will be loaded and passed in
      as a string (erroring out if that failed).
    • fn(&P, Vec<u8>) -> datatest_stable::Result<()> where P is Path or Utf8Path. If the
      extra Vec<u8> parameter is specified, the contents of the file will be
      loaded and passed in as a Vec<u8> (erroring out if that failed).
    Open source →
    Release notes

    Added

    Previously, the test functions supported were fn(&Path) -> Result<()> and fn(&Utf8Path) -> Result<()>. This release adds additional supported functions:

    • fn(&P, String) -> datatest_stable::Result<()> where P is Path or Utf8Path. If the extra String parameter is specified, the contents of the file will be loaded and passed in as a string (erroring out if that failed).
    • fn(&P, Vec<u8>) -> datatest_stable::Result<()> where P is Path or Utf8Path. If the extra Vec<u8> parameter is specified, the contents of the file will be loaded and passed in as a Vec<u8> (erroring out if that failed).
    Open source →
  7. 0.2.8 25 Apr 2024
    Release notes

    Fixed

    • Fixed quadratic performance issue with nextest, where datatest-stable would iterate over the
      entire list of files for each test. Thanks @zaneduffield for
      your first contribution!
    Open source →
    Release notes

    Fixed

    • Fixed quadratic performance issue with nextest, where datatest-stable would iterate over the entire list of files for each test. Thanks @zaneduffield for your first contribution!
    Open source →
  8. 0.2.7 21 Apr 2024
    Release notes

    Changed

    • Switched to the fancy-regex crate, which allows for matching against regexes with
      lookahead/behind and backreferences. Thanks @webbdays for your
      first contribution!
    • MSRV updated to Rust 1.66.
    Open source →
    Release notes

    Changed

    • Switched to the fancy-regex crate, which allows for matching against regexes with lookahead/behind and backreferences. Thanks @webbdays for your first contribution!

    • MSRV updated to Rust 1.66.

    Open source →
  9. 0.2.6 09 Apr 2024
    Release notes
    • Update to libtest-mimic 0.7.2, and use the upstream implementation of ExitCode.
    Open source →
    Release notes
    • Update to libtest-mimic 0.7.2, and use the upstream implementation of ExitCode.
    Open source →
  10. 0.2.5 09 Apr 2024
    Release notes
    • Exit main via ExitCode rather than std::process::exit(). This appears to fix coverage on
      Windows.
    Open source →
    Release notes
    • Exit main via ExitCode rather than std::process::exit(). This appears to fix coverage on Windows.
    Open source →
  11. 0.2.4 09 Apr 2024
    Release notes

    This is a periodic maintenance release.

    • Update internal dependency versions, including libtest-mimic to 0.7.0.
    • Update "docs (main)" link to the new location at https://datatest-stable.nexte.st.
    • Update MSRV to Rust 1.65.
    Open source →
  12. 0.2.3 29 Aug 2023
    Release notes

    Updated README.

    Open source →
  13. 0.2.2 29 Aug 2023
    Release notes

    Added

    • Restored compatibility with fn(&Path) -> Result<()>. The harness now can take either fn(&Path) -> Result<()> or fn(&Utf8Path) -> Result<()>.
    Open source →
  14. 0.2.1 29 Aug 2023
    Release notes

    Changed

    • The test signature is now fn(&Utf8Path) rather than fn(&Path). If necessary, a Utf8Path can be converted to a &Path with .as_ref() or .as_std_path().
    • Non-Unicode paths now consistently produce errors. Previously, the treatment of such paths was inconsistent -- they would either be skipped or produce errors.
    • Internal dependency update: libtest-mimic updated to version 0.6.1.
    • MSRV updated to Rust 1.60.
    Open source →
  15. 0.2.0 29 Aug 2023
    Release notes

    This version had a publishing issue.

    Open source →
  16. 0.1.3 15 Aug 2022
    Release notes

    Changed

    • Errors are now displayed with the Debug implementation, which prints out the full error chain with libraries like anyhow or eyre, rather than the Display implementation. Thanks Alex Badics for your first contribution!
    • MSRV updated to Rust 1.58.

    Internal improvements

    • datatest-stable now uses libtest-mimic 0.5.2. Thanks [Lukas Kalbertodt] (maintainer of libtest-mimic) for your first contribution!
    Open source →
  17. 0.1.2 22 May 2022
    Release notes

    Changed

    There are no functional changes in this release.

    Open source →
  18. 0.1.1 17 Apr 2021
    Release notes

    Added

    • Initial release with basic support for data-driven tests.

    (Version 0.1.0 was yanked because of a metadata issue.)

    Open source →
  19. 0.1.0 17 Apr 2021 withdrawn

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive