James Keenan (via RT) a écrit :
# New Ticket Created by James Keenan # Please include the string: [perl #53126] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=53126 >


I noticed that a new step, auto::digest, has been added to the list of Parrot configuration steps. Two issues:

1. The commit message suggests that this is a refactoring of code previously found elsewhere in the configuration system:

r27060 | fperrad | 2008-04-20 15:26:38 -0400 (Sun, 20 Apr 2008) | 2 lines
[digest]- refactor digest PMC generation (now a config/gen step)

However, when I grep config/*/*.pm for 'digest', the only mention I get (other than in config/gen/digest.pm itself) is here:

config/auto/crypto.pm:68: $conf->data->set( has_crypto => $has_crypto ); # for dynpmc.in & digest.t

So I don't see where the code was refactored from, and I don't understand the rationale for the addition of this step.

Previously, the generation was done by src/dynpmc/Makefile (generated from config/gen/makefiles/dynpmc.in) and use some perl -pe "s///" from a template src/dynpmc/mdx.pmc.
So it was not the standard way, and it was not enought smart :
two files SHA256 & SHA512 need different behaviors for OpenSSL 0.9.7 and 0.9.8.


2. When I now configure with 'perl Configure.pl --test', I get this warning, both at the start of configuration and in t/configure/025- options_test.t andn t/configure/049-options_test.t:

No tests exist for configure step gen::digest at Configure.pl line 14

... which means we've added a configuration step class with no corresponding tests. (Until yesterday, configuration would have simply died at this point, but I acknowledged a request to have it just generate a warning instead.) The test file could be as simple as a two-test file, with one test saying use_ok the new step and another saying 'pass'.

I prefer the die behavior, because with it, I don't forget to add tests with auto::crypto.

Now, I think the name gen::digest is not good.
I prefer gen::crypto because :
1) same as auto::crypto
2) libcrypto contains cypher algo (not only digest), so we could add some PMC wrapper (for example : DES, ...)

François.



Thank you very much.
kid51






Reply via email to