Skip to content

Commit 263593d

Browse files
author
Andrew Or
committed
Finalize tests
1 parent 06fd668 commit 263593d

File tree

1 file changed

+16
-22
lines changed

1 file changed

+16
-22
lines changed

core/src/test/scala/org/apache/spark/util/ClosureCleanerSuite2.scala

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@ import org.scalatest.{BeforeAndAfterAll, FunSuite}
2424
import org.apache.spark.{SparkContext, SparkException}
2525
import org.apache.spark.serializer.SerializerInstance
2626

27-
// TODO: REMOVE ME
28-
import java.util.Properties
29-
import org.apache.log4j.PropertyConfigurator
30-
3127
/**
3228
* Another test suite for the closure cleaner that is finer-grained.
3329
* For tests involving end-to-end Spark jobs, see {{ClosureCleanerSuite}}.
@@ -56,6 +52,7 @@ class ClosureCleanerSuite2 extends FunSuite with BeforeAndAfterAll {
5652
private def someSerializableMethod() = 1
5753
private def someNonSerializableMethod() = new NonSerializable
5854

55+
/** Assert that the given closure is serializable (or not). */
5956
private def assertSerializable(closure: AnyRef, serializable: Boolean): Unit = {
6057
if (serializable) {
6158
closureSerializer.serialize(closure)
@@ -66,6 +63,10 @@ class ClosureCleanerSuite2 extends FunSuite with BeforeAndAfterAll {
6663
}
6764
}
6865

66+
/**
67+
* Helper method for testing whether closure cleaning works as expected.
68+
* This cleans the given closure twice, with and without transitive cleaning.
69+
*/
6970
private def testClean(
7071
closure: AnyRef,
7172
serializableBefore: Boolean,
@@ -74,6 +75,7 @@ class ClosureCleanerSuite2 extends FunSuite with BeforeAndAfterAll {
7475
testClean(closure, serializableBefore, serializableAfter, transitive = false)
7576
}
7677

78+
/** Helper method for testing whether closure cleaning works as expected. */
7779
private def testClean(
7880
closure: AnyRef,
7981
serializableBefore: Boolean,
@@ -266,26 +268,18 @@ class ClosureCleanerSuite2 extends FunSuite with BeforeAndAfterAll {
266268
testClean(inner2, serializableBefore = false, serializableAfter = true, transitive = true)
267269
}
268270

271+
// Same as above, but with more levels of nesting
272+
val test3 = () => { () => test1() }
273+
val test4 = () => { () => test2() }
274+
val test5 = () => { () => { () => test3() } }
275+
val test6 = () => { () => { () => test4() } }
276+
269277
test1()
270278
test2()
271-
}
272-
273-
274-
275-
276-
277-
// TODO: REMOVE ME
278-
configureLog4j()
279-
private def configureLog4j(): Unit = {
280-
val pro = new Properties()
281-
pro.put("log4j.rootLogger", "WARN, console")
282-
pro.put("log4j.appender.console", "org.apache.log4j.ConsoleAppender")
283-
pro.put("log4j.appender.console.target", "System.err")
284-
pro.put("log4j.appender.console.layout", "org.apache.log4j.PatternLayout")
285-
pro.put("log4j.appender.console.layout.ConversionPattern",
286-
"%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n")
287-
pro.put("log4j.logger.org.apache.spark.util.ClosureCleaner", "DEBUG")
288-
PropertyConfigurator.configure(pro)
279+
test3()()
280+
test4()()
281+
test5()()()
282+
test6()()()
289283
}
290284

291285
}

0 commit comments

Comments
 (0)