MIT licensed by Albert Krewinkel
Maintained by [email protected]
This version can be pinned in stack with:tasty-lua-1.1.1@sha256:16be526d9b5ddff7d33bc0a3a3f7820a415a6a6bdcbe5ee473ad9e0c1bf212a0,3092

Allow users to define tasty tests from Lua.



tasty-lua uses PVP Versioning.


Released 2024-01-18.

  • Relaxed upper bound for tasty, text, and bytestring, allowing tasty-1.5, text-2.1, and bytestring-0.12.


Released 2023-03-13.

  • Fixed peekOutcome, allowing any result type. This gives much better results when working with custom error objects.


Released 2022-02-19.

  • Relaxed upper bound for hslua-* packages to allow 2.2 versions.


Released 2022-01-29.

  • Support for property testing: the new functions forall and a set of generators are provided for property testing. The table tasty.arbitrary holds default generators for basic types:

    • tasty.arbitrary.boolean
    • tasty.arbitrary.integer
    • tasty.arbitrary.number
    • tasty.arbitrary.string

    Additional generators can be added via the Haskell function registerArbitrary.

  • Allow dot instead of underscore in assertion functions: It’s often easier to type dot than an underscore, so writing or assert.are.x is an acceptable alternative to assert.is_x and assert.are_x, respectively.

  • Added new assertion functions is_true and is_false, error_equals, and error_satifies.

  • Improved info message of assert.error_matches; the message now includes the expected pattern as well as the actual error.

  • Relaxed upper bound for hslua-core, hslua-marshalling.


Released 2021-01-11.

  • Relaxed upper bound for tasty, allowing tasty-1.4.*.


Released 2020-10-16.

  • Relaxed upper bound for hslua, allow hslua-1.3.*.


Released 2020-08-14.

  • CI now also builds with for GHC 8.10.

  • Errors are now explicitly converted to strings before matched when using error_matches.

  • Relax version limits for tasty and hslua, allowing tasty-1.3.* and hslua-1.2.*.


Released 2020-01-26.

  • Avoid compilation warnings on GHC 8.2 and older. Monoid instances on older GHC versions require an explicit implementation of mappend. Newer instances use (<>) from Semigroup.

  • Improved CI tests: build with more GHC versions, build with stack, and ensure that there are no HLint errors.


Released 2020-01-26.

  • Fixed an issue with error reporting: the bug caused test-group names to be added multiple times when reporting a test failure.


Released 2019-06-19.

  • List all files in cabal file: stack.yaml and test/tasty-lua.lua were added to the list of extra source files.


Released 2019-05-19.

  • Renamed testFileWith to testLuaFile, and testsFromFile to translateResultsFromFile.

  • Fixed and extended test summary: if all tests pass, a brief summary about the number of passed tests is show. Furthermore, some bugs (caused by a misused Foldable instance) have been fixed.

  • Code has been split into multiple sub-modules.


Released 2019-05-17.

  • Add new function testFileWith, allowing to run a file as a single test case. Lua tests should be defined with tasty.lua. Failures, if any, are summarized in the failure message of the test.


Released 2019-05-11.

  • First version. Released on an unsuspecting world.