Subject: | unitcheckify breaks when usemultiplicity is not defined |
Hi there,
Ran into an issue when using Check::UnitCheck on a version of perl
compiled without MULTIPLICITY enabled (seen on 5.10.1 and 5.12.1), also
shows up in some of the test reports -
http://www.cpantesters.org/cpan/report/53def058-305e-11e0-bb29-ad544afd17af
for example.
It appears that embedvar.h only defines PL_unitcheckav when MULTIPLICITY
is on:
#if defined(MULTIPLICITY)
...
#define PL_unitcheckav (vTHX->Iunitcheckav)
...
but I've found things to work reliably so far when just checking for the
a Perl version later than 5.9.x, by enabling the commented-out version
check instead of the direct check for PL_unitcheckav.
best regards,
Tom
Subject: | UnitCheck.xs.patch |
--- ../Check-UnitCheck-0.12-0BCyEX/UnitCheck.xs 2006-10-28 18:26:30.000000000 +0100
+++ UnitCheck.xs 2011-02-06 05:51:04.000000000 +0000
@@ -6,9 +6,10 @@
int _add_cv_to_reqd(CV *cv);
/* work out which function to really call, ifdefs probably sensible here */
-/*#if (PERL_VERSION >= 9 && PERL_SUBVERSION >= 5) \
- || (PERL_VERSION >= 10)*/
-#ifdef PL_unitcheckav
+#if (PERL_VERSION >= 9 && PERL_SUBVERSION >= 5) \
+ || (PERL_VERSION >= 10)
+/* PL_unitcheckav isn't a #define unless usemultiplicity is enabled
+ #ifdef PL_unitcheckav */
/* We have a UNITCHECK to use, as we're getting called thus:
COMPILATION UNIT:
some code