mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-19 14:51:27 +00:00
27 lines
1.0 KiB
Plaintext
27 lines
1.0 KiB
Plaintext
// This exists so that logs are the designated format. If they arent, it breaks logging tooling. Also 8601 is king.
|
|
#define TEST_MESSAGE "Log time format test"
|
|
#define TEST_LOG_FILE "data/ci_testing.log"
|
|
|
|
/proc/generate_test_log_message(time)
|
|
var/date_portion = time2text(time, "YYYY-MM-DD")
|
|
var/time_portion = time2text(time, "hh:mm:ss")
|
|
return "\[[date_portion]T[time_portion]] [TEST_MESSAGE]"
|
|
|
|
|
|
/datum/unit_test/log_format/Run()
|
|
// Generate a list of valid log timestamps. It can be the current time, or up to 2 seconds later to account for spurious CI lag
|
|
var/valid_lines = list(
|
|
"[generate_test_log_message(world.timeofday)]",
|
|
"[generate_test_log_message(world.timeofday + 10)]",
|
|
"[generate_test_log_message(world.timeofday + 20)]",
|
|
)
|
|
|
|
rustg_log_write(TEST_LOG_FILE, TEST_MESSAGE)
|
|
|
|
var/list/lines = file2list(TEST_LOG_FILE)
|
|
if(!(lines[1] in valid_lines))
|
|
Fail("RUSTG log format is not valid 8601 format. Expected '[generate_test_log_message(world.timeofday)]', got '[lines[1]]'")
|
|
|
|
#undef TEST_MESSAGE
|
|
#undef TEST_LOG_FILE
|