----- Original Message ----- From: "Slaven Rezic" <[EMAIL PROTECTED]>
To: "Aristotle Pagaltzis" <[EMAIL PROTECTED]>
Cc: <cpan-testers-discuss@perl.org>
Sent: Thursday, October 23, 2008 6:54 AM
Subject: Re: CPAN.pm and the tester's Inline directory


Aristotle Pagaltzis <[EMAIL PROTECTED]> writes:

* David Cantrell <[EMAIL PROTECTED]> [2008-10-22 16:55]:
> There's two potential problems here. The first is that I'd
> already tested something else Inline-ish in that testing run,
> which hadn't cleared up properly after itself.

Yes - I think that's likely.


Presumably this could happen in realworld scenarios where a user
is installing something with multiple Inline::* dependencies, no?
If so, isn’t it a problem that needs to be fixed rather than
masked?

Like this bug report?

http://rt.cpan.org/Ticket/Display.html?id=29326


That type of bug is fixed if each version of perl has its own specific Inline working directory. The issue I'm talking about is not fixed so simply.

If, say, your Inline working directory is /home/david/.inline ... and you test Inline::CPP ... and after the tests have been run the config file in /home/david/.inline does *not* get cleaned up, then when you subsequently test PDL, the inlinepdlpp.t tests are bound to fail because that pre-existing config file (that the Inline::CPP tests wrote) won't specify 'Pdlpp'.

The two guaranteed-to-work solutions that I can think of are:
1) Make sure the config file in the Inline working directory is cleaned up after each Inline-ish module is tested; 2) Provide a separate Inline working directory for each inline-ish module that is tested.

Otherwise, there's a risk of producing the false failure we're seeing.

Note that 2) will also take care of the bug that Slaven linked to above, but that 1) won't.

I should mention that this problem is not limited to david, alone. There are other testers reporting the same failure. Interestingly enough, 5.6.2 builds (including David's) seem to be avoiding this issue with PDL - I'm assuming it's because the 5.6.2 Inline working directories don't already contain a config file that's going to throw a spanner in the works - but it's a little curious ....

It looks like the next devel release of PDL might try to set the Inline working directory to a specific directory other than the PERL_INLINE_DIRECTORY. However, I suspect that the PERL_INLINE_DIRECTORY environment variable might override that setting. (The default Inline working directory is ./_Inline, and the PERL_INLINE_DIRECTORY obviously overrides it ... so I'm thinking that *any* directory that Inline tries to set will, likewise, be overridden ... we'll have to wait and see.)

Inline has always relied on the config file in this way - I don't know why. It's known behaviour, as reflected by the accuracy of the advice that the error message provides. It's unlikely to change - if for no other reason than it's unlikely that Ingy will ever update Inline ... nor is it likely that he will hand maintenance of Inline over to anyone else. IOW, I think we need to solve this issue in terms that don't involve modifying Inline.

Thanks for the replies.

Cheers,
Rob

Reply via email to