HyukjinKwon opened a new pull request #25630: [WIP][SPARK-28894][SQL][TESTS] 
Add a clue to make it easier to debug via Jenkins's test results
URL: https://github.com/apache/spark/pull/25630
 
 
   ### What changes were proposed in this pull request?
   
   See 
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/109834/testReport/junit/org.apache.spark.sql/SQLQueryTestSuite/
   
   ![Screen Shot 2019-08-28 at 4 08 58 
PM](https://user-images.githubusercontent.com/6477701/63833484-2a23ea00-c9ae-11e9-91a1-0859cb183fea.png)
   
   ```xml
   <?xml version="1.0" encoding="UTF-8"?>
   <testsuite hostname="C02Y52ZLJGH5" 
name="org.apache.spark.sql.SQLQueryTestSuite" tests="3" errors="0" failures="0" 
skipped="0" time="14.475">
       ...
       <testcase classname="org.apache.spark.sql.SQLQueryTestSuite" name="sql - 
Scala UDF" time="6.703">
       </testcase>
       <testcase classname="org.apache.spark.sql.SQLQueryTestSuite" name="sql - 
Regular Python UDF" time="4.442">
       </testcase>
       <testcase classname="org.apache.spark.sql.SQLQueryTestSuite" name="sql - 
Scalar Pandas UDF" time="3.33">
       </testcase>
       <system-out/>
       <system-err/>
   </testsuite>
   ```
   
   Root cause seems a bug in SBT - it truncates the test name based on the last 
dot.
   
   https://github.com/sbt/sbt/issues/2949
   
https://github.com/sbt/sbt/blob/v0.13.18/testing/src/main/scala/sbt/JUnitXmlTestsListener.scala#L71-L79
   
   I tried to find a better way but couldn't find. Therefore, this PR proposes 
a workaround by appending the test file name into the assert log:
   
   ```diff
     [info] - inner-join.sql *** FAILED *** (4 seconds, 306 milliseconds)
   + [info]   inner-join.sql
     [info]   Expected "1       a
     [info]   1 a
     [info]   1 b
     [info]   1[]", but got "1  a
     [info]   1 a
     [info]   1 b
     [info]   1[        b]" Result did not match for query #6
     [info]   SELECT tb.* FROM ta INNER JOIN tb ON ta.a = tb.a AND ta.tag = 
tb.tag (SQLQueryTestSuite.scala:377)
     [info]   org.scalatest.exceptions.TestFailedException:
     [info]   at 
org.scalatest.Assertions.newAssertionFailedException(Assertions.scala:528)
   ```
   
   It will at least prevent us to search full logs to identify which test file 
is failed.
   
   ### Why are the changes needed?
   To debug Jenkins logs easier. Otherwise, we should open full logs and search 
which test was failed.
   
   ### Does this PR introduce any user-facing change?
   It will print out the file name of failed tests in Jenkins' test reports.
   
   ### How was this patch tested?
   Manually tested but Jenkins tests are required in this PR.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

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

Reply via email to