[SPARK-2703][Core]Make Tachyon related unit tests execute without deploying a Tachyon system locally.
Make Tachyon related unit tests execute without deploying a Tachyon system locally. Author: RongGu <gurongwalker@gmail.com> Closes #3030 from RongGu/SPARK-2703 and squashes the following commits: ad08827 [RongGu] Make Tachyon related unit tests execute without deploying a Tachyon system locally
This commit is contained in:
parent
227488d8cd
commit
bd86cb1738
|
@ -204,6 +204,13 @@
|
|||
<artifactId>derby</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.tachyonproject</groupId>
|
||||
<artifactId>tachyon</artifactId>
|
||||
<version>0.5.0</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.tachyonproject</groupId>
|
||||
<artifactId>tachyon-client</artifactId>
|
||||
|
|
|
@ -36,6 +36,7 @@ import org.mockito.Mockito.{mock, when}
|
|||
import org.scalatest.{BeforeAndAfter, FunSuite, Matchers, PrivateMethodTester}
|
||||
import org.scalatest.concurrent.Eventually._
|
||||
import org.scalatest.concurrent.Timeouts._
|
||||
import tachyon.master.LocalTachyonCluster
|
||||
|
||||
import org.apache.spark.{MapOutputTrackerMaster, SparkConf, SparkContext, SecurityManager}
|
||||
import org.apache.spark.executor.DataReadMethod
|
||||
|
@ -536,9 +537,14 @@ class BlockManagerSuite extends FunSuite with Matchers with BeforeAndAfter
|
|||
}
|
||||
|
||||
test("tachyon storage") {
|
||||
// TODO Make the spark.test.tachyon.enable true after using tachyon 0.5.0 testing jar.
|
||||
val tachyonUnitTestEnabled = conf.getBoolean("spark.test.tachyon.enable", false)
|
||||
val tachyonUnitTestEnabled = conf.getBoolean("spark.test.tachyon.enable", true)
|
||||
if (tachyonUnitTestEnabled) {
|
||||
val tachyonCluster = new LocalTachyonCluster(30000000)
|
||||
tachyonCluster.start()
|
||||
val tachyonURL = tachyon.Constants.HEADER +
|
||||
tachyonCluster.getMasterHostname() + ":" + tachyonCluster.getMasterPort()
|
||||
conf.set("spark.tachyonStore.url", tachyonURL)
|
||||
conf.set("spark.tachyonStore.folderName", "app-test")
|
||||
store = makeBlockManager(1200)
|
||||
val a1 = new Array[Byte](400)
|
||||
val a2 = new Array[Byte](400)
|
||||
|
@ -549,6 +555,7 @@ class BlockManagerSuite extends FunSuite with Matchers with BeforeAndAfter
|
|||
assert(store.getSingle("a3").isDefined, "a3 was in store")
|
||||
assert(store.getSingle("a2").isDefined, "a2 was in store")
|
||||
assert(store.getSingle("a1").isDefined, "a1 was in store")
|
||||
tachyonCluster.stop()
|
||||
} else {
|
||||
info("tachyon storage test disabled.")
|
||||
}
|
||||
|
|
|
@ -360,6 +360,8 @@ object TestSettings {
|
|||
testOptions += Tests.Argument(TestFrameworks.JUnit, "-v", "-a"),
|
||||
// Enable Junit testing.
|
||||
libraryDependencies += "com.novocode" % "junit-interface" % "0.9" % "test",
|
||||
// Enable Tachyon local testing.
|
||||
libraryDependencies += "org.tachyonproject" % "tachyon" % "0.5.0" % "test" classifier "tests",
|
||||
// Only allow one test at a time, even across projects, since they run in the same JVM
|
||||
parallelExecution in Test := false,
|
||||
concurrentRestrictions in Global += Tags.limit(Tags.Test, 1),
|
||||
|
|
Loading…
Reference in a new issue