This is an automated email from the ASF dual-hosted git repository.

gurwls223 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/master by this push:
     new 6337412973a [SPARK-46296][PYTHON][TESTS] Test missing test coverage 
for captured errors (pyspark.errors.exceptions)
6337412973a is described below

commit 6337412973af9431502d411679525c518214457a
Author: Hyukjin Kwon <gurwls...@apache.org>
AuthorDate: Thu Dec 7 13:32:31 2023 +0900

    [SPARK-46296][PYTHON][TESTS] Test missing test coverage for captured errors 
(pyspark.errors.exceptions)
    
    ### What changes were proposed in this pull request?
    
    This PR adds tests for negative cases of `getErrorClass` and `getSqlState`. 
And test case for `getMessageParameters` for errors.
    
    ### Why are the changes needed?
    
    To improve the test coverage.
    
    See 
https://app.codecov.io/gh/apache/spark/commit/1a651753f4e760643d719add3b16acd311454c76/blob/python/pyspark/errors/exceptions/captured.py
 This is not being tested.
    
    ### Does this PR introduce _any_ user-facing change?
    
    No, test-only
    
    ### How was this patch tested?
    
    Manually ran the new unittest.
    
    ### Was this patch authored or co-authored using generative AI tooling?
    
    Np.
    
    Closes #44224 from HyukjinKwon/SPARK-46296.
    
    Authored-by: Hyukjin Kwon <gurwls...@apache.org>
    Signed-off-by: Hyukjin Kwon <gurwls...@apache.org>
---
 python/pyspark/errors/exceptions/captured.py | 2 +-
 python/pyspark/sql/tests/test_utils.py       | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/python/pyspark/errors/exceptions/captured.py 
b/python/pyspark/errors/exceptions/captured.py
index df23be8a979..ec987e0854e 100644
--- a/python/pyspark/errors/exceptions/captured.py
+++ b/python/pyspark/errors/exceptions/captured.py
@@ -104,7 +104,7 @@ class CapturedException(PySparkException):
         if self._origin is not None and is_instance_of(
             gw, self._origin, "org.apache.spark.SparkThrowable"
         ):
-            return self._origin.getMessageParameters()
+            return dict(self._origin.getMessageParameters())
         else:
             return None
 
diff --git a/python/pyspark/sql/tests/test_utils.py 
b/python/pyspark/sql/tests/test_utils.py
index b99ca41e84f..f633837002e 100644
--- a/python/pyspark/sql/tests/test_utils.py
+++ b/python/pyspark/sql/tests/test_utils.py
@@ -1749,6 +1749,14 @@ class UtilsTests(ReusedSQLTestCase, UtilsTestsMixin):
         except AnalysisException as e:
             self.assertEqual(e.getErrorClass(), 
"UNRESOLVED_COLUMN.WITHOUT_SUGGESTION")
             self.assertEqual(e.getSqlState(), "42703")
+            self.assertEqual(e.getMessageParameters(), {"objectName": "`a`"})
+
+        try:
+            self.spark.sql("""SELECT assert_true(FALSE)""")
+        except AnalysisException as e:
+            self.assertIsNone(e.getErrorClass())
+            self.assertIsNone(e.getSqlState())
+            self.assertEqual(e.getMessageParameters(), {})
 
 
 if __name__ == "__main__":


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org

Reply via email to