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

    https://github.com/apache/spark/pull/21276#discussion_r187540472
  
    --- Diff: core/src/test/scala/org/apache/spark/util/UtilsSuite.scala ---
    @@ -1168,6 +1168,35 @@ class UtilsSuite extends SparkFunSuite with 
ResetSystemProperties with Logging {
           Utils.checkAndGetK8sMasterUrl("k8s://foo://host:port")
         }
       }
    +
    +  object MalformedClassObject {
    +    class MalformedClass
    +  }
    +
    +  test("Safe getSimpleName") {
    +    val fullname1 = "org.apache.spark.TestClass$MyClass"
    +    assert(Utils.getSimpleName(fullname1) === "TestClass$MyClass")
    +
    +    val fullname2 = "org.apache.spark.TestClass$MyClass$"
    +    assert(Utils.getSimpleName(fullname2) === "TestClass$MyClass")
    +
    +    val fullname3 = "org.apache.spark.TestClass$MyClass$1$"
    +    assert(Utils.getSimpleName(fullname3) === "TestClass$MyClass$1")
    +
    +    val fullname4 = "TestClass$MyClass$1$"
    +    assert(Utils.getSimpleName(fullname4) === "TestClass$MyClass$1")
    +
    +    val fullname5 = "$iwC$iwC$$iwC$$iwC$TestClass$MyClass$"
    +    assert(Utils.getSimpleName(fullname5) === "MyClass")
    +
    +    // getSimpleName on class MalformedClass will result in error: 
Malformed class name
    +    // Utils.getSimpleName works
    +    intercept[java.lang.InternalError] {
    +      classOf[MalformedClassObject.MalformedClass].getSimpleName
    +    }
    --- End diff --
    
    updated


---

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

Reply via email to