Skip to content

Conversation

@NoelStephensUnity
Copy link
Collaborator

@NoelStephensUnity NoelStephensUnity commented Jul 24, 2025

This PR condenses the total number of tests from roughly ~10k down to ~3.5k by grouping like test types and migrating all [Values] decorated parameters to local properties.

This helps to reduce:

  • The time spent setting up and tearing down a test for each unique parameter value combination.
  • The time spent starting and stopping NetworkManagers.
  • The total number of tests is more than cut in half.
    • There is a known limitation with 2021 & 2022 TestRunner where reaching/exceed the 8-10k total tests count range can start to impact performance.

Changelog

NA

Testing and Documentation

  • Includes some UniversalRpcTests refactoring.
  • Includes new UniversalRpcGroupedTests.
  • Includes commenting out all legacy tests that were migrated into UniversalRpcGroupedTests.

Backport

This most likely could be up-ported to v2.x, but for the time being this should be reviewed merged for the v1.14.0 release.

Excluding the inclusion of stack trace information from normal Debug.Log messages.
Refactored some of the UniversalRpcTests which brings the total test count down from 10K+ to around 3.5k tests.
@NoelStephensUnity NoelStephensUnity requested a review from a team as a code owner July 24, 2025 02:03
Handling some PVP issues.
@michalChrobot
Copy link
Collaborator

I will first run the wrench tests locally on this branch to see if it fixes the problem

Updating the revised test to have a longer timeout and to log messages to avoid a "no log" timeout.
Fixing a timeout that could occur within UnityTransport.
Refactoring the optimizations on the two group override tests in order to provide a heartbeat to the logger while running through that set of tests.
Forgot to remove the two tests from the general tests enums list.
Fixing stability issue where message corruption could potentially fail if none of the 1st 4 bytes were 0.
Refactoring TestSendingWithSingleNotOverride and TestSendingWithSingleOverride to use a ValuesAttribute decorated  SendTo parameter to assure it provides a heartbeat to the logger.
@NoelStephensUnity NoelStephensUnity merged commit 89a825f into release/1.14.0 Jul 26, 2025
44 checks passed
@NoelStephensUnity NoelStephensUnity deleted the fix/extended-integrationtest-run-times branch July 26, 2025 04:50
NoelStephensUnity added a commit that referenced this pull request Jul 30, 2025
Up-porting some of the fixes and optimizations applied to v1.14.0
branch.

The total test count prior to optimizations:
<img width="641" height="642" alt="image"
src="https://github.com/user-attachments/assets/d45a0b22-a9ae-4674-b176-ec25646503ae"
/>

The total test count after optimizations:
<img width="638" height="635" alt="image"
src="https://github.com/user-attachments/assets/632897f6-9381-42b3-b5d0-b83e9e06cda9"
/>


## Changelog

NA

## Testing and Documentation

- Includes integration test fixes and refactoring.
- No documentation changes or additions were necessary.

<!-- Uncomment and mark items off with a * if this PR deprecates any
API:
### Deprecated API
- [ ] An `[Obsolete]` attribute was added along with a `(RemovedAfter
yyyy-mm-dd)` entry.
- [ ] An [api updater] was added.
- [ ] Deprecation of the API is explained in the CHANGELOG.
- [ ] The users can understand why this API was removed and what they
should use instead.
-->

## Backport
This is the up-port of #3560.

<!-- If this is a backport:
 - Add the following to the PR title: "\[Backport\] ..." .
 - Link to the original PR.
If this needs a backport - state this here
If a backport is not needed please provide the reason why.
If the "Backports" section is not present it will lead to a CI test
failure.
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants