mirror of https://github.com/sbt/sbt.git
Normally I'd include these with the previous commit, but the diff is so large that I put them in their own commit. The tests handle 5 scenarios: 1) akka-actor-system -- a project that has Akka as a dependency and a simple main method that creates and terminates an ActorSystem. What is interesting about this test is that if scriptedBufferLog := false, we notice that the first call to run is slow, but subsequent calls to run and test are fast. The test does at least ensure that recycling the runtime layer in test works ok. 2) jni -- verifies that a project with native libraries will be able to load the library with each run. It actually swaps out the underlying library so that the it really ensures that the library is reloaded between runs. 3) library-mismatch -- verifies that the layered classloaders can work when the test dependencies are incompatible with the runtime dependencies. In this test, the test dependencies use an api in a library called foo-lib that isn't available in the version used by the runtime dependencies. Because of this incompatibility, the test will not work if Test / layeringStrategy := LayeringStrategy.Full. 4) scalatest -- verifies that a test runs using the scalatest framework 5) utest -- verifies that a test runs using the utest framework The reason for (4) and (5) is to ensure that both the in sourced test frameworks and external frameworks work with the new loaders. |
||
|---|---|---|
| .. | ||
| src/main/scala/sbt/scriptedtest | ||
| NOTICE | ||