Skip to content

Commit 9969b23

Browse files
authored
Merge pull request #163 from RedisLabs/suppress-spark-err-msg-in-tests-output
suppress spark errors in a unit tests output
2 parents c559554 + 4fa94d7 commit 9969b23

File tree

4 files changed

+28
-5
lines changed

4 files changed

+28
-5
lines changed

src/test/scala/com/redislabs/provider/redis/df/BinaryDataframeSuite.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ trait BinaryDataframeSuite extends RedisDataframeSuite with Matchers {
3737
.option(SqlOptionModel, SqlOptionModelBinary)
3838
.option(SqlOptionTableName, tableName)
3939
.save()
40-
intercept[SparkException] {
40+
interceptSparkErr[SparkException] {
4141
spark.read.format(RedisFormat)
4242
.option(SqlOptionTableName, tableName)
4343
.load()
@@ -51,7 +51,7 @@ trait BinaryDataframeSuite extends RedisDataframeSuite with Matchers {
5151
df.write.format(RedisFormat)
5252
.option(SqlOptionTableName, tableName)
5353
.save()
54-
intercept[SparkException] {
54+
interceptSparkErr[SparkException] {
5555
spark.read.format(RedisFormat)
5656
.option(SqlOptionModel, SqlOptionModelBinary)
5757
.option(SqlOptionTableName, tableName)
@@ -93,7 +93,7 @@ trait BinaryDataframeSuite extends RedisDataframeSuite with Matchers {
9393
.option(SqlOptionModel, SqlOptionModelHash)
9494
.save()
9595
saveMap(tableName, RedisSourceRelation.uuid(), Person.dataMaps.head)
96-
intercept[SparkException] {
96+
interceptSparkErr[SparkException] {
9797
spark.read.format(RedisFormat)
9898
.option(SqlOptionTableName, tableName)
9999
.option(SqlOptionModel, SqlOptionModelHash)

src/test/scala/com/redislabs/provider/redis/df/DataframeSuite.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ trait DataframeSuite extends RedisDataframeSuite with Matchers {
148148
.option(SqlOptionTableName, tableName)
149149
.save()
150150
// the modified information should not be persisted
151-
intercept[IllegalStateException] {
151+
interceptSparkErr[IllegalStateException] {
152152
spark.createDataFrame(data.map(p => p.copy(age = p.age + 1)))
153153
.write.format(RedisFormat)
154154
.option(SqlOptionTableName, tableName)

src/test/scala/com/redislabs/provider/redis/df/HashDataframeSuite.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ trait HashDataframeSuite extends RedisDataframeSuite with Matchers with Logging
284284
.option(SqlOptionModel, SqlOptionModelBinary)
285285
.save()
286286
saveMap(tableName, extraKey, Person.dataMaps.head)
287-
intercept[SparkException] {
287+
interceptSparkErr[SparkException] {
288288
spark.read.format(RedisFormat)
289289
.schema(Person.fullSchema)
290290
.option(SqlOptionTableName, tableName)

src/test/scala/com/redislabs/provider/redis/util/TestUtils.scala

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ package com.redislabs.provider.redis.util
22

33
import java.util.UUID
44

5+
import org.scalatest.Assertions
6+
import scala.reflect.Manifest
7+
58
object TestUtils {
69

710
def generateTableName(prefix: String): String = {
@@ -13,4 +16,24 @@ object TestUtils {
1316
UUID.randomUUID().toString.replace("-", "")
1417
}
1518

19+
/**
20+
* A wrapper of Assertions.intercept() that suppresses spark errors in the logs.
21+
* It makes easier to analyse unit tests output.
22+
*/
23+
def interceptSparkErr[T <: AnyRef](f: => Any)(implicit manifest: Manifest[T]): T = {
24+
// turn off spark logger
25+
val logger = org.apache.log4j.Logger.getLogger("org")
26+
val levelBefore = logger.getLevel
27+
logger.setLevel(org.apache.log4j.Level.OFF)
28+
29+
// delegate interception
30+
val interceptRes = Assertions.intercept(f)
31+
32+
// revert logger
33+
logger.setLevel(levelBefore)
34+
35+
interceptRes
36+
}
37+
38+
1639
}

0 commit comments

Comments
 (0)