Description
I tweeked the TDML runner to reject duplicate test names in the same TDML file, and I found that the file Functions.tdml has quite a few duplicates in it. These tests are passing because the first one found is used. The later test with duplicate name is not used.
However, really we should not be depending on this. All tests in a TDML file should have unique names. The schema for TDML files is supposed to have a uniqueness constraint that assures this, but it seems either that uniqueness constraint is not properly expressed, or we're invoking the validation of TDML files without the options that tell it to validate the key/uniqueness constraints (which can be disabled because they are so expensive to execute by the Xerces XML validator). I believe the TDML runner should turn on "full schema checking" or something like that to get the uniqueness constraints checked. (TDML runner defect is DFDL-1299)
Here's the list of duplicates from Functions.tdml
More than one test case for name 'hexBinary_constructor_03'.
More than one test case for name 'nonNeg_constructor_03'.
More than one test case for name 'byte_constructor_03'.
More than one test case for name 'uint_constructor_01'.
More than one test case for name 'hexBinary_constructor_04'.
More than one test case for name 'uint_constructor_04'.
More than one test case for name 'byte_constructor_04'.
More than one test case for name 'ubyte_constructor_01'.
More than one test case for name 'ubyte_constructor_02'.
More than one test case for name 'ubyte_constructor_03'.
More than one test case for name 'hexBinary_constructor_01'.
More than one test case for name 'nonNeg_constructor_01'.
More than one test case for name 'byte_constructor_01'.
More than one test case for name 'uint_constructor_03'.
More than one test case for name 'date_constructor_01'.
More than one test case for name 'hexBinary_constructor_02'.
More than one test case for name 'uint_constructor_02'.
More than one test case for name 'nonNeg_constructor_04'.
More than one test case for name 'byte_constructor_02'.
More than one test case for name 'ubyte_constructor_04'.