ScalaTest 2.1.7 is a maintenance release for the 2.1.x series that includes the two changes listed below.
No source code using ScalaTest 2.0+ should break, but you may need to do a clean build to upgrade.
Although, 2.1.7 will likely binary compatible for the vast majority of projects using earlier 2.1.x versions, because of a compiler bug in the interaction of
the no-specialization
flag and DelayedInit
under Scala 2.10, it is safest to do a clean build to upgrade to 2.1.7.
AsyncAssertions
, if a >Waiter
receives more than the expected number of dismissals, it will no longer report
this as an error: i.e., receiving greater than the number of expected dismissals without any failed assertion will simply
cause the the test to complete, not to fail. As of 2.1.7, the only way a Waiter
will cause a test to fail is if one of the
asynchronous assertions to which it is applied fails.Compiled ScalaTest 2.1.7 without the no-specialization
flag. This flag was set in the ScalaTest build several years ago to work around a bug in the Scala
compiler. Although that compiler bug was fixed, the no-specialization
flag persisted under the radar in the ScalaTest build until now. In theory the removal
of this flag in the ScalaTest build shouldn't affect any users, but because of a bug in the interaction of Scala's DelayedInit
flag and
the no-specialization
flag in Scala 2.10, there's a chance some users may need to recompile their tests without the no-specialiation
flag under 2.10.
The only place DelayedInit
appears in ScalaTest is in its
NoArg
trait. The documentation for this trait recommends using
it only as a last resort, when none of the other, simpler alternatives for sharing fixtures will suffice. So NoArg
should be only rarely used, but
if you have used it and lightening strikes, it will take the form of a NoSuchMethodError
when your tests run even though everything has compiled fine.
To solve this problem, do a clean build of your project without the no-specialization
flag. If you have any problems with this, please
post to ScalaTest users and we'll help you out.
Visit ScalaTest Release Notes for links to the release notes of all previous versions, or step back in time by visiting the release notes for the previous version.
ScalaTest is brought to you by Bill Venners and Artima.
ScalaTest is free, open-source software
released under the Apache
2.0 license.
If your company loves ScalaTest, please consider sponsoring the project.
Copyright © 2009-2025 Artima, Inc. All Rights Reserved.