Fishtape Versions Save

100% pure-Fish test runner

3.0.1

3 years ago
  • Support failed tests using the ! notation (#59).
  • Documented the argument order for the @test function (#58).

3.0.0

3 years ago
  • Rewritten to fully leverage Fish 3.x features and capabilities (#53).
    • No Awk or external commands.
    • No syntax breaking changes.
    • Reduces code by about 1/3.
  • Run tests serially.
    • To enable parallelism, buffering of output from each test file was implemented to produce correct TAP, making pipelines like fishtape | report less useful.
    • Preprocessing of files is no longer necessary, ensuring tests behave more predictably. WYSIWYG.
    • The net result is faster tests for typical usage as there's no asynchronous overhead.
  • Removed setup and teardown functions.
    • No longer needed when running tests serially.
    • The best way to perform work before and after a test is directly in your test file.
  • Removed $current_dirname and $current_filename variables in favor of status dirname or status filename.
  • Escape actual and expected arguments via string escape.
    • Enables presentation of output in the same line without breaking TAP.
  • Added a new at error field to indicate the file name and line where a test failed.
  • Introduced brand new documentation.

2.1.3

4 years ago
  • Fixed report printing in BusyBox awk #50.

2.1.2

5 years ago
  • Don't pipe modified code to fish -c source (#44).
    • Save tests to a temporary file, run with fish, and remove the file afterward.
  • Added tty tests (#44).

2.1.1

5 years ago
  • Show files in tab completions (#43).
    • Don't use -x (exclusive) flag to complete fishtape.
  • Added conditional tests.

2.1.0

5 years ago
  • Added a new $current_dirname variable and renamed $filename to $current_file (#39).
    • Resolved the absolute path of each file.
    • Substituted variable occurrences globally.
  • Reset $status to 0 after running the setup function hook.
  • Extended @test to test array equality/non-equality: @test "description" a b c = a b c.
  • Exit with status 1 if one or more tests fail.
  • Added tests.

2.0.0

5 years ago
  • Made the test syntax compatible with fish_indent (#34).
    • Removed the test..end block syntax in favor of using actual fish syntax.
    • Switched to a new @test declaration to create (still converted to test calls under the hood).
    • If you upgraded from an earlier version, you'll need to make adjustments to your code. Read the migration guide for help.
  • Run tests in parallel (as background jobs) (#31).
  • Removed --pipe in favor of a userland solution like "fish -c "fishtape *.fish | tap-nyan".
  • Removed runtime variables except for $FILENAME (renamed to $filename).