includes :file :assert :subprocess
overall_results = [tests: 0 assertions: 0 failures: 0 skips: 0]
object.add_results = { r |
r.each { k, v |
overall_results[k] = overall_results[k] + v
}
}
[:array :ast :base64 :core :enumerable :examples :file :function :hash :json :misc
:number :object :parser :peg :regex :seq :stdlib :string :var-assigner].shuffle!.each { name |
#Force recompilation
true? file.exists?("test/test-#{name}.lua")
{ file.delete "test/test-#{name}.lua" }
protect { p "Loading #{name} tests..."; import "test/test-#{name}" } rescue: { e | p e }
p "-" * 50
#Clean up Lua files
true? file.exists?("test/test-#{name}.lua")
{ file.delete "test/test-#{name}.lua" }
}
file.delete "test/test.lua"
date = subprocess.run('date "+%b %d, %Y"').strip!
p "Test results: #{overall_results[:tests]} tests, #{overall_results[:assertions]} assertions, #{overall_results[:skips]} tests skipped, #{overall_results[:failures]} failures on #{date}."
true? overall_results[:failures] == 0
{ exit 0 }
{ exit 1 }