Skip to content

Commit 1e4e5b5

Browse files
Chong Gaores-life
authored andcommitted
Test parallel unit test runner across Spark waves
Signed-off-by: Chong Gao <chongg@nvidia.com>
1 parent e2bfd92 commit 1e4e5b5

1 file changed

Lines changed: 20 additions & 2 deletions

File tree

tests/src/test/scala/com/nvidia/spark/rapids/ParallelUnitTestRunnerSuite.scala

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ class ParallelUnitTestRunnerSuite extends AnyFunSuite {
3434
private def fixtureRunnerArgs(
3535
reportsDir: Path,
3636
failFixture: Boolean,
37-
spoofResult: Boolean = false): Array[String] = {
37+
spoofResult: Boolean = false,
38+
sparkConfs: String = ""): Array[String] = {
3839
val testClasses = Paths.get(getClass.getProtectionDomain.getCodeSource.getLocation.toURI)
3940
val fixtureJvmArgs = Seq(
4041
if (failFixture) {
@@ -65,7 +66,7 @@ class ParallelUnitTestRunnerSuite extends AnyFunSuite {
6566
"maxAllocationFraction=1.0",
6667
"minAllocationFraction=0.25",
6768
"testFailureIgnore=false",
68-
"sparkConfs=",
69+
s"sparkConfs=$sparkConfs",
6970
"suiteTimeoutSeconds=30")
7071
}
7172

@@ -178,6 +179,23 @@ class ParallelUnitTestRunnerSuite extends AnyFunSuite {
178179
}
179180
}
180181

182+
test("main runs each configured Spark wave") {
183+
val reportsDir = Files.createTempDirectory("parallel-unit-test-waves")
184+
try {
185+
ParallelUnitTestRunner.main(fixtureRunnerArgs(
186+
reportsDir,
187+
failFixture = false,
188+
sparkConfs = "spark.sql.ansi.enabled=false;spark.sql.ansi.enabled=true"))
189+
190+
Seq(1, 2).foreach { wave =>
191+
assert(Files.isRegularFile(
192+
reportsDir.resolve(s"wave-$wave").resolve(s"TEST-$fixtureSuiteName.xml")))
193+
}
194+
} finally {
195+
FileUtil.fullyDelete(reportsDir.toFile)
196+
}
197+
}
198+
181199
test("main propagates a child JVM suite failure") {
182200
val reportsDir = Files.createTempDirectory("parallel-unit-test-failure")
183201
try {

0 commit comments

Comments
 (0)