Skip to content

Commit e1df730

Browse files
authored
Fix unstable test (#1396)
1 parent cebe145 commit e1df730

File tree

3 files changed

+13
-16
lines changed

3 files changed

+13
-16
lines changed

src/Polly.Core/Retry/RetryResilienceStrategy.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,7 @@ protected override async ValueTask<Outcome<T>> ExecuteCallbackAsync<TState>(Func
8686
await DisposeHelper.TryDisposeSafeAsync(resultValue, context.IsSynchronous).ConfigureAwait(context.ContinueOnCapturedContext);
8787
}
8888

89-
// stryker disable once equality : no means to test this
90-
// stryker disable once boolean : no means to test this
89+
// stryker disable once all : no means to test this
9190
if (delay > TimeSpan.Zero)
9291
{
9392
try

test/Polly.Core.Tests/Hedging/HedgingResilienceStrategyTests.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,12 @@ public async Task ExecuteAsync_EnsurePrimaryTaskCancelled_Ok()
285285

286286
// assert
287287
_timeProvider.Advance(TimeSpan.FromHours(2));
288-
cancelled.WaitOne(TimeSpan.FromSeconds(1)).Should().BeTrue();
288+
289+
await TestUtilities.AssertWithTimeoutAsync(() =>
290+
{
291+
cancelled.WaitOne(TimeSpan.FromMilliseconds(10)).Should().BeTrue();
292+
});
293+
289294
await task;
290295
}
291296

test/Polly.Core.Tests/Retry/RetryResilienceStrategyTests.cs

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -157,21 +157,20 @@ public void Retry_Infinite_Respected()
157157
}
158158

159159
[Fact]
160-
public async Task RetryDelayGenerator_Respected()
160+
public void RetryDelayGenerator_Respected()
161161
{
162-
int retries = 0;
163-
int generatedValues = 0;
164-
162+
var retries = 0;
163+
var generatedValues = 0;
165164
var delay = TimeSpan.FromMilliseconds(120);
166-
var provider = TimeProvider.System;
167165

168166
_options.ShouldHandle = _ => PredicateResult.True;
169167
_options.RetryCount = 3;
170168
_options.BackoffType = RetryBackoffType.Constant;
171169

172-
_options.OnRetry = _ =>
170+
_options.OnRetry = args =>
173171
{
174172
retries++;
173+
args.Arguments.RetryDelay.Should().Be(delay);
175174
return default;
176175
};
177176
_options.RetryDelayGenerator = _ =>
@@ -180,16 +179,10 @@ public async Task RetryDelayGenerator_Respected()
180179
return new ValueTask<TimeSpan>(delay);
181180
};
182181

183-
var before = provider.GetUtcNow();
184-
185-
var sut = CreateSut(provider);
186-
await sut.ExecuteAsync(_ => default);
182+
CreateSut(TimeProvider.System).Execute(_ => { });
187183

188184
retries.Should().Be(3);
189185
generatedValues.Should().Be(3);
190-
191-
var after = provider.GetUtcNow();
192-
(after - before).Should().BeGreaterThanOrEqualTo(delay.Add(delay).Add(delay));
193186
}
194187

195188
[Fact]

0 commit comments

Comments
 (0)