Test suite is unhygienic

The test suite seems to depend on state from previous tests to pass sometimes.

Run against 85449ab (1.3.0-dev), lua 5.4.2


  • make test -> all passing
  • Disable all suites in test/init.lua aside from failures
  • make test -> fails to run
  • Re-enable core (so core + failures)
  • make test -> all passing

Or a tighter focus:

  • Disable all suites but core && failures in test/init.lua.
  • Disable all tests in those suites except test/core#test-nest && test/failures#test-suggestions
  • make test -> 2/2 tests passing
  • Disable test/core#test-nest
  • make test -> test fails


The compiler plugin used in failures#test-macro-traces would be retained in subsequent tests until one of the repl tests seemed to unintentionally remove it, see https://github.com/bakpakin/Fennel/pull/427#issuecomment-1138286136

(The compiler plugin test currently includes a work-around via an internal guard to only intentionally fail once.)

Assigned to
1 year, 4 months ago
1 year, 1 day ago
No labels applied.

~technomancy 1 year, 4 months ago

I have a workaround in 29fcf70 but it's not ideal as it just redundantly reloads the compiler before kicking things off. Ideally we could load everything we need the bootstrap compiler for, then load the real one. I'm having some trouble with my attempts to do that, so I've added a temporary workaround.

~technomancy REPORTED FIXED 1 year, 1 day ago

Looks like f706c61 fixes this!

Register here or Log in to comment, or comment via email.