Heureka! found out that the C++ standard library exposes a cross vendor C++ ABI, which amongst others allows to show object code names and type-IDs in the language-level, human readable unmangeld form. Of course, actual application code should not rely on such a internal representation, yet it is of tremendous help when writing and debugging unit tests. Signed-off-by: Ichthyostega <prg@ichthyostega.de>
58 lines
1.9 KiB
Text
58 lines
1.9 KiB
Text
TESTING "Test support and helpers" ./test-suite --group=common
|
|
|
|
|
|
|
|
TEST "Test support functions" TestHelper_test <<END
|
|
out: [a-z0-9]{80}$
|
|
out: Displaying types and sizes....
|
|
out: sizeof..theUniverse.+ = 42
|
|
out: sizeof..just a char.+ = 1
|
|
out: sizeof.+lib.+test.+test.+Murpf.+ = 1
|
|
out: sizeof.+lib.+test.+test.+Wrmrmpft.+ = 2
|
|
out: sizeof.+lib.+test.+test.+Wrmrmpft.+ = 3
|
|
out: sizeof.+lib.+test.+test.+Wrmrmpft.+Murpf.+ = 1
|
|
END
|
|
|
|
|
|
TEST "Helper to show demangled C++ names" TestHelperDemangling_test <<END
|
|
out: .+lib.test.test.Space.+Outer.+Inner
|
|
out-lit: lib::test::test::Space const* (*)(lib::test::test::Outer<lib::test::test::Space>::Inner const&&)
|
|
END
|
|
|
|
|
|
TEST "Testsuite option handling" TestOption_test <<END
|
|
out: Testing invocation with cmdline: ...
|
|
out: --> Testgroup=ALL
|
|
out: --> Test-ID =--missing--
|
|
out: --> remaining=
|
|
out: Testing invocation with cmdline: --help...
|
|
out: --> Testgroup=ALL
|
|
out: --> Test-ID =--missing--
|
|
out: --> remaining=
|
|
out: Testing invocation with cmdline: --group TestGroupID...
|
|
out: --> Testgroup=TestGroupID
|
|
out: --> Test-ID =--missing--
|
|
out: --> remaining=
|
|
out: Testing invocation with cmdline: SingleTestID...
|
|
out: --> Testgroup=ALL
|
|
out: --> Test-ID =SingleTestID
|
|
out: --> remaining=SingleTestID
|
|
out: Testing invocation with cmdline: SingleTestID --group TestGroupID...
|
|
out: --> Testgroup=TestGroupID
|
|
out: --> Test-ID =SingleTestID
|
|
out: --> remaining=SingleTestID
|
|
out: Testing invocation with cmdline: --group TestGroupID SingleTestID ...
|
|
out: --> Testgroup=TestGroupID
|
|
out: --> Test-ID =SingleTestID
|
|
out: --> remaining=SingleTestID
|
|
out: Testing invocation with cmdline: --group TestGroupID SingleTestID spam eggs...
|
|
out: --> Testgroup=TestGroupID
|
|
out: --> Test-ID =SingleTestID
|
|
out: --> remaining=SingleTestID spam eggs
|
|
out: Testing invocation with cmdline: SingleTestID spam --group TestGroupID --eggs...
|
|
out: --> Testgroup=TestGroupID
|
|
out: --> Test-ID =SingleTestID
|
|
out: --> remaining=SingleTestID spam --eggs
|
|
END
|
|
|
|
|