Search Issue Tracker
By Design
Votes
0
Found in [Package]
2.0.9
Issue ID
1229917
Regression
No
[Performance Testing API] PlayMode tests fail on build and 'ArgumentException' is thrown when engine code stripping is enabled
Reproduction steps:
1. Open the attached project ("case_1229917-TestRunCallbackAttribute.zip")
2. Make sure that engine code stripping is enabled in the Player Settings
3. Open Test Runner window
4. Select PlayMode tab
5. Click on 'Run all in player' button
Expected result: Test succeeds
Actual result: Test fails, 'ArgumentException: Type provided to TestRunCallbackAttribute does not implement ITestRunCallback' exception is thrown
Reproducible with: 2019.3.9f1, 2020.1.0b5, 2020.2.0a5
Couldn't test with: 2017.4, 2018.4 (minimal required package version is not supported)
Reproducible with package versions: 2.0.1, 2.0.9
Notes:
1. The issue does not reproduce when engine code stripping is disabled
2. The issue can be reproduced on both Mono and IL2CPP backends (when engine code stripping is enabled)
3. On the repro project, commenting out line 9 on 'MonobehaviourTest.cs' script fixes the issue
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Performance Markers Search window shows an empty entry in the list
- Enabling Deep Profiling in Performance Markers Search window breaks Inspector panel buttons when navigating through the marker items
- Dragging selector from selector row background shows preview but does not apply class in UI Builder
- An "InvalidOperationException" error is thrown when TryRemoveItem is used with rebuildTree set to false
- Build fails with IL2CPP error when building on Android platform in a specific project
Resolution Note:
The performance package is stripped down when building the IL2CPP player. As a workaround add link.xml to preserve Unity.PerformanceTesting assembly.
link.xml
<linker>
<assembly fullname="Unity.PerformanceTesting" preserve="all"/>
</linker>