Files
kimi-game/tests/runner_love.lua
T
2026-07-21 16:28:15 +02:00

32 lines
1.0 KiB
Lua

-- Permet de lancer les tests avec LÖVE : love . --tests
-- Ce fichier est chargé par main.lua quand l'argument --tests est présent.
-- Il exécute tests/run_tests.lua dans l'environnement courant puis quitte.
local oldPrint = print
local lines = {}
print = function(...)
local parts = {}
for i = 1, select("#", ...) do parts[#parts + 1] = tostring(select(i, ...)) end
lines[#lines + 1] = table.concat(parts, "\t")
oldPrint(...)
end
-- os.exit ne fonctionne pas sous love : on intercepte
local exitCode = 0
os.exit = function(code) exitCode = code or 0; error({ __testDone = true }) end
local chunk, err = loadfile("tests/run_tests.lua")
if not chunk then
oldPrint("Impossible de charger les tests : " .. tostring(err))
love.event.quit(1)
return
end
local ok, e = pcall(chunk)
if not ok and not (type(e) == "table" and e.__testDone) then
oldPrint("Erreur pendant les tests : " .. tostring(e))
love.event.quit(1)
return
end
oldPrint(table.concat(lines, "\n"))
love.event.quit(exitCode)