in reply to Re^2: PREREQ_PM ignored by cpan-tester
in thread PREREQ_PM ignored by cpan-tester

"But giving yourself a PASS just because the X server isn't present is a bit cheeky IMHO."

I don't really disagree with this. On the other hand, getting a FAIL "just because the X server isn't present" doesn't present potential users of the module with a realistic report either.

Anyway, in the CPAN Testers Wiki, that's the documented way to do it. Here's what it says:

"Why are you testing (and failing) my Tk-ish module without an X server?"

Until very recently, Tk wouldn't build without a display. As a result, the testing software would look at the test failures for your module and think "ah well, one of his pre-requisites failed to build, so it's not his fault" and throw the report away. The most recent versions of Tk, however, *will* build without a display - it just skips all the tests. So the testing software sees that it passed, and thinks there must be something wrong with your module. You should check for a working Tk (and hence X11) environment by checking if MainWindow->new() throws an exception:

my $mw = eval { MainWindow->new }; if (!$mw) { ... skip tests ... }

For what it's worth, the first test (00.load.t) doesn't have the X server test and prerequisites are checked there. Obviously, that doesn't test functionality.

In closing, thanks for taking the time to post your thoughts on this. ++

— Ken