Github user JoshRosen commented on a diff in the pull request:

    https://github.com/apache/spark/pull/3670#discussion_r23972657
  
    --- Diff: core/src/test/scala/org/apache/spark/SparkContextSuite.scala ---
    @@ -72,4 +77,85 @@ class SparkContextSuite extends FunSuite with 
LocalSparkContext {
         val byteArray2 = converter.convert(bytesWritable)
         assert(byteArray2.length === 0)
       }
    +
    +  test("addFile works") {
    +    val file = new File("somefile")
    +    val absolutePath = file.getAbsolutePath
    +    try {
    +      Files.write("somewords", file, UTF_8)
    +      val length = file.length()
    +      sc = new SparkContext(new 
SparkConf().setAppName("test").setMaster("local"))
    +      sc.addFile(file.getAbsolutePath)
    +      sc.parallelize(Array(1), 1).map(x => {
    +        val gotten = new File(SparkFiles.get(file.getName))
    +        if (!gotten.exists()) {
    +          throw new SparkException("file doesn't exist")
    +        }
    +        if (length != gotten.length()) {
    +          throw new SparkException(
    +            s"file has different length $length than added file 
${gotten.length()}")
    +        }
    +        if (absolutePath == gotten.getAbsolutePath) {
    +          throw new SparkException("file should have been copied")
    +        }
    +        x
    +      }).count()
    +    } finally {
    +      sc.stop()
    +      file.delete()
    +    }
    +  }
    +
    +  test("addFile recursive works") {
    +    val pluto = new File("pluto")
    --- End diff --
    
    Similarly, I suppose you could create these under a temporary directory and 
use that to manage the cleanup.  That might be better since it would handle 
some corner-cases with deleting non-empty directories.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to