Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Test-Simple CPAN distribution.

Report information
The Basics
Id: 14936
Status: resolved
Priority: 0/
Queue: Test-Simple

People
Owner: Nobody in particular
Requestors: adamk [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.61
Fixed in: (no value)



Subject: #12490 changes causing a cascade of pain
* Changed the standard failure diagnostics to include the test name. [rt.cpan.org 12490] I didn't notice the effects until this week when the production release came out, but when you did this and changed the STDERR output format you broke test test-testing modules (including at least Test::Builder::Tester) which is causing cascading failures... breaking Test::Builder::Tester breaks all the Test:: modules that use it, which breaks all the normal modules that use THEM, and so on and so forth recursively. Can you do an emergency back out of this change and release a new Test::More version ASAP. Then if you want to reapply this change, coordinate with all the people that have dependencies on the format of Test::More's output. Thanks Adam K
OK, an update. http://cpants.dev.zsi.at/dist/Test-Builder-Tester It would appear that 26 distributions use Test-Builder-Tester. It would be a fair call that most or all of those fail to install at the moment. Quickly scanning through those deps, there's at least 100, including the entire WWW::Mechanize tree, Test::Pod, in fact, via Test::URI it's going to wipe out most of WWW::, URI::, third-party Apache::, Finance:: and god knows how many others. 500 plus dists at least.
[ADAMK - Wed Oct 5 08:38:42 2005]: Show quoted text
> Can you do an emergency back out of this change and release a new > Test::More version ASAP. Then if you want to reapply this change, > coordinate with all the people that have dependencies on the format > of Test::More's output.
I am disinclined to do this. A) I have no idea who has dependencies on the format of Test::More's output. I can take a few guesses (Test::Warn and Test::Builder::Tester) but on the whole a parent does not and should not have to know who his dependencies are. B) They shouldn't have dependencies on the format of Test::More's output. Though some diagnostic output is shown a few times in the docs its pretty clear its only for illustrative purposes. To paraphrase tchrist... You are wicked and wrong to have scraped the screen and then relied upon it. I have to be free to be able to make minor changes to the diagnostic output. C) There was ample warning. Two alpha releases; several rather long threads on perl-qa on the subject; two and a half months between the change and a stable release. D) Rolling that change back would be rather painful as it involved a lot of little changes to the tests since my tests DO (and are allowed to) rely on the diagnostic output. I'd hop on the authors of Test::Builder::Tester and Test::Warn. However, as there's been no release of those modules in a year and two respectively, should the authors prove uncontactable or unable to quickly fix the problem supply a patch and I'll roll back.
E) There is only one line in Test::Builder::Tester which relies on Test::More's diagnostics. Its in test_fail(). # expect that on stderr $err->expect("# Failed test ($0 at line $line)"); Fix that and Test::Builder::Tester works.
[MSCHWERN - Wed Oct 5 13:07:46 2005]: Show quoted text
> E) There is only one line in Test::Builder::Tester which relies on > Test::More's diagnostics. Its in test_fail(). > > # expect that on stderr > $err->expect("# Failed test ($0 at line $line)"); > > Fix that and Test::Builder::Tester works.
Perhaps something like.. 1. delete version 0.61 of Test::More from CPAN. 2. release patched version of Test::Builder::Tester on CPAN as the next version number, as a non-maintainer release, in lieu of the maintainer getting around to it. 3. Make Test::More's Makefile.PL explicitly conflict with that version of Test::Builder::Tester, ie require the above version if any old version is found. This will mean people have to manually install Test::Builder::Tester until the situation is remedied (namespace handed over / new version made).