Skip to content

Commit a44ba44

Browse files
committed
code coverage fixes
1 parent 5e1b605 commit a44ba44

File tree

2 files changed

+3
-11
lines changed

2 files changed

+3
-11
lines changed

src/Polly.Core/CircuitBreaker/Controller/CircuitStateController.cs

+3-9
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ internal sealed class CircuitStateController<T> : IDisposable
1919
private DateTimeOffset _blockedUntil;
2020
private CircuitState _circuitState = CircuitState.Closed;
2121
private Outcome<object>? _lastOutcome;
22-
private BrokenCircuitException? _breakingException;
22+
private BrokenCircuitException _breakingException = new();
2323
private bool _disposed;
2424

2525
public CircuitStateController(
@@ -134,8 +134,8 @@ public ValueTask CloseCircuitAsync(ResilienceContext context)
134134

135135
exception = _circuitState switch
136136
{
137-
CircuitState.Open => GetBreakingException_NeedsLock(),
138-
CircuitState.HalfOpen when isHalfOpen is false => GetBreakingException_NeedsLock(),
137+
CircuitState.Open => _breakingException,
138+
CircuitState.HalfOpen when isHalfOpen is false => _breakingException,
139139
CircuitState.Isolated => new IsolatedCircuitException(),
140140
_ => null
141141
};
@@ -261,7 +261,6 @@ private void CloseCircuit_NeedsLock(Outcome<T> outcome, bool manual, ResilienceC
261261

262262
_blockedUntil = DateTimeOffset.MinValue;
263263
_lastOutcome = null;
264-
_breakingException = null;
265264

266265
CircuitState priorState = _circuitState;
267266
_circuitState = CircuitState.Closed;
@@ -294,7 +293,6 @@ private bool PermitHalfOpenCircuitTest_NeedsLock()
294293
private void SetLastHandledOutcome_NeedsLock<TResult>(Outcome<TResult> outcome)
295294
{
296295
_lastOutcome = outcome.AsOutcome();
297-
_breakingException = null;
298296

299297
if (outcome.Exception is Exception exception)
300298
{
@@ -304,12 +302,8 @@ private void SetLastHandledOutcome_NeedsLock<TResult>(Outcome<TResult> outcome)
304302
{
305303
_breakingException = new BrokenCircuitException<TResult>(BrokenCircuitException.DefaultMessage, result!);
306304
}
307-
308-
_breakingException?.TrySetStackTrace();
309305
}
310306

311-
private BrokenCircuitException GetBreakingException_NeedsLock() => _breakingException ?? new BrokenCircuitException();
312-
313307
private void OpenCircuit_NeedsLock(Outcome<T> outcome, bool manual, ResilienceContext context, out Task? scheduledTask)
314308
{
315309
OpenCircuitFor_NeedsLock(outcome, _breakDuration, manual, context, out scheduledTask);

src/Polly.Core/OutcomeArguments.cs

-2
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,5 @@ public OutcomeArguments(ResilienceContext context, Outcome<TResult> outcome, TAr
5252
/// Gets the result, if any, produced by the resilience operation or event.
5353
/// </summary>
5454
public TResult? Result => Outcome.Result;
55-
56-
internal OutcomeArguments<object, TArgs> AsObjectArguments() => new(Context, Outcome.AsOutcome(), Arguments);
5755
}
5856
}

0 commit comments

Comments
 (0)