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

    https://github.com/apache/incubator-spark/pull/638#discussion_r9980751
  
    --- Diff: 
core/src/test/scala/org/apache/spark/rdd/PairRDDFunctionsSuite.scala ---
    @@ -330,4 +335,74 @@ class PairRDDFunctionsSuite extends FunSuite with 
SharedSparkContext {
           (1, ArrayBuffer(1)),
           (2, ArrayBuffer(1))))
       }
    +
    +  test("saveNewAPIHadoopFile should call setConf if format is 
configurable") {
    +    val pairs = sc.parallelize(Array((new Integer(1), new Integer(1))))
    +    val conf = new Configuration()
    +
    +    //No error, non-configurable formats still work
    +    pairs.saveAsNewAPIHadoopFile[FakeFormat]("ignored")
    +
    +    //Configurable intercepts get configured
    +    //ConfigTestFormat throws an exception if we try to write to it
    +    //when setConf hasn't been thrown first.
    +    //Assertion is in ConfigTestFormat.getRecordWriter
    +    pairs.saveAsNewAPIHadoopFile[ConfigTestFormat]("ignored")
    +  }
    +}
    +
    +// These classes are fakes for testing
    +// "saveNewAPIHadoopFile should call setConf if format is configurable".
    +// Unfortunately, they have to be top level classes, and not defined in
    +// the test method, because otherwise Scala won't generate no-args 
constructors
    +// and the test will therefore throw InstantiationException when 
saveAsNewAPIHadoopFile
    +// tries to instantiate them with Class.newInstance.
    +class FakeWriter extends RecordWriter[Integer,Integer] {
    --- End diff --
    
    `Integer, Integer`


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. To do so, please top-post your response.
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
infrastruct...@apache.org or file a JIRA ticket with INFRA.
---

Reply via email to