Github user maropu commented on a diff in the pull request:
https://github.com/apache/spark/pull/21276#discussion_r187279829
--- 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 --
Can we check the err message?
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]