Bug #69529 Parsing TAP output of unit test explain_filename-t fails
Submitted: 20 Jun 2013 19:42 Modified: 26 Jun 2013 13:50
Reporter: Davi Arnaut (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Tests Severity:S3 (Non-critical)
Version:5.5.32 OS:Any
Assigned to: CPU Architecture:Any
Tags: explain_filename-t, parse error, unit test

[20 Jun 2013 19:42] Davi Arnaut
Description:
Running the unit tests with TAP::Harness fails with a parser error:

Test Summary Report
-------------------
./explain_filename-t (Wstat: 0 Tests: 22 Failed: 0)
  Parse errors: No plan found in TAP output

The problem is that explain_filename-t is not printing a test plan as required by the TAP protocol. The test invokes plan(NO_PLAN) but does not invoke exit_status() at the end, where the plan would be printed.

How to repeat:
Use TAP::Harnes script to run unit tests.

Suggested fix:
--- a/unittest/mysys/explain_filename-t.cc
+++ b/unittest/mysys/explain_filename-t.cc
@@ -158,6 +158,6 @@ int main()
          "\"test\".\"t@0023#\"",
          EXPLAIN_PARTITIONS_AS_COMMENT);
 
-  return 0;
+  return exit_status();
 }
[20 Jun 2013 20:13] Davi Arnaut
Another how to repeat:

prove --exec '' ./unittest/mysys/explain_filename-t
[21 Jun 2013 6:49] MySQL Verification Team
Hello Davi,

Thank you for the report.
Verified as described.

Thanks,
Umesh
[21 Jun 2013 6:59] MySQL Verification Team
//

[ushastry@ushastry mysql-5.5.32]$ prove --exec '' unittest/mysys/explain_filename-t
unittest/mysys/explain_filename-t .. All 22 subtests passed 

Test Summary Report
-------------------
unittest/mysys/explain_filename-t (Wstat: 0 Tests: 22 Failed: 0)
  Parse errors: No plan found in TAP output
Files=1, Tests=22,  0 wallclock secs ( 0.02 usr +  0.01 sys =  0.03 CPU)
Result: FAIL

//
[26 Jun 2013 13:50] Paul DuBois
Changes for test suite. No changelog entry needed.
Fixed in 5.5.33, 5.6.13, 5.7.2.