Companion object to trait Retries that enables its members to be imported as an alternative to mixing them in.
Attributes
Members list
Value members
Inherited methods
Indicates whether the test described by the given TestData includes the tag org.scalatest.tags.Retryable.
Indicates whether the test described by the given TestData includes the tag org.scalatest.tags.Retryable.
This method provides an easy way to selectively retry just tests that are flickering. You can annotated such problematic tests with Retryable, and just retry those. Here's what it might look like:
override def withFixture(test: NoArgTest) = {
if (isRetryable(test))
withRetry { super.withFixture(test) }
else
super.withFixture(test)
}
Attributes
- Inherited from:
- Retries
Retries the given block with a given delay and maximum number of retries if the Outcome of executing the block is either Failed or Canceled.
Retries the given block with a given delay and maximum number of retries if the Outcome of executing the block is either Failed or Canceled.
The behavior of this method is defined in the table below. The first two rows show the main "retry" behavior: if executing the block initially fails, and on retry it succeeds, the result is Canceled. The purpose of this is to deal with "flickering" tests by downgrading a failure that succeeds on retry to a cancelation. Or, if executing the block initially results in Canceled, and on retry it succeeds, the result is Succeeded. The purpose of this is to deal with tests that intermittently cancel by ignoring a cancelation that succeeds on retry.
In the table below, if the “Retry Outcome” has just a dash, the block is not retried. Otherwise, the block is retried on the same thread, after sleeping the given delay.
First Outcome |
Retry Outcome |
Result |
|---|---|---|
Failed |
Succeeded |
Canceled (the Succeeded and Failed are discarded; the exception from the Failed is the cause of the exception in the Canceled) |
Canceled |
Succeeded |
Succeeded (the Canceled is discarded) |
Succeeded |
— | Succeeded (no retry) |
Pending |
— | Pending (no retry) |
Failed |
Failed |
the first Failed (the second Failed is discarded) |
Failed |
Pending |
the Failed (the Pending is discarded) |
Failed |
Canceled |
the Failed (the Canceled is discarded) |
Canceled |
Canceled |
the first Canceled (the second Canceled is discarded) |
Canceled |
Pending |
the Canceled (the Pending is discarded) |
Canceled |
Failed |
the Failed (the Canceled is discarded) |
Value parameters
- blk
-
the block to execute and potentially retry
- delay
-
the amount of time to sleep before retrying
- maxRetries
-
the maximum number of retries allowed, does not include the initial try
Attributes
- Inherited from:
- Retries
Retries the given block with a given delay if the Outcome of executing the block is either Failed or Canceled.
Retries the given block with a given delay if the Outcome of executing the block is either Failed or Canceled.
The behavior of this method is defined in the table below. The first two rows show the main "retry" behavior: if executing the block initially fails, and on retry it succeeds, the result is Canceled. The purpose of this is to deal with "flickering" tests by downgrading a failure that succeeds on retry to a cancelation. Or, if executing the block initially results in Canceled, and on retry it succeeds, the result is Succeeded. The purpose of this is to deal with tests that intermittently cancel by ignoring a cancelation that succeeds on retry.
In the table below, if the “Retry Outcome” has just a dash, the block is not retried. Otherwise, the block is retried on the same thread, after sleeping the given delay.
First Outcome |
Retry Outcome |
Result |
|---|---|---|
Failed |
Succeeded |
Canceled (the Succeeded and Failed are discarded; the exception from the Failed is the cause of the exception in the Canceled) |
Canceled |
Succeeded |
Succeeded (the Canceled is discarded) |
Succeeded |
— | Succeeded (no retry) |
Pending |
— | Pending (no retry) |
Failed |
Failed |
the first Failed (the second Failed is discarded) |
Failed |
Pending |
the Failed (the Pending is discarded) |
Failed |
Canceled |
the Failed (the Canceled is discarded) |
Canceled |
Canceled |
the first Canceled (the second Canceled is discarded) |
Canceled |
Pending |
the Canceled (the Pending is discarded) |
Canceled |
Failed |
the Failed (the Canceled is discarded) |
Value parameters
- blk
-
the block to execute and potentially retry
- delay
-
the amount of time to sleep before retrying
Attributes
- Inherited from:
- Retries
Retries the given block immediately (with no delay) if the Outcome of executing the block is either Failed or Canceled.
Retries the given block immediately (with no delay) if the Outcome of executing the block is either Failed or Canceled.
The behavior of this method is defined in the table below. The first two rows show the main "retry" behavior: if executing the block initially fails, and on retry it succeeds, the result is Canceled. The purpose of this is to deal with "flickering" tests by downgrading a failure that succeeds on retry to a cancelation. Or, if executing the block initially results in Canceled, and on retry it succeeds, the result is Succeeded. The purpose of this is to deal with tests that intermittently cancel by ignoring a cancelation that succeeds on retry.
In the table below, if the “Retry Outcome” has just a dash, the block is not retried. Otherwise, the block is retried on the same thread, with no delay.
First Outcome |
Retry Outcome |
Result |
|---|---|---|
Failed |
Succeeded |
Canceled (the Succeeded and Failed are discarded; the exception from the Failed is the cause of the exception in the Canceled) |
Canceled |
Succeeded |
Succeeded (the Canceled is discarded) |
Succeeded |
— | Succeeded (no retry) |
Pending |
— | Pending (no retry) |
Failed |
Failed |
the first Failed (the second Failed is discarded) |
Failed |
Pending |
the Failed (the Pending is discarded) |
Failed |
Canceled |
the Failed (the Canceled is discarded) |
Canceled |
Canceled |
the first Canceled (the second Canceled is discarded) |
Canceled |
Pending |
the Canceled (the Pending is discarded) |
Canceled |
Failed |
the Failed (the Canceled is discarded) |
Value parameters
- blk
-
the block to execute and potentially retry
Attributes
- Inherited from:
- Retries
Retries the given block after the given delay if the Outcome of executing the block is Canceled.
The behavior of this method is defined in the table below. The first row shows the main "retry" behavior: if executing the block initially results in Canceled, and on retry it succeeds, the result is Succeeded. The purpose of this is to deal with tests that intermittently cancel by ignoring a cancelation that succeeds on retry.
In the table below, if the “Retry Outcome” has just a dash, the block is not retried. Otherwise, the block is retried on the same thread, after the given delay.
First Outcome |
Retry Outcome |
Result |
|---|---|---|
Canceled |
Succeeded |
the Succeeded (the Canceled is discarded) |
Succeeded |
— | Succeeded (no retry) |
Pending |
— | Pending (no retry) |
Failed |
— | Failed (no retry) |
Canceled |
Canceled |
the first Canceled (the second Canceled is discarded) |
Canceled |
Pending |
the Canceled (the Pending is discarded) |
Canceled |
Failed |
the Failed (the Canceled is discarded) |
Value parameters
- blk
-
the block to execute and potentially retry
- delay
-
the amount of time to sleep before retrying
Attributes
- Inherited from:
- Retries
Retries the given block immediately (with no delay) if the Outcome of executing the block is Canceled.
Retries the given block immediately (with no delay) if the Outcome of executing the block is Canceled.
The behavior of this method is defined in the table below. The first row shows the main "retry" behavior: if executing the block initially results in Canceled, and on retry it succeeds, the result is Succeeded. The purpose of this is to deal with tests that intermittently cancel by ignoring a cancelation that succeeds on retry.
In the table below, if the “Retry Outcome” has just a dash, the block is not retried. Otherwise, the block is retried on the same thread, with no delay.
First Outcome |
Retry Outcome |
Result |
|---|---|---|
Canceled |
Succeeded |
the Succeeded (the Canceled is discarded) |
Succeeded |
— | Succeeded (no retry) |
Pending |
— | Pending (no retry) |
Failed |
— | Failed (no retry) |
Canceled |
Canceled |
the first Canceled (the second Canceled is discarded) |
Canceled |
Pending |
the Canceled (the Pending is discarded) |
Canceled |
Failed |
the Failed (the Canceled is discarded) |
Value parameters
- blk
-
the block to execute and potentially retry
Attributes
- Inherited from:
- Retries
Retries the given block immediately with the given delay if the Outcome of executing the block is Failed.
Retries the given block immediately with the given delay if the Outcome of executing the block is Failed.
The behavior of this method is defined in the table below. The first row shows the main "retry" behavior: if executing the block initially fails, and on retry it succeeds, the result is Canceled. The purpose of this is to deal with "flickering" tests by downgrading a failure that succeeds on retry to a cancelation.
In the table below, if the “Retry Outcome” has just a dash, the block is not retried. Otherwise, the block is retried on the same thread, after the given delay.
First Outcome |
Retry Outcome |
Result |
|---|---|---|
Failed |
Succeeded |
Canceled (the Succeeded and Failed are discarded; the exception from the Failed is the cause of the exception in the Canceled) |
Succeeded |
— | Succeeded (no retry) |
Pending |
— | Pending (no retry) |
Canceled |
— | the Canceled (no retry) |
Failed |
Failed |
the first Failed (the second Failed is discarded) |
Failed |
Pending |
the Failed (the Pending is discarded) |
Failed |
Canceled |
the Failed (the Canceled is discarded) |
Value parameters
- blk
-
the block to execute and potentially retry
- delay
-
the amount of time to sleep before retrying
Attributes
- Inherited from:
- Retries
Retries the given block immediately (with no delay) if the Outcome of executing the block is Failed.
Retries the given block immediately (with no delay) if the Outcome of executing the block is Failed.
The behavior of this method is defined in the table below. The first row shows the main "retry" behavior: if executing the block initially fails, and on retry it succeeds, the result is Canceled. The purpose of this is to deal with "flickering" tests by downgrading a failure that succeeds on retry to a cancelation.
In the table below, if the “Retry Outcome” has just a dash, the block is not retried. Otherwise, the block is retried on the same thread, with no delay.
First Outcome |
Retry Outcome |
Result |
|---|---|---|
Failed |
Succeeded |
Canceled (the Succeeded and Failed are discarded; the exception from the Failed is the cause of the exception in the Canceled) |
Succeeded |
— | Succeeded (no retry) |
Pending |
— | Pending (no retry) |
Canceled |
— | the Canceled (no retry) |
Failed |
Failed |
the first Failed (the second Failed is discarded) |
Failed |
Pending |
the Failed (the Pending is discarded) |
Failed |
Canceled |
the Failed (the Canceled is discarded) |
Value parameters
- blk
-
the block to execute and potentially retry
Attributes
- Inherited from:
- Retries