Closed (fixed)
Project:
Drupal core
Version:
8.0.x-dev
Component:
base system
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
5 Oct 2015 at 11:59 UTC
Updated:
3 Dec 2015 at 17:54 UTC
Jump to comment: Most recent, Most recent file


Comments
Comment #2
MixologicSo the issue here is that both simpletest and phpunit create a 'fake failed test', and then run the test. If there is a fatal error when it runs the test, we fall back on the fake failed test.
The problem, here, is that the fatal error is happening during the creation of the fake failed tes (here http://cgit.drupalcode.org/drupal/tree/core/modules/simpletest/src/TestB...) t - it uses reflection to get some information about the test its about to run, and thats when the fatal error happens, so the fake fail never happens and the test itself seems invisible to the test runner:
We're adding a jenkins plugin to scan the output of the tests to verify that this sort of error is caught.
Comment #3
MixologicUgh. Dangit. https://dispatcher.drupalci.org/job/default/21328/ Jenkins marks the build unstable, but we'll have to do some more work on the d.o. side to make it concern itself with jenkins specific type of results there.
Comment #4
tim.plunkettNow that legacy tests are off, this is ultra-critical.
Comment #5
MixologicComment #6
wim leersComment #7
isntall commentedComment #8
MixologicThis needs a fix on the drupal.org side at this point: http://cgit.drupalcode.org/project_issue_file_test/tree/includes/pift_ci... is checking # of test failures, when it should *also* be checking on whether or not the build is stable.
Comment #9
MixologicComment #10
tim.plunkettJust hit this again. Had a patch with dozens of fatal errors, patch "passed". Thankfully I thought to check...
Is there a higher priority than "critical"? :)
Comment #11
chx commentedTrying to implement a higher priority.
Comment #12
fabianx commentedIt is possible to fix this in core itself:
It is ugly but would work ...
Comment #13
catchThe code is less ugly than the bug it fixes - I think that's worth a core issue and we should be able to verify it.
Comment #14
alexpottI'm finding that the problem happens way earlier and it occurs in the autoloader so we have no way of catching it :(
I've hacked run-tests.sh to only run a broken test (because it fails even earlier if you use --class) and here's the backtrace...
Comment #15
alexpottComment #16
claudiu.cristeaComment #17
claudiu.cristeaComment #18
claudiu.cristeaI had to switch to NW > NR to trigger the test
Comment #19
alexpottComment #20
alexpottlol
Comment #23
alexpottYay I can make it fail :)
Comment #24
alexpottComment #26
kylebrowning commentedSeems we have a bit of a VW Bug here...
:P
Comment #27
catchThe fix is a bit ugly, but the bug is considerably uglier and nice to be able to fix this directly in core considering we're already trying to handle it but unsuccessfully.
Comment #28
xjmRestoring the "merely critical" priority since that's sufficient for core. ;)
Comment #29
xjmCommitted and pushed to 8.0.x. Thanks!
Comment #35
effulgentsia commentedPer #29.
Comment #36
MixologicGreat, thank you. This is definitely a better approach than trying to scour the output looking for the word Fatal (which had a nasty tendency to also be in commit messages that show up in the logs as well).