Search Issue Tracker

Active

Votes

0

Found in

Issue ID

1126050

Regression

No

Failure in IPreBuildSetup/IPostBuildCleanup results in "PASS" status in UTR

Unity Test Runner

-

Steps to reproduce:
1) Open the attached project.
2) Open Test Runner window.
3) Run all tests.
- Exception is thrown in the console during IPreBuildSetup; tests are not executed.

Expected behavior: the fact that tests were not run should be reflected in the test runner window.
Actual behavior: the Test Runner window doesn't show the failure to run the tests.

While the behavior described above is somewhat reasonable (tests were not run, so their status is unknown and therefore not set), this issue is more apparent/important when running the tests through UTR console.
When the tests are run through UTR, the final outcome is "PASS", even though the tests were not run at all.

This issue happens because the method that is called after failed IPrebuildSetup/IPostBuildCleanup:
Extensions/TestRunner/UnityEditor.TestRunner/UnityTestProtocol/UnityTestProtocolListener:: RunFinished()
Is empty - implementing this method does set the final status to "FAILED", sample here:
https://ono.unity3d.com/unity/unity/changeset/024dc9d986d1

However, this method only gets a fake test with its result hardcoded to "FAIL" (see CallbacksDelegator::RunFailed() where this fake test is created), when it should have the actual targeted test information.

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.