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]