Files
Marc Schier a22fac4974 Fix flaky GeneratorOpenUsdE2eTests timeout on net48 CI (#4501)
## Description

Fixes a reproducible failure of `GeneratorOpenUsdE2eTests` on the net48
CI job, observed in master build
[18363](https://opcfoundation.visualstudio.com/865bd736-d0a6-4260-a336-d09d3eb39375/_build/results?buildId=18363)
(and reproduced identically in build 18361): all 4 tests in the fixture
failed with `OneTimeSetUp: Server endpoint did not become available.`

Root cause: the fixture polled for the hosted OPC UA endpoint for 40
attempts at 500ms (~20s). This budget is shared with several other
OpenUsd/DI end-to-end fixtures, but `GeneratorOpenUsdE2eTests`
materialises two full generator sets (state machines, protection alarms,
OpenUsd bindings) before the endpoint opens, and that start-up cost —
combined with slower JIT/crypto on .NET Framework — was consistently
exceeding the 20s budget on net48 CI agents even though the server was
healthy and became ready shortly after. `Opc.Ua.Di.Tests` (which
contains `PumpOpenUsdE2eTests`, `RobotOpenUsdE2eTests`,
`SiteFederationE2eTests` with the same pattern) passed in the same run,
and `RobotOpenUsdE2eTests` — a similarly complex fixture — already uses
a larger 90-attempt (~45s) budget for the same reason.

This PR raises the retry budget for `GeneratorOpenUsdE2eTests` from 40
to 90 attempts, matching the precedent set by `RobotOpenUsdE2eTests`. No
assertions were changed or loosened; only the operational start-up
timeout was adjusted to accommodate genuine (not indefinite) start-up
latency.

## Related Issues

- Fixes flaky/failing `GeneratorOpenUsdE2eTests` on the net48 CI job
(observed in builds 18361 and 18363 on `master`; not caused by any
pending PR).

## Validation

- `dotnet build tests/Opc.Ua.OpenUsd.Tests/Opc.Ua.OpenUsd.Tests.csproj`
for `net48` and `net10.0`: passed
- `dotnet test ... --framework net48 --filter
FullyQualifiedName~GeneratorOpenUsdE2eTests`: 4/4 passed (previously
0/4)
- `dotnet test ... --framework net48` (full `Opc.Ua.OpenUsd.Tests`
suite): 882/882 passed (previously 878/882)
- `dotnet format ... --verify-no-changes` on the changed file: no issues

## Checklist

- [x] I have signed the
[CLA](https://opcfoundation.org/license/cla/ContributorLicenseAgreementv1.0.pdf)
and read the
[CONTRIBUTING](https://github.com/OPCFoundation/UA-.NETStandard/blob/master/CONTRIBUTING.md)
doc.
- [ ] I have added tests that prove my fix is effective or that my
feature works and increased code coverage.
- [ ] I have added all necessary documentation.
- [x] I have verified that my changes do not introduce (new) build or
analyzer warnings.
- [x] I ran all tests locally using the UA.slnx solution against at
least .net framework and .net 10, and all passed.
- [ ] I fixed all failing and flaky tests in the CI pipelines and all
CodeQL warnings.
- [ ] I have addressed all PR feedback received.
2026-09-17 13:36:09 +00:00
..