maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #01044
Rev 2734: merge in file:///Users/bell/maria/bzr/work-maria-5.1-mysql-test-run-merge/
At file:///Users/bell/maria/bzr/work-maria-5.1-mysql-test-run-merge/
------------------------------------------------------------
revno: 2734 [merge]
revision-id: sanja@xxxxxxxxxxxx-20090924124939-nwi2kr48x0as70n8
parent: hakan@xxxxxxxxxxxx-20090918193250-imuhuvjq1n21b01n
parent: sanja@xxxxxxxxxxxx-20090924121915-k4ooompd72l2hkn5
committer: sanja@xxxxxxxxxxxx
branch nick: work-maria-5.1-mysql-test-run-merge
timestamp: Thu 2009-09-24 15:49:39 +0300
message:
merge
modified:
mysql-test/lib/mtr_misc.pl sp1f-mtr_misc.pl-20041230152647-z3fkxvkkqfydzuwdmzjgkfo3tyetnp3a
mysql-test/mysql-test-run.pl sp1f-mysqltestrun.pl-20041230152716-xjnn5ndv4rr4by6ijmj5a4ysubxc7qh3
=== modified file 'mysql-test/lib/mtr_misc.pl'
--- a/mysql-test/lib/mtr_misc.pl 2009-02-19 09:01:25 +0000
+++ b/mysql-test/lib/mtr_misc.pl 2009-09-24 12:19:15 +0000
@@ -174,4 +174,24 @@
select(undef, undef, undef, ($millis/1000));
}
+sub mtr_wait_lock_file {
+ die "usage: mtr_wait_lock_file(path_to_file, keep_alive)" unless @_ == 2;
+ my ($file, $keep_alive)= @_;
+ my $waited= 0;
+ my $msg_counter= $keep_alive;
+
+ while ( -e $file)
+ {
+ if ($keep_alive && !$msg_counter)
+ {
+ print "\n-STOPPED- [pass] ".$keep_alive."\n";
+ $msg_counter= $keep_alive;
+ }
+ mtr_milli_sleep(1000);
+ $waited= 1;
+ $msg_counter--;
+ }
+ return ($waited);
+}
+
1;
=== modified file 'mysql-test/mysql-test-run.pl'
--- a/mysql-test/mysql-test-run.pl 2009-09-04 07:45:34 +0000
+++ b/mysql-test/mysql-test-run.pl 2009-09-24 12:49:39 +0000
@@ -253,6 +253,11 @@
my $opt_parallel= $ENV{MTR_PARALLEL} || 1;
+# lock file to stop tests
+my $opt_stop_file= $ENV{MTR_STOP_FILE};
+# print messages when test suite is stopped (for buildbot)
+my $opt_stop_keep_alive= $ENV{MTR_STOP_KEEP_ALIVE};
+
select(STDOUT);
$| = 1; # Automatically flush STDOUT
@@ -451,6 +456,15 @@
my $s= IO::Select->new();
$s->add($server);
while (1) {
+ if ($opt_stop_file)
+ {
+ if (mtr_wait_lock_file($opt_stop_file, $opt_stop_keep_alive))
+ {
+ # We were waiting so restart timer process
+ $suite_timeout_proc->kill();
+ $suite_timeout_proc= My::SafeProcess->timer(suite_timeout());
+ }
+ }
my @ready = $s->can_read(1); # Wake up once every second
foreach my $sock (@ready) {
if ($sock == $server) {
@@ -933,6 +947,8 @@
'warnings!' => \$opt_warnings,
'timestamp' => \&report_option,
'timediff' => \&report_option,
+ 'stop-file=s' => \$opt_stop_file,
+ 'stop-keep-alive=i' => \$opt_stop_keep_alive,
'help|h' => \$opt_usage,
'list-options' => \$opt_list_options,
@@ -5409,6 +5425,14 @@
warnings Scan the log files for warnings. Use --nowarnings
to turn off.
+ stop-file=file (also MTR_STOP_FILE environment variable) if this
+ file detected mysql test will not start new tests
+ until the file will be removed.
+ stop-keep-alive=sec (also MTR_STOP_KEEP_ALIVE environment variable)
+ works with stop-file, print messages every sec
+ seconds when mysql test is waiting to removing
+ the file (for buildbot)
+
sleep=SECONDS Passed to mysqltest, will be used as fixed sleep time
debug-sync-timeout=NUM Set default timeout for WAIT_FOR debug sync
actions. Disable facility with NUM=0.