Skip to content
  • Frazer Clement's avatar
    10064e2c
    Bug #27199949 NDB TESTING : MODIFY CLUSTERJ.TEST TO IMPROVE FAILURE REPORTING · 10064e2c
    Frazer Clement authored
    Improve reporting of clusterJ test errors.
    
    ClusterJ MTR test runs a jvm to run junit style tests.
    If the junit tests have a failure then the test fails
    using the MTR/mysqltest --die command.
    There is no .result file for the clusterj (or jtie)
    tests, so die or exit are the two possible outcomes.
    
    This results in a very minimal message being output for
    the failure, and when debugging in PB2, requires that
    vardirs are downloaded to see more useful log messages.
    
    To improve this, clusterj and ndb_jtie are modified
    to have a recorded result file.
    
    The result file is minimal and does not contain the
    JUNIT output.
    
    However if there is a failure running the JUNIT tests
    then the last 200 lines of JUNIT output is included
    in the test result.
    
    This causes a result content mismatch (as opposed to
    the test dieing) which should give more context from
    e.g. the PB2 web interface.
    
    Changes made :
     - Make normal output more stable
       - Don't include command binary names in output
         of exec_print_on_error (windows has .exe suffix)
       - Don't include command arguments in output
         of exec_print_on_error
       - Don't include jar names and paths in
         successfully-found paths
       - Don't include jvm path + version in
         success path output
       All of the above give a stable result in the
       success path
       In error paths, most of this info is made
       visible by logging the full java command
       line.  The info is also available in files
       in the VARDIR.
     - Change skip to --skip
     - Modify run_java.inc to not use --die, but
       rather change its output
     - Modify clusterj.test to not use --exit
     - Add a clusterj.result
     - Modify ndb_jtie.test to not use --exit
     - Add a ndb_jtie.result
    10064e2c
    Bug #27199949 NDB TESTING : MODIFY CLUSTERJ.TEST TO IMPROVE FAILURE REPORTING
    Frazer Clement authored
    Improve reporting of clusterJ test errors.
    
    ClusterJ MTR test runs a jvm to run junit style tests.
    If the junit tests have a failure then the test fails
    using the MTR/mysqltest --die command.
    There is no .result file for the clusterj (or jtie)
    tests, so die or exit are the two possible outcomes.
    
    This results in a very minimal message being output for
    the failure, and when debugging in PB2, requires that
    vardirs are downloaded to see more useful log messages.
    
    To improve this, clusterj and ndb_jtie are modified
    to have a recorded result file.
    
    The result file is minimal and does not contain the
    JUNIT output.
    
    However if there is a failure running the JUNIT tests
    then the last 200 lines of JUNIT output is included
    in the test result.
    
    This causes a result content mismatch (as opposed to
    the test dieing) which should give more context from
    e.g. the PB2 web interface.
    
    Changes made :
     - Make normal output more stable
       - Don't include command binary names in output
         of exec_print_on_error (windows has .exe suffix)
       - Don't include command arguments in output
         of exec_print_on_error
       - Don't include jar names and paths in
         successfully-found paths
       - Don't include jvm path + version in
         success path output
       All of the above give a stable result in the
       success path
       In error paths, most of this info is made
       visible by logging the full java command
       line.  The info is also available in files
       in the VARDIR.
     - Change skip to --skip
     - Modify run_java.inc to not use --die, but
       rather change its output
     - Modify clusterj.test to not use --exit
     - Add a clusterj.result
     - Modify ndb_jtie.test to not use --exit
     - Add a ndb_jtie.result
Loading