object Eventually extends Eventually
Companion object that facilitates the importing of Eventually members as
an alternative to mixing in the trait. One use case is to import Eventually's members so you can use
them in the Scala interpreter:
$ scala -cp scalatest-1.8.jar
Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_29).
Type in expressions to have them evaluated.
Type :help for more information.
scala> import org.scalatest._
import org.scalatest._
scala> import Matchers._
import Matchers._
scala> import concurrent.Eventually._
import concurrent.Eventually._
scala> val xs = 1 to 125
xs: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ..., 125)
scala> val it = xs.iterator
it: Iterator[Int] = non-empty iterator
scala> eventually { it.next should be (3) }
scala> eventually { Thread.sleep(999); it.next should be (3) }
org.scalatest.TestFailedException: The code passed to eventually never returned normally.
    Attempted 2 times, sleeping 10 milliseconds between each attempt.
  at org.scalatest.Eventually$class.tryTryAgain$1(Eventually.scala:313)
  at org.scalatest.Eventually$class.eventually(Eventually.scala:322)
  ...
- Source
 - Eventually.scala
 
- Alphabetic
 - By Inheritance
 
- Eventually
 - Eventually
 - PatienceConfiguration
 - AbstractPatienceConfiguration
 - ScaledTimeSpans
 - AnyRef
 - Any
 
- Hide All
 - Show All
 
- Public
 - Protected
 
Type Members
-   final  case class PatienceConfig(timeout: Span = scaled(Span(150, Millis)), interval: Span = scaled(Span(15, Millis))) extends Product with Serializable
Configuration object for asynchronous constructs, such as those provided by traits
EventuallyandWaiters.Configuration object for asynchronous constructs, such as those provided by traits
EventuallyandWaiters.The default values for the parameters are:
Configuration Parameter Default Value timeoutscaled(150 milliseconds)intervalscaled(15 milliseconds)- timeout
 the maximum amount of time to wait for an asynchronous operation to complete before giving up and throwing
TestFailedException.- interval
 the amount of time to sleep between each check of the status of an asynchronous operation when polling
- Definition Classes
 - AbstractPatienceConfiguration
 
 
Value Members
-   final  def !=(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def ##: Int
- Definition Classes
 - AnyRef → Any
 
 -   final  def ==(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def asInstanceOf[T0]: T0
- Definition Classes
 - Any
 
 -    def clone(): AnyRef
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.CloneNotSupportedException]) @native()
 
 -   final  def eq(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -    def equals(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef → Any
 
 -    def eventually[T](fun: => T)(implicit config: PatienceConfig, retrying: Retrying[T], pos: Position): T
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
The by-name parameter "succeeds" if it returns a result. It "fails" if it throws any exception that would normally cause a test to fail. (These are any exceptions except
TestPendingExceptionandErrors listed in the Treatment ofjava.lang.Errors section of the documentation of traitSuite.)The maximum amount of time in milliseconds to tolerate unsuccessful attempts before giving up is configured by the
timeoutfield of thePatienceConfigpassed implicitly as the last parameter. The interval to sleep between attempts is configured by theintervalfield of thePatienceConfigpassed implicitly as the last parameter.- fun
 the by-name parameter to repeatedly invoke
- config
 the
PatienceConfigobject containing thetimeoutandintervalparameters- retrying
 the
Retryingimplementation for typeT- pos
 the position of the call site
- returns
 the result of invoking the
funby-name parameter, the first time it succeeds
- Definition Classes
 - Eventually
 
 -    def eventually[T](interval: Interval)(fun: => T)(implicit config: PatienceConfig, retrying: Retrying[T], pos: Position): T
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
The by-name parameter "succeeds" if it returns a result. It "fails" if it throws any exception that would normally cause a test to fail. (These are any exceptions except
TestPendingExceptionandErrors listed in the Treatment ofjava.lang.Errors section of the documentation of traitSuite.)The maximum amount of time in milliseconds to tolerate unsuccessful attempts before giving up is configured by the
timeoutfield of thePatienceConfigpassed implicitly as the last parameter. The interval to sleep between attempts is configured by the value contained in the passedintervalparameter.- interval
 the
Intervalconfiguration parameter- fun
 the by-name parameter to repeatedly invoke
- config
 the
PatienceConfigobject containing the (used)timeoutand (unused)intervalparameters- retrying
 the
Retryingimplementation for typeT- pos
 the position of the call site
- returns
 the result of invoking the
funby-name parameter, the first time it succeeds
- Definition Classes
 - Eventually
 
 -    def eventually[T](timeout: Timeout)(fun: => T)(implicit config: PatienceConfig, retrying: Retrying[T], pos: Position): T
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
The by-name parameter "succeeds" if it returns a result. It "fails" if it throws any exception that would normally cause a test to fail. (These are any exceptions except
TestPendingExceptionandErrors listed in the Treatment ofjava.lang.Errors section of the documentation of traitSuite.)The maximum amount of time in milliseconds to tolerate unsuccessful attempts before giving up and throwing
TestFailedExceptionis configured by the value contained in the passedtimeoutparameter. The interval to sleep between attempts is configured by theintervalfield of thePatienceConfigpassed implicitly as the last parameter.- timeout
 the
Timeoutconfiguration parameter- fun
 the by-name parameter to repeatedly invoke
- config
 the
PatienceConfigobject containing the (unused)timeoutand (used)intervalparameters- retrying
 the
Retryingimplementation for typeT- pos
 the position of the call site
- returns
 the result of invoking the
funby-name parameter, the first time it succeeds
- Definition Classes
 - Eventually
 
 -    def eventually[T](timeout: Timeout, interval: Interval)(fun: => T)(implicit retrying: Retrying[T], pos: Position): T
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
The by-name parameter "succeeds" if it returns a result. It "fails" if it throws any exception that would normally cause a test to fail. (These are any exceptions except
TestPendingExceptionandErrors listed in the Treatment ofjava.lang.Errors section of the documentation of traitSuite.)The maximum amount of time in milliseconds to tolerate unsuccessful attempts before giving up and throwing
TestFailedExceptionis configured by the value contained in the passedtimeoutparameter. The interval to sleep between attempts is configured by the value contained in the passedintervalparameter.- T
 type of the by-name parameter
fun- timeout
 the
Timeoutconfiguration parameter- interval
 the
Intervalconfiguration parameter- fun
 the by-name parameter to repeatedly invoke
- retrying
 the
Retryingimplementation for typeT- pos
 the position of the call site
- returns
 the result of invoking the
funby-name parameter, the first time it succeeds
- Definition Classes
 - Eventually
 
 -    def finalize(): Unit
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.Throwable])
 
 -   final  def getClass(): Class[_ <: AnyRef]
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native()
 
 -    def hashCode(): Int
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native()
 
 -    def interval(value: Span): Interval
Returns an
Intervalconfiguration parameter containing the passed value, which specifies the amount of time to sleep after a retry.Returns an
Intervalconfiguration parameter containing the passed value, which specifies the amount of time to sleep after a retry.- Definition Classes
 - PatienceConfiguration
 
 -   final  def isInstanceOf[T0]: Boolean
- Definition Classes
 - Any
 
 -   final  def ne(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -   final  def notify(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @native()
 
 -   final  def notifyAll(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @native()
 
 -   implicit  def patienceConfig: PatienceConfig
Implicit
PatienceConfigvalue providing default configuration values.Implicit
PatienceConfigvalue providing default configuration values.To change the default configuration, override or hide this
defwith another implicitPatienceConfigcontaining your desired default configuration values.- Definition Classes
 - PatienceConfiguration → AbstractPatienceConfiguration
 
 -   final  def scaled(span: Span): Span
Scales the passed
Spanby theDoublefactor returned byspanScaleFactor.Scales the passed
Spanby theDoublefactor returned byspanScaleFactor.The
Spanis scaled by invoking itsscaledBymethod, thus this method has the same behavior: The value returned byspanScaleFactorcan be any positive number or zero, including a fractional number. A number greater than one will scale theSpanup to a larger value. A fractional number will scale it down to a smaller value. A factor of 1.0 will cause the exact sameSpanto be returned. A factor of zero will causeSpan.ZeroLengthto be returned. If overflow occurs,Span.Maxwill be returned. If underflow occurs,Span.ZeroLengthwill be returned.- Definition Classes
 - ScaledTimeSpans
 - Exceptions thrown
 IllegalArgumentExceptionif the value returned fromspanScaleFactoris less than zero
 -    def spanScaleFactor: Double
The factor by which the
scaledmethod will scaleSpans.The factor by which the
scaledmethod will scaleSpans.The default implementation of this method will return the span scale factor that was specified for the run, or 1.0 if no factor was specified. For example, you can specify a span scale factor when invoking ScalaTest via the command line by passing a
-Fargument toRunner.- Definition Classes
 - ScaledTimeSpans
 
 -   final  def synchronized[T0](arg0: => T0): T0
- Definition Classes
 - AnyRef
 
 -    def timeout(value: Span): Timeout
Returns a
Timeoutconfiguration parameter containing the passed value, which specifies the maximum amount to wait for an asynchronous operation to complete.Returns a
Timeoutconfiguration parameter containing the passed value, which specifies the maximum amount to wait for an asynchronous operation to complete.- Definition Classes
 - PatienceConfiguration
 
 -    def toString(): String
- Definition Classes
 - AnyRef → Any
 
 -   final  def wait(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 -   final  def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 -   final  def wait(arg0: Long): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException]) @native()