Ticket #348 (closed bug: fixed)
test_file_coverage.t fails to find tests for MD2 and other crypto PMCs.
| Reported by: | Util | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | |
| Component: | none | Version: | trunk |
| Severity: | low | Keywords: | |
| Cc: | Language: | ||
| Patch status: | Platform: | all |
Description
When running make distro_tests, t/distro/test_file_coverage.t fails:
# Failed test 'there are PMC files for all test files in t/pmc' # at t/distro/test_file_coverage.t line 57. # files in src/pmc but not in test dir: # packfileannotation # packfileannotationkeys # packfileannotations # Failed test 'there are PMC files for all test files in t/dynpmc' # at t/distro/test_file_coverage.t line 61. # files in src/dynpmc but not in test dir: # md2 # md4 # md5 # ripemd160 # sha # sha1 # sha256 # sha512
I researched the dynpmc part of this over a month ago, but lost the notes in a crash. Memory dump follows:
The problem is that the test expects a one-to-one correspondence between each PMC and .t file. The crypto PMCs are not one-to-one with tests, or even with objects!
Several crypto .pmc files are generated from config/gen/crypto/digest_pmc.in, which then all combine into a single src/dynpmc/digest_group.bundle file.
All the functions of all the different PMCs in the bundle file are then tested by a single .t file: t/dynpmc/digest.t.
Either test_file_coverage.t needs to become smart enough to handle these "split/bundle" cases (sounds best to me), or the t/dynpmc/digest.t file needs to be split into multiple (nearly identical and redundant) .t files corresponding to the PMCs.
