Ticket #348 (closed bug: fixed)

Opened 5 years ago

Last modified 5 years ago

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.

Change History

Changed 5 years ago by fperrad

  • status changed from new to closed
  • resolution set to fixed

Fixed in r36868, without redundance or duplication. Now, each crypto PMC has its own test file that is generated from config/gen/crypto/digest_t.in

Note: See TracTickets for help on using tickets.