Files
tgstation-server/tests/DMAPI/test_setup.dm
Jordan Dominion 8f28ea0042 Add WorldIteration to DreamDaemon response.
- Fix race condition with `TellWorldToReboot`
- Additional test sanity
2025-08-04 23:01:50 -04:00

36 lines
1.0 KiB
Plaintext

/world/New()
log << "Starting test: [json_encode(params)]"
text2file("SUCCESS", "test_success.txt")
world.RunTest()
/world/Error(exception/E, datum/e_src)
var/list/usrinfo = null
var/list/splitlines = splittext(E.desc, "\n")
var/list/desclines = list()
for(var/line in splitlines)
if(length(line) < 3 || findtext(line, "source file:") || findtext(line, "usr.loc:"))
continue
if(findtext(line, "usr:"))
if(usrinfo)
desclines.Add(usrinfo)
usrinfo = null
continue // Our usr info is better, replace it
if(copytext(line, 1, 3) != " ")//3 == length(" ") + 1
desclines += (" " + line) // Pad any unpadded lines, so they look pretty
else
desclines += line
if(usrinfo) //If this info isn't null, it hasn't been added yet
desclines.Add(usrinfo)
FailTest("Runtime Error: [E]")
/proc/FailTest(reason)
world.log << "TEST ERROR DM-SIDE: [reason]"
fdel("test_success.txt")
text2file(reason, "test_fail_reason.txt")
world.log << "Terminating..."
del(world)
sleep(world.tick_lag) // https://www.byond.com/forum/post/2894866