-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not try to format null assert statuses #27824
Conversation
There may be a better fix, e.g. not adding classes to null asserts, but this unblocks me, and I'd like to get it fixed ASAP (perhaps with someone else's better fix) because failing to call completion callbacks seems like a pretty bad contract violation. |
This can be reproduced by running I'm going to use that test to try and write a unittest for this PR today. |
The assert tracking code cannot handle nested asserts. It ends up both recording all the inner-asserts for assert_any (which is arguably correct but also looks confusing since some fail), as well as not properly recording the result for the `assert_any` itself (it overrides the last inner-assert results instead - even more confusing!) To workaround this quickly, do not wrap assert_any in the wrapper script. This means it will not show up in the asserts run, though its children will (but the last child will no longer have the wrong status). This isn't perfect, but it's a quick fix. Fixes #27824
Ah ok, so what is happening here is that I think what we need to do instead is to have |
The assert tracking code cannot handle nested asserts. It ends up both recording all the inner-asserts for assert_any (which is arguably correct but also looks confusing since some fail), as well as not properly recording the result for the `assert_any` itself (it overrides the last inner-assert results instead - even more confusing!) To workaround this quickly, do not wrap assert_any in the wrapper script. This means it will not show up in the asserts run, though its children will (but the last child will no longer have the wrong status). This isn't perfect, but it's a quick fix. Fixes #27824
…in expose_assert, a=testonly Automatic update from web-platform-tests [testharness.js] Do not wrap assert_any in expose_assert The assert tracking code cannot handle nested asserts. It ends up both recording all the inner-asserts for assert_any (which is arguably correct but also looks confusing since some fail), as well as not properly recording the result for the `assert_any` itself (it overrides the last inner-assert results instead - even more confusing!) To workaround this quickly, do not wrap assert_any in the wrapper script. This means it will not show up in the asserts run, though its children will (but the last child will no longer have the wrong status). This isn't perfect, but it's a quick fix. Fixes web-platform-tests/wpt#27824 -- wpt-commits: f84f16ed68aa6edaf5c98806e9d5c139a26882a6 wpt-pr: 27845
…in expose_assert, a=testonly Automatic update from web-platform-tests [testharness.js] Do not wrap assert_any in expose_assert The assert tracking code cannot handle nested asserts. It ends up both recording all the inner-asserts for assert_any (which is arguably correct but also looks confusing since some fail), as well as not properly recording the result for the `assert_any` itself (it overrides the last inner-assert results instead - even more confusing!) To workaround this quickly, do not wrap assert_any in the wrapper script. This means it will not show up in the asserts run, though its children will (but the last child will no longer have the wrong status). This isn't perfect, but it's a quick fix. Fixes web-platform-tests/wpt#27824 -- wpt-commits: f84f16ed68aa6edaf5c98806e9d5c139a26882a6 wpt-pr: 27845 UltraBlame original commit: ce07f752bf60169ada7502badf8dd33ff9b642aa
…in expose_assert, a=testonly Automatic update from web-platform-tests [testharness.js] Do not wrap assert_any in expose_assert The assert tracking code cannot handle nested asserts. It ends up both recording all the inner-asserts for assert_any (which is arguably correct but also looks confusing since some fail), as well as not properly recording the result for the `assert_any` itself (it overrides the last inner-assert results instead - even more confusing!) To workaround this quickly, do not wrap assert_any in the wrapper script. This means it will not show up in the asserts run, though its children will (but the last child will no longer have the wrong status). This isn't perfect, but it's a quick fix. Fixes web-platform-tests/wpt#27824 -- wpt-commits: f84f16ed68aa6edaf5c98806e9d5c139a26882a6 wpt-pr: 27845 UltraBlame original commit: ce07f752bf60169ada7502badf8dd33ff9b642aa
…in expose_assert, a=testonly Automatic update from web-platform-tests [testharness.js] Do not wrap assert_any in expose_assert The assert tracking code cannot handle nested asserts. It ends up both recording all the inner-asserts for assert_any (which is arguably correct but also looks confusing since some fail), as well as not properly recording the result for the `assert_any` itself (it overrides the last inner-assert results instead - even more confusing!) To workaround this quickly, do not wrap assert_any in the wrapper script. This means it will not show up in the asserts run, though its children will (but the last child will no longer have the wrong status). This isn't perfect, but it's a quick fix. Fixes web-platform-tests/wpt#27824 -- wpt-commits: f84f16ed68aa6edaf5c98806e9d5c139a26882a6 wpt-pr: 27845 UltraBlame original commit: ce07f752bf60169ada7502badf8dd33ff9b642aa
This was causing the completion callback that the harness added,
to throw an exception, which would prevent all other completion callbacks from running, which would prevent jsdom from ever collecting any results.