On Apr 6, 2005, at 7:13 AM, Robert Rothenberg wrote:
Is there a way tests to determine that a module cannot be installed on a platform so that CPANPLUS or CPAN::YACSmoke can issue an "NA" (Not Applicable) report?
CPANPLUS relies on module names (e.g. "Solaris::" or "Win32::") but that is not always appropriate in cases where a module runs on many platforms except some that do not have the capability.
In those cases, who's to say that that platform won't get such capabilities in the future? If the module author has to list the platforms on which their module won't run, it'll get out of date, and the list will likely be incomplete to start out with.
There's also a separate issue of whether "NA" reports should be issued if a library is missing. (Usually these come out as failures.)
People looking at failure reports should be able to tell whether the failure occurred because of a missing prerequisite (of which libraries are one variety) or because of runtime building/testing problems. The correct way to solve this would be to have a mechanism for declaring system library dependencies, then check before smoke-testing whether those dependencies are satisfied.
Unfortunately that's a large problem space, and it has eluded attempts at cross-platform solutions so far. It would be really nice if it were solved, though.
-Ken