2026-05-07 21:27:41 -04:00
|
|
|
from modjam.log import TsvLogger
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_tsv_logger_writes_all_event_types(tmp_path):
|
|
|
|
|
logger = TsvLogger("Z", tmp_path)
|
|
|
|
|
logger.queued(42, 915.1, 500.0, 7, 5, 22)
|
|
|
|
|
logger.sent(42, 13, "1234.5,0.0,1|abc")
|
|
|
|
|
logger.received(99, "1234.5,1.0,2|xyz")
|
|
|
|
|
logger.close()
|
|
|
|
|
|
|
|
|
|
rows = logger.path.read_text().strip().split("\n")
|
|
|
|
|
assert len(rows) == 3
|
|
|
|
|
|
|
|
|
|
parts0 = rows[0].split("\t")
|
|
|
|
|
assert parts0[1] == "queued"
|
|
|
|
|
assert parts0[2] == "42"
|
|
|
|
|
assert parts0[3] == "915.1,500.0,7,5,22"
|
|
|
|
|
|
|
|
|
|
parts1 = rows[1].split("\t")
|
|
|
|
|
assert parts1[1] == "sent"
|
|
|
|
|
assert parts1[2] == "42"
|
|
|
|
|
assert parts1[3] == "13"
|
|
|
|
|
assert parts1[4] == "1234.5,0.0,1|abc"
|
|
|
|
|
|
|
|
|
|
parts2 = rows[2].split("\t")
|
|
|
|
|
assert parts2[1] == "received"
|
|
|
|
|
assert parts2[2] == "99"
|
|
|
|
|
assert parts2[3] == "1234.5,1.0,2|xyz"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_tsv_logger_creates_log_dir(tmp_path):
|
|
|
|
|
sub = tmp_path / "nested" / "logs"
|
|
|
|
|
logger = TsvLogger("A", sub)
|
|
|
|
|
logger.queued(1, 0, 0, 0, 0, 0)
|
|
|
|
|
logger.close()
|
|
|
|
|
assert sub.is_dir()
|
|
|
|
|
assert logger.path.exists()
|
2026-05-07 21:51:12 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_tsv_logger_filename_includes_test_name(tmp_path):
|
|
|
|
|
logger = TsvLogger("A", tmp_path, test_name="run42")
|
|
|
|
|
logger.close()
|
|
|
|
|
assert logger.path.name.startswith("run42-A-")
|
|
|
|
|
assert logger.path.name.endswith(".tsv")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_tsv_logger_filename_without_test_name(tmp_path):
|
|
|
|
|
logger = TsvLogger("A", tmp_path)
|
|
|
|
|
logger.close()
|
|
|
|
|
assert logger.path.name.startswith("A-")
|