-- 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)