runner.lua 725 B

12345678910111213141516171819202122232425262728293031323334
  1. lust = require 'tests/lust'
  2. Rx = require 'rx'
  3. for _, fn in pairs({'describe', 'it', 'test', 'expect', 'spy'}) do
  4. _G[fn] = lust[fn]
  5. end
  6. if arg[1] then
  7. arg[1] = arg[1]:gsub('^(tests/).+', ''):gsub('%.lua$', '')
  8. dofile('tests/' .. arg[1] .. '.lua')
  9. else
  10. local files = {
  11. 'observer'
  12. }
  13. for i, file in ipairs(files) do
  14. dofile('tests/' .. file .. '.lua')
  15. if next(files, i) then
  16. print()
  17. end
  18. end
  19. end
  20. local red = string.char(27) .. '[31m'
  21. local green = string.char(27) .. '[32m'
  22. local normal = string.char(27) .. '[0m'
  23. if lust.errors > 0 then
  24. io.write(red .. lust.errors .. normal .. ' failed, ')
  25. end
  26. print(green .. lust.passes .. normal .. ' passed')
  27. if lust.errors > 0 then os.exit(1) end