Commit 32926414 authored by unknown's avatar unknown

Bug#17574 Detect cluster start failure and "fail" ndb_* tests


mysql-test/lib/mtr_cases.pl:
  Always set "ndb_test" if tets name contains ndb. 
  Set to skipped if "--skip-ndbcluster"
mysql-test/lib/mtr_report.pl:
  Print special error message for ndb_test that are failed due to failure to start or install ndbcluster
mysql-test/mysql-test-run.pl:
  Remove mtr_error call from ndbcluster_install, instead check after ndbcluster_install if test run should continue or if it should be aborted
  Faile ndb test and print special error message if it's a ndb test and flag_ndb_status_ok is not ok
parent 89378fe8
...@@ -253,19 +253,14 @@ sub collect_one_test_case($$$$$$$) { ...@@ -253,19 +253,14 @@ sub collect_one_test_case($$$$$$$) {
} }
# Cluster is needed by test case if testname contains ndb # Cluster is needed by test case if testname contains ndb
if ( ( $::opt_with_ndbcluster or $::glob_use_running_ndbcluster ) and if ( defined mtr_match_substring($tname,"ndb") )
defined mtr_match_substring($tname,"ndb") )
{ {
$tinfo->{'ndb_test'}= 1;
if ( $::opt_skip_ndbcluster ) if ( $::opt_skip_ndbcluster )
{ {
$tinfo->{'ndb_test'}= 0;
$tinfo->{'skip'}= 1; $tinfo->{'skip'}= 1;
return; return;
} }
else
{
$tinfo->{'ndb_test'}= 1;
}
} }
else else
{ {
......
...@@ -114,6 +114,11 @@ sub mtr_report_test_failed ($) { ...@@ -114,6 +114,11 @@ sub mtr_report_test_failed ($) {
{ {
print "[ fail ] timeout\n"; print "[ fail ] timeout\n";
} }
elsif ( $tinfo->{'ndb_test'} and !$::flag_ndb_status_ok)
{
print "[ fail ] ndbcluster start failure\n";
return;
}
else else
{ {
print "[ fail ]\n"; print "[ fail ]\n";
......
...@@ -1396,7 +1396,6 @@ sub ndbcluster_install () { ...@@ -1396,7 +1396,6 @@ sub ndbcluster_install () {
"--initial"], "--initial"],
"", "", "", "") ) "", "", "", "") )
{ {
mtr_error("Error ndbcluster_install");
return 1; return 1;
} }
...@@ -1603,9 +1602,19 @@ sub mysql_install_db () { ...@@ -1603,9 +1602,19 @@ sub mysql_install_db () {
if ( ndbcluster_install() ) if ( ndbcluster_install() )
{ {
# failed to install, disable usage but flag that its no ok if ( $opt_force)
$opt_with_ndbcluster= 0; {
$flag_ndb_status_ok= 0; # failed to install, disable usage and flag that its no ok
mtr_report("ndbcluster_install failed, continuing without cluster");
$opt_with_ndbcluster= 0;
$flag_ndb_status_ok= 0;
}
else
{
print "Aborting: Failed to install ndb cluster\n";
print "To continue, re-run with '--force'.\n";
mtr_exit(1);
}
} }
return 0; return 0;
...@@ -1805,6 +1814,13 @@ sub run_testcase ($) { ...@@ -1805,6 +1814,13 @@ sub run_testcase ($) {
return; return;
} }
if ( $tinfo->{'ndb_test'} and ! $flag_ndb_status_ok )
{
mtr_report_test_name($tinfo);
mtr_report_test_failed($tinfo);
return;
}
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# If not using a running servers we may need to stop and restart. # If not using a running servers we may need to stop and restart.
# We restart in the case we have initiation scripts, server options # We restart in the case we have initiation scripts, server options
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment