: $Id: README 3072 2014-06-23 03:08:44Z kaiwang27 $ Libdwarf test suite use XML files to describe test case, invocable component and test purpose. Each test case can have several XML files, and each XML file corresponds to exact one invocable component. For example, test case dwarf_get_address_size contains following XML file: 4 Element 'ic' defines invocable component, in libdwarf test suite, one invocable component can be invoked on only one test object (dt32-g1 in this case). Element 'tp' defines a test purpose. A 'ic' can have multiple 'tp' (only one in this case). Element 'vc' defines a "variable check", which means verify varible's value against constant. In this example, test purpose tp_dwarf_get_address_size will verify that variable addr_size has value 4. When a test case is compiled nomarlly, during test case startup, the test driver will parse the XML files and report to TET how many IC and TP this test case have. When each TP is executed, test driver will verify variable values according to the list of VC defined in that TP. When a test case is compiled with 'make TCGEN=yes', it will instead link with SGI libdwarf and genearte XML files during TP execution. These generated XML files can then be used directly to test this libdwarf implementation. For example, to generate XML files for test case dwarf_next_cu_header: % cd /path/to/elftoolchain/test/libdwarf/ # unsetenv TET_ROOT % make clean && make TCGEN=yes % cd ts/dwarf_next_cu_header % setenv TET_ROOT /path/to/elftoolchain/test/tet % env ICLIST=dt32-g1:dt64-g1:ec32-g1:ec64-g1:ld_symver.o-64-g1 ./tc_dwarf_next_cu_header (ICLIST defines a list of test objects on which the test case generates. One gzipped XML file is generated for each test object.)