[UnitTests] Fix order-dependent synchronous decorator tests #369
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The decorator tests which used synchronous decorators started failing if they were run alone (before any of the other tests).
This broke in
d469daa , when I enabled
GTMStandardUserAgentProvider
by default in fetchers which don't otherwise specify a user-agent provider.The issue is that
GTMStandardUserAgentProvider
itself is asynchronous, but only the first time it's ever invoked (after that, it caches its result in a process-wide cache).The synchronous decorator tests assumed they'd always stay synchronous, but this wasn't the case if they used
GTMStandardUserAgentProvider
and were the first tests to run in the process.This fixes the issue by always providing a
GTMUserAgentStringProvider
for the synchronous decorator tests.Tested:
swift test
passes (except known failure in #368, which is already failing in upstream on macOS 14.2.1).Also ran test
-[GTMSessionFetcherServiceTest testMultipleDecoratorsSynchronous]
by itself and ensured it failed before this change and passed after
this change.
Fixes: #367