#348: test_file_coverage.t fails to find tests for MD2 and other crypto PMCs.
-------------------+--------------------------------------------------------
Reporter: Util | Owner:
Type: bug | Status: new
Priority: minor | Milestone:
Component: none | Version: trunk
Severity: low | Keywords:
Lang: | Patch:
Platform: all |
-------------------+--------------------------------------------------------
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.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/348>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets