55 lines
1.6 KiB
Python
55 lines
1.6 KiB
Python
import unittest
|
|
|
|
from audit_red_suite import parse_log
|
|
|
|
|
|
class AuditRedSuiteTests(unittest.TestCase):
|
|
def test_parses_result_split_by_captured_output(self) -> None:
|
|
audit = parse_log(
|
|
"""
|
|
test noisy ... diagnostic output
|
|
more diagnostic output
|
|
ok
|
|
test expected_panic ...
|
|
thread 'expected_panic' panicked at test.rs:1:1:
|
|
expected panic
|
|
ok
|
|
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
|
|
"""
|
|
)
|
|
self.assertEqual(audit.passed_names, ("noisy", "expected_panic"))
|
|
|
|
def test_associates_standardized_boundaries_with_failed_tests(self) -> None:
|
|
audit = parse_log(
|
|
"""
|
|
thread 'direct' panicked at generated.rs:1:1:
|
|
unimplemented C# API member: M:Example.Direct
|
|
test direct ... FAILED
|
|
thread 'typed' panicked at test.rs:1:1:
|
|
assertion failed: left == right
|
|
left: Some(NotImplemented { csharp_member: "M:Example.Typed" })
|
|
right: Some(ArgumentNull)
|
|
test typed ... FAILED
|
|
test support ... ok
|
|
test result: FAILED. 1 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out
|
|
"""
|
|
)
|
|
self.assertEqual(audit.members["M:Example.Direct"], 1)
|
|
self.assertEqual(audit.members["M:Example.Typed"], 1)
|
|
self.assertEqual(audit.nonstandard_failures, ())
|
|
|
|
def test_reports_nonstandard_failure(self) -> None:
|
|
audit = parse_log(
|
|
"""
|
|
thread 'broken' panicked at test.rs:1:1:
|
|
assertion failed
|
|
test broken ... FAILED
|
|
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
|
|
"""
|
|
)
|
|
self.assertEqual(audit.nonstandard_failures, ("broken",))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|