diff options
author | unknown <msvensson@neptunus.(none)> | 2006-01-27 10:49:07 +0100 |
---|---|---|
committer | unknown <msvensson@neptunus.(none)> | 2006-01-27 10:49:07 +0100 |
commit | 7ee0c6b5cfa14d2f3ab9655d937ac20c0da0506b (patch) | |
tree | ef0edf4b9c14460884d85ebaa6212e67e892a336 /mysql-test/mysql-test-run.pl | |
parent | f300c891870c3b0874c3c4a1cfb70d116af17457 (diff) | |
parent | 313ea47da4c20a89a5d1178ae4bec913126ad38f (diff) | |
download | mariadb-git-7ee0c6b5cfa14d2f3ab9655d937ac20c0da0506b.tar.gz |
Merge neptunus.(none):/home/msvensson/mysql/mysqltestrun_check_testcases/my50-mysqltestrun_check_testcases
into neptunus.(none):/home/msvensson/mysql/mysqltest_var/my50-mysqltest_var-integration
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/rpl000001.result:
Auto merged
mysql-test/r/rpl_loaddata.result:
Auto merged
mysql-test/r/rpl_loaddata_rule_m.result:
Auto merged
mysql-test/r/rpl_loaddata_rule_s.result:
Auto merged
mysql-test/r/rpl_misc_functions.result:
Auto merged
mysql-test/r/rpl_replicate_do.result:
Auto merged
mysql-test/r/sp-security.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/r/view_grant.result:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/rpl000001.test:
Auto merged
mysql-test/t/rpl_loaddata.test:
Auto merged
mysql-test/t/rpl_loaddata_rule_m.test:
Auto merged
mysql-test/t/rpl_loaddata_rule_s.test:
Auto merged
mysql-test/t/rpl_misc_functions.test:
Auto merged
mysql-test/t/rpl_replicate_do.test:
Auto merged
mysql-test/t/sp-security.test:
Auto merged
mysql-test/t/trigger-compat.test:
Auto merged
mysql-test/r/trigger-compat.result:
Merge
Diffstat (limited to 'mysql-test/mysql-test-run.pl')
-rwxr-xr-x | mysql-test/mysql-test-run.pl | 64 |
1 files changed, 63 insertions, 1 deletions
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 37aa6898a69..f307cc441a1 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -239,6 +239,7 @@ our $opt_manager_port; # Does nothing now, we never use manager our $opt_old_master; our $opt_record; +our $opt_check_testcases; our $opt_result_ext; @@ -542,6 +543,7 @@ sub command_line_setup () { # Test case authoring 'record' => \$opt_record, + 'check-testcases' => \$opt_check_testcases, # ??? 'mysqld=s' => \@opt_extra_mysqld_opt, @@ -2541,6 +2543,54 @@ sub im_stop($) { $instance_manager->{'pid'} = undef; } +# +# Run include/check-testcase.test +# Before a testcase, run in record mode, save result file to var +# After testcase, run and compare with the recorded file, they should be equal! +# +sub run_check_testcase ($) { + + my $mode= shift; + + my $args; + mtr_init_args(\$args); + + mtr_add_arg($args, "--no-defaults"); + mtr_add_arg($args, "--silent"); + mtr_add_arg($args, "-v"); + mtr_add_arg($args, "--skip-safemalloc"); + mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir); + + mtr_add_arg($args, "--socket=%s", $master->[0]->{'path_mysock'}); + mtr_add_arg($args, "--port=%d", $master->[0]->{'path_myport'}); + mtr_add_arg($args, "--database=test"); + mtr_add_arg($args, "--user=%s", $opt_user); + mtr_add_arg($args, "--password="); + + mtr_add_arg($args, "-R"); + mtr_add_arg($args, "$opt_vardir/tmp/check-testcase.result"); + + if ( $mode eq "before" ) + { + mtr_add_arg($args, "--record"); + } + + my $res = mtr_run_test($exe_mysqltest,$args, + "include/check-testcase.test", "", "", ""); + + if ( $res == 1 and $mode = "after") + { + mtr_run("diff",["-u", + "$opt_vardir/tmp/check-testcase.result", + "$opt_vardir/tmp/check-testcase.reject"], + "", "", "", ""); + } + elsif ( $res ) + { + mtr_error("Could not execute 'check-testcase' $mode testcase"); + } +} + sub run_mysqltest ($) { my $tinfo= shift; @@ -2770,7 +2820,18 @@ sub run_mysqltest ($) { mtr_add_arg($args, "--record"); } - return mtr_run_test($exe,$args,$tinfo->{'path'},"",$path_timefile,""); + if ( $opt_check_testcases ) + { + run_check_testcase("before"); + } + + my $res = mtr_run_test($exe,$args,$tinfo->{'path'},"",$path_timefile,""); + + if ( $opt_check_testcases ) + { + run_check_testcase("after"); + } + return $res; } @@ -2852,6 +2913,7 @@ Options that specify ports Options for test case authoring record TESTNAME (Re)genereate the result file for TESTNAME + check-testcases Check testcases for sideeffects Options that pass on options |