@@ -60,8 +60,9 @@ class ExecutorClassLoaderSuite
6060 url1 = " file://" + tempDir1
6161 urls2 = List (tempDir2.toURI.toURL).toArray
6262 childClassNames.foreach(TestUtils .createCompiledClass(_, tempDir1, " 1" ))
63- parentResourceNames.foreach(x =>
64- Files .write(" resource" .getBytes(StandardCharsets .UTF_8 ), new File (tempDir2, x)))
63+ parentResourceNames.foreach { x =>
64+ Files .write(" resource" .getBytes(StandardCharsets .UTF_8 ), new File (tempDir2, x))
65+ }
6566 parentClassNames.foreach(TestUtils .createCompiledClass(_, tempDir2, " 2" ))
6667 }
6768
@@ -110,27 +111,21 @@ class ExecutorClassLoaderSuite
110111 test(" resource from parent" ) {
111112 val parentLoader = new URLClassLoader (urls2, null )
112113 val classLoader = new ExecutorClassLoader (new SparkConf (), url1, parentLoader, true )
113- val resourceName : String = " fake-resource.txt"
114- Option (classLoader.getResource(resourceName)) match {
115- case Some (url) => {
116- val fileReader = Source .fromInputStream(url.openStream()).bufferedReader()
117- assert(fileReader.readLine().contains(" resource" ), " File doesn't contain 'resource'" )
118- }
119- case None => fail(s " Resource $resourceName not found " )
120- }
114+ val resourceName : String = parentResourceNames.head
115+ val is = classLoader.getResourceAsStream(resourceName)
116+ assert(is != null , s " Resource $resourceName not found " )
117+ val content = Source .fromInputStream(is, " UTF-8" ).getLines().next()
118+ assert(content.contains(" resource" ), " File doesn't contain 'resource'" )
121119 }
122120
123121 test(" resources from parent" ) {
124122 val parentLoader = new URLClassLoader (urls2, null )
125123 val classLoader = new ExecutorClassLoader (new SparkConf (), url1, parentLoader, true )
126- val resourceName : String = " fake-resource.txt "
124+ val resourceName : String = parentResourceNames.head
127125 val resources : util.Enumeration [URL ] = classLoader.getResources(resourceName)
128- if (! resources.hasMoreElements) {
129- fail(s " Resource $resourceName not found " )
130- } else {
131- val fileReader = Source .fromInputStream(resources.nextElement().openStream()).bufferedReader()
132- assert(fileReader.readLine().contains(" resource" ), " File doesn't contain 'resource'" )
133- }
126+ assert(resources.hasMoreElements, s " Resource $resourceName not found " )
127+ val fileReader = Source .fromInputStream(resources.nextElement().openStream()).bufferedReader()
128+ assert(fileReader.readLine().contains(" resource" ), " File doesn't contain 'resource'" )
134129 }
135130
136131 test(" failing to fetch classes from HTTP server should not leak resources (SPARK-6209)" ) {
0 commit comments