mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 03:17:20 +02:00
Bug fixes and new features to ma_test_all-t
scripts/mysql_fix_privilege_tables.sh: Fix a problem with events table not getting updated correctly. This happens when you run scripts/mysql_fix_privilege_tables and you have an old version of mysql_fix_privilege_tables.sql in the actual installation directory. This patch makes it look for the file inside the source dir first. storage/maria/unittest/ma_test_all-t: Added several new options for ma_test_all-t --verbose is handy, if you want to run the tests separately on the screen. Added functions for counting tests and a possibility to separate a group of tests inside an array of test. unittest/Makefile.am: Fixed a problem with make test not executing ma_test_all-t properly from the top source dir.
This commit is contained in:
parent
c719e1fd33
commit
cab8a363ee
3 changed files with 297 additions and 188 deletions
|
|
@ -149,7 +149,7 @@ then
|
|||
fi
|
||||
|
||||
# Find where first mysql_fix_privilege_tables.sql is located
|
||||
for i in $basedir/support-files $basedir/share $basedir/share/mysql \
|
||||
for i in scripts $basedir/support-files $basedir/share $basedir/share/mysql \
|
||||
$basedir/scripts $pkgdatadir . "$dirname"
|
||||
do
|
||||
if test -f $i/$file
|
||||
|
|
|
|||
|
|
@ -3,8 +3,25 @@
|
|||
# Run various unit tests.
|
||||
#
|
||||
|
||||
use Getopt::Long;
|
||||
|
||||
$|= 1;
|
||||
$VER= "1.1";
|
||||
|
||||
$opt_version= 0;
|
||||
$opt_help= 0;
|
||||
$opt_verbose= 0;
|
||||
$opt_maria_path= undef();
|
||||
$opt_valgrind= "valgrind --alignment=8 --leak-check=yes";
|
||||
$opt_suffix= "";
|
||||
$opt_silent= "-s";
|
||||
my $maria_path= $ENV{'maria_path'};
|
||||
|
||||
my $my_progname= $0;
|
||||
$my_progname=~ s/.*[\/]//;
|
||||
my $runtime_error= 0; # Return 1 if error(s) occur during run
|
||||
my $NEW_TEST= 0; # Test group separator in an array of tests
|
||||
|
||||
run_tests();
|
||||
|
||||
####
|
||||
|
|
@ -13,16 +30,34 @@ run_tests();
|
|||
|
||||
sub run_tests
|
||||
{
|
||||
my $valgrind_opt= "valgrind --alignment=8 --leak-check=yes";
|
||||
my $silent_opt= "-s";
|
||||
my $suffix= "";
|
||||
my $nr_tests= 0;
|
||||
my $flag_exit= 0;
|
||||
|
||||
if (!GetOptions("help", "version", "verbose", "maria-path=s",
|
||||
"valgrind=s", "suffix=s", "silent=s"))
|
||||
{
|
||||
$flag_exit= 1;
|
||||
}
|
||||
if ($opt_version)
|
||||
{
|
||||
print "$my_progname version $VER\n";
|
||||
exit(0);
|
||||
}
|
||||
if (defined($opt_maria_path))
|
||||
{
|
||||
$maria_path= $opt_maria_path;
|
||||
}
|
||||
if (!defined($maria_path) || !length($maria_path))
|
||||
{
|
||||
$maria_path= ".";
|
||||
}
|
||||
|
||||
usage() if ($opt_help || $flag_exit);
|
||||
|
||||
#
|
||||
# initialisations and previous run clean-ups
|
||||
# clean-up
|
||||
#
|
||||
|
||||
$maria_path= "." if (!defined($maria_path) || !length($maria_path));
|
||||
unlink <*.TMD maria_log*>; # Delete temporary files
|
||||
|
||||
#
|
||||
|
|
@ -49,33 +84,52 @@ sub run_tests
|
|||
# Run tests
|
||||
#
|
||||
|
||||
print "1..$nr_tests\n";
|
||||
if (!$opt_verbose)
|
||||
{
|
||||
print "1..$nr_tests\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
print "Total tests: $nr_tests\n";
|
||||
}
|
||||
|
||||
print "Running tests with dynamic row format\n";
|
||||
run_check_tests($suffix, $silent_opt, "", 0, 0);
|
||||
run_repair_tests($suffix, $silent_opt, "", 0, 0);
|
||||
run_pack_tests($suffix, $silent_opt, "", 0, 0);
|
||||
if ($opt_verbose)
|
||||
{
|
||||
print "Running tests with dynamic row format\n"
|
||||
}
|
||||
run_check_tests($opt_suffix, $opt_silent, "", $opt_verbose, 0);
|
||||
run_repair_tests($opt_suffix, $opt_silent, "", $opt_verbose, 0);
|
||||
run_pack_tests($opt_suffix, $opt_silent, "", $opt_verbose, 0);
|
||||
|
||||
print "Running tests with static row format\n";
|
||||
run_check_tests($suffix, $silent_opt, "-S", 0, 0);
|
||||
run_repair_tests($suffix, $silent_opt, "-S", 0, 0);
|
||||
run_pack_tests($suffix, $silent_opt, "-S", 0, 0);
|
||||
if ($opt_verbose)
|
||||
{
|
||||
print "\nRunning tests with static row format\n";
|
||||
}
|
||||
run_check_tests($opt_suffix, $opt_silent, "-S", $opt_verbose, 0);
|
||||
run_repair_tests($opt_suffix, $opt_silent, "-S", $opt_verbose, 0);
|
||||
run_pack_tests($opt_suffix, $opt_silent, "-S", $opt_verbose, 0);
|
||||
|
||||
print "Running tests with block row format\n";
|
||||
run_check_tests($suffix, $silent_opt, "-M", 0, 0);
|
||||
run_repair_tests($suffix, $silent_opt, "-M", 0, 0);
|
||||
run_pack_tests($suffix, $silent_opt, "-M", 0, 0);
|
||||
if ($opt_verbose)
|
||||
{
|
||||
print "\nRunning tests with block row format\n";
|
||||
}
|
||||
run_check_tests($opt_suffix, $opt_silent, "-M", $opt_verbose, 0);
|
||||
run_repair_tests($opt_suffix, $opt_silent, "-M", $opt_verbose, 0);
|
||||
run_pack_tests($opt_suffix, $opt_silent, "-M", $opt_verbose, 0);
|
||||
|
||||
print "Running tests with block row format and transactions\n";
|
||||
run_check_tests($suffix, $silent_opt, "-M -T", 0, 0);
|
||||
run_repair_tests($suffix, $silent_opt, "-M -T", 0, 0);
|
||||
run_pack_tests($suffix, $silent_opt, "-M -T", 0, 0);
|
||||
if ($opt_verbose)
|
||||
{
|
||||
print "\nRunning tests with block row format and transactions\n";
|
||||
}
|
||||
run_check_tests($opt_suffix, $opt_silent, "-M -T", $opt_verbose, 0);
|
||||
run_repair_tests($opt_suffix, $opt_silent, "-M -T", $opt_verbose, 0);
|
||||
run_pack_tests($opt_suffix, $opt_silent, "-M -T", $opt_verbose, 0);
|
||||
|
||||
run_tests_on_warnings_and_errors($suffix, $silent_opt, 0, 0);
|
||||
run_ma_test_recovery(0, 0);
|
||||
run_tests_on_clrs(0, 0);
|
||||
run_tests_on_warnings_and_errors($opt_suffix, $opt_silent, $opt_verbose, 0);
|
||||
run_ma_test_recovery($opt_verbose, 0);
|
||||
run_tests_on_clrs($opt_verbose, 0);
|
||||
|
||||
return;
|
||||
exit($runtime_error);
|
||||
}
|
||||
|
||||
####
|
||||
|
|
@ -161,7 +215,7 @@ sub run_check_tests
|
|||
ok("$maria_path/maria_chk$suffix $ma_test2_opt[$i][1] test2",
|
||||
$verbose, $i + 1);
|
||||
}
|
||||
unlink <rm -f maria_log_control maria_log.*>;
|
||||
unlink <maria_log_control maria_log.*>;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -173,48 +227,42 @@ sub run_check_tests
|
|||
sub run_repair_tests()
|
||||
{
|
||||
my ($suffix, $silent, $row_type, $verbose, $count)= @_;
|
||||
my ($i, $nr_tests);
|
||||
my @t1= ("$maria_path/ma_test1$suffix $silent --checksum $row_type",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix --silent -re --transaction-log test1",
|
||||
"$maria_path/maria_chk$suffix -rs test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -rqs test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -rs --correct-checksum test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -rqs --correct-checksum test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -ros --correct-checksum test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -rqos --correct-checksum test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -sz test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/ma_test2$suffix $silent -c -d1 $row_type",
|
||||
"$maria_path/maria_chk$suffix -s --parallel-recover test2",
|
||||
"$maria_path/maria_chk$suffix -se test2",
|
||||
"$maria_path/maria_chk$suffix -s --parallel-recover --quick test2",
|
||||
"$maria_path/maria_chk$suffix -se test2",
|
||||
"$maria_path/ma_test2$suffix $silent -c $row_type",
|
||||
"$maria_path/maria_chk$suffix -se test2",
|
||||
"$maria_path/maria_chk$suffix -sr test2",
|
||||
"$maria_path/maria_chk$suffix -se test2",
|
||||
"$maria_path/ma_test2$suffix $silent -c -t4 $row_type",
|
||||
"$maria_path/maria_chk$suffix -sz test1",
|
||||
"$maria_path/maria_chk$suffix -se test1"
|
||||
);
|
||||
my ($i);
|
||||
|
||||
if ($count)
|
||||
{
|
||||
$nr_tests= 0;
|
||||
for ($i= 0; defined($t1[$i]); $i++) { $nr_tests++; }
|
||||
return $nr_tests;
|
||||
}
|
||||
for ($i= 0; defined($t1[$i]); $i++)
|
||||
{
|
||||
ok($t1[$i], $verbose, $i + 1);
|
||||
}
|
||||
my @t= ($NEW_TEST,
|
||||
"$maria_path/ma_test1$suffix $silent --checksum $row_type",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix --silent -re --transaction-log test1",
|
||||
"$maria_path/maria_chk$suffix -rs test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -rqs test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -rs --correct-checksum test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -rqs --correct-checksum test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -ros --correct-checksum test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -rqos --correct-checksum test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -sz test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/ma_test2$suffix $silent -c -d1 $row_type",
|
||||
"$maria_path/maria_chk$suffix -s --parallel-recover test2",
|
||||
"$maria_path/maria_chk$suffix -se test2",
|
||||
"$maria_path/maria_chk$suffix -s --parallel-recover --quick test2",
|
||||
"$maria_path/maria_chk$suffix -se test2",
|
||||
"$maria_path/ma_test2$suffix $silent -c $row_type",
|
||||
"$maria_path/maria_chk$suffix -se test2",
|
||||
"$maria_path/maria_chk$suffix -sr test2",
|
||||
"$maria_path/maria_chk$suffix -se test2",
|
||||
"$maria_path/ma_test2$suffix $silent -c -t4 $row_type",
|
||||
"$maria_path/maria_chk$suffix -sz test1",
|
||||
"$maria_path/maria_chk$suffix -se test1"
|
||||
);
|
||||
|
||||
return &count_tests(\@t) if ($count);
|
||||
&run_test_bunch(\@t, $verbose, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -225,55 +273,48 @@ sub run_repair_tests()
|
|||
sub run_pack_tests()
|
||||
{
|
||||
my ($suffix, $silent, $row_type, $verbose, $count)= @_;
|
||||
my ($i, $nr_tests);
|
||||
my ($i);
|
||||
|
||||
my @t1= ("$maria_path/ma_test1$suffix $silent --checksum $row_type",
|
||||
"$maria_path/maria_pack$suffix --force -s test1",
|
||||
"$maria_path/maria_chk$suffix -ess test1",
|
||||
"$maria_path/maria_chk$suffix -rqs test1",
|
||||
"$maria_path/maria_chk$suffix -es test1",
|
||||
"$maria_path/maria_chk$suffix -rs test1",
|
||||
"$maria_path/maria_chk$suffix -es test1",
|
||||
"$maria_path/maria_chk$suffix -rus test1",
|
||||
"$maria_path/maria_chk$suffix -es test1",
|
||||
my @t= ($NEW_TEST,
|
||||
"$maria_path/ma_test1$suffix $silent --checksum $row_type",
|
||||
"$maria_path/maria_pack$suffix --force -s test1",
|
||||
"$maria_path/maria_chk$suffix -ess test1",
|
||||
"$maria_path/maria_chk$suffix -rqs test1",
|
||||
"$maria_path/maria_chk$suffix -es test1",
|
||||
"$maria_path/maria_chk$suffix -rs test1",
|
||||
"$maria_path/maria_chk$suffix -es test1",
|
||||
"$maria_path/maria_chk$suffix -rus test1",
|
||||
"$maria_path/maria_chk$suffix -es test1",
|
||||
$NEW_TEST,
|
||||
"$maria_path/ma_test1$suffix $silent --checksum $row_type",
|
||||
"$maria_path/maria_pack$suffix --force -s test1",
|
||||
"$maria_path/maria_chk$suffix -rus --safe-recover test1",
|
||||
"$maria_path/maria_chk$suffix -es test1",
|
||||
$NEW_TEST,
|
||||
"$maria_path/ma_test1$suffix $silent --checksum -S $row_type",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -ros test1",
|
||||
"$maria_path/maria_chk$suffix -rqs test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
$NEW_TEST,
|
||||
"$maria_path/maria_pack$suffix --force -s test1",
|
||||
"$maria_path/maria_chk$suffix -rqs test1",
|
||||
"$maria_path/maria_chk$suffix -es test1",
|
||||
"$maria_path/maria_chk$suffix -rus test1",
|
||||
"$maria_path/maria_chk$suffix -es test1",
|
||||
$NEW_TEST,
|
||||
"$maria_path/ma_test2$suffix $silent -c -d1 $row_type",
|
||||
"$maria_path/maria_chk$suffix -s --parallel-recover test2",
|
||||
"$maria_path/maria_chk$suffix -se test2",
|
||||
"$maria_path/maria_chk$suffix -s --unpack --parallel-recover test2",
|
||||
"$maria_path/maria_chk$suffix -se test2",
|
||||
"$maria_path/maria_pack$suffix --force -s test1",
|
||||
"$maria_path/maria_chk$suffix -s --unpack --parallel-recover test2",
|
||||
"$maria_path/maria_chk$suffix -se test2"
|
||||
);
|
||||
|
||||
"$maria_path/ma_test1$suffix $silent --checksum $row_type",
|
||||
"$maria_path/maria_pack$suffix --force -s test1",
|
||||
"$maria_path/maria_chk$suffix -rus --safe-recover test1",
|
||||
"$maria_path/maria_chk$suffix -es test1",
|
||||
|
||||
"$maria_path/ma_test1$suffix $silent --checksum -S $row_type",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
"$maria_path/maria_chk$suffix -ros test1",
|
||||
"$maria_path/maria_chk$suffix -rqs test1",
|
||||
"$maria_path/maria_chk$suffix -se test1",
|
||||
|
||||
"$maria_path/maria_pack$suffix --force -s test1",
|
||||
"$maria_path/maria_chk$suffix -rqs test1",
|
||||
"$maria_path/maria_chk$suffix -es test1",
|
||||
"$maria_path/maria_chk$suffix -rus test1",
|
||||
"$maria_path/maria_chk$suffix -es test1",
|
||||
|
||||
"$maria_path/ma_test2$suffix $silent -c -d1 $row_type",
|
||||
"$maria_path/maria_chk$suffix -s --parallel-recover test2",
|
||||
"$maria_path/maria_chk$suffix -se test2",
|
||||
"$maria_path/maria_chk$suffix -s --unpack --parallel-recover test2",
|
||||
"$maria_path/maria_chk$suffix -se test2",
|
||||
"$maria_path/maria_pack$suffix --force -s test1",
|
||||
"$maria_path/maria_chk$suffix -s --unpack --parallel-recover test2",
|
||||
"$maria_path/maria_chk$suffix -se test2"
|
||||
);
|
||||
|
||||
if ($count)
|
||||
{
|
||||
$nr_tests= 0;
|
||||
for ($i= 0; defined($t1[$i]); $i++) { $nr_tests++; }
|
||||
return $nr_tests;
|
||||
}
|
||||
for ($i= 0; defined($t1[$i]); $i++)
|
||||
{
|
||||
ok($t1[$i], $verbose, $i + 1);
|
||||
}
|
||||
return &count_tests(\@t) if ($count);
|
||||
&run_test_bunch(\@t, $verbose, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -286,7 +327,7 @@ sub run_tests_on_warnings_and_errors
|
|||
my ($suffix, $silent, $verbose, $count)= @_;
|
||||
my ($com);
|
||||
|
||||
return 9 if ($count); # Number of tests in this function, e.g. calls to ok()
|
||||
return 9 if ($count); # Number of tests in this function, e.g. calls to ok()
|
||||
|
||||
ok("$maria_path/ma_test2$suffix $silent -L -K -W -P -S -R1 -m500",
|
||||
$verbose, 0);
|
||||
|
|
@ -305,7 +346,7 @@ sub run_tests_on_warnings_and_errors
|
|||
ok("cat ma_test2_message.txt", $verbose, 0);
|
||||
ok("grep \"warning: Datafile is almost full\" ma_test2_message.txt>/dev/null",
|
||||
$verbose, 0);
|
||||
unlink <rm -f ma_test2_message.txt>;
|
||||
unlink <ma_test2_message.txt>;
|
||||
ok("$maria_path/maria_chk$suffix -ssm test2", $verbose, 0);
|
||||
|
||||
return 0;
|
||||
|
|
@ -331,64 +372,40 @@ sub run_ma_test_recovery
|
|||
sub run_tests_on_clrs
|
||||
{
|
||||
my ($verbose, $count)= @_;
|
||||
my ($i, $nr_tests);
|
||||
my ($i);
|
||||
|
||||
my @t1= ("$maria_path/ma_test2 -s -L -K -W -P -M -T -c -b -t2 -A1",
|
||||
"cp maria_log_control tmp",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -s -e test2",
|
||||
"cp tmp/maria_log_control .",
|
||||
"rm test2.MA?",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -s -e test2",
|
||||
"rm test2.MA?"
|
||||
);
|
||||
my @t2= ("$maria_path/ma_test2 -s -L -K -W -P -M -T -c -b -t2 -A1",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -s -e test2",
|
||||
"rm test2.MA?",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -e -s test2",
|
||||
"rm test2.MA?"
|
||||
);
|
||||
my @t= ($NEW_TEST,
|
||||
"$maria_path/ma_test2 -s -L -K -W -P -M -T -c -b -t2 -A1",
|
||||
"cp maria_log_control tmp",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -s -e test2",
|
||||
"cp tmp/maria_log_control .",
|
||||
"rm test2.MA?",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -s -e test2",
|
||||
"rm test2.MA?",
|
||||
$NEW_TEST,
|
||||
"$maria_path/ma_test2 -s -L -K -W -P -M -T -c -b -t2 -A1",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -s -e test2",
|
||||
"rm test2.MA?",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -e -s test2",
|
||||
"rm test2.MA?",
|
||||
$NEW_TEST,
|
||||
"$maria_path/ma_test2 -s -L -K -W -P -M -T -c -b32768 -t4 -A1",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -es test2",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -es test2",
|
||||
"rm test2.MA?",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -es test2",
|
||||
"rm test2.MA?"
|
||||
);
|
||||
|
||||
my @t3= ("$maria_path/ma_test2 -s -L -K -W -P -M -T -c -b32768 -t4 -A1",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -es test2",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -es test2",
|
||||
"rm test2.MA?",
|
||||
"$maria_path/maria_read_log -a -s",
|
||||
"$maria_path/maria_chk -es test2",
|
||||
"rm test2.MA?"
|
||||
);
|
||||
|
||||
if ($count)
|
||||
{
|
||||
$nr_tests= 0;
|
||||
for ($i= 0; defined($t1[$i]); $i++) { $nr_tests++; }
|
||||
for ($i= 0; defined($t2[$i]); $i++) { $nr_tests++; }
|
||||
for ($i= 0; defined($t3[$i]); $i++) { $nr_tests++; }
|
||||
return $nr_tests;
|
||||
}
|
||||
|
||||
unlink <maria_log.* maria_log_control>;
|
||||
for ($i= 0; defined($t1[$i]); $i++)
|
||||
{
|
||||
ok($t1[$i], $verbose, $i + 1);
|
||||
}
|
||||
|
||||
unlink <maria_log.* maria_log_control>;
|
||||
for ($i= 0; defined($t2[$i]); $i++)
|
||||
{
|
||||
ok($t2[$i], $verbose, $i + 1);
|
||||
}
|
||||
|
||||
unlink <maria_log.* maria_log_control>;
|
||||
for ($i= 0; defined($t3[$i]); $i++)
|
||||
{
|
||||
ok($t3[$i], $verbose, $i + 1);
|
||||
}
|
||||
return &count_tests(\@t) if ($count);
|
||||
&run_test_bunch(\@t, $verbose, 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -412,27 +429,44 @@ sub run_tests_on_clrs
|
|||
sub ok
|
||||
{
|
||||
my ($com, $verbose, $iteration, $expected_error)= @_;
|
||||
my ($msg, $output, $err);
|
||||
my ($msg, $output, $err, $len);
|
||||
|
||||
$msg= "";
|
||||
$expected_error= 0 if (!defined($expected_error));
|
||||
|
||||
if ($verbose)
|
||||
{
|
||||
print "Running: '$com'\n";
|
||||
print "$com ";
|
||||
}
|
||||
$output= `$com 2>&1`;
|
||||
$err= $? >> 8;
|
||||
$len= length($com);
|
||||
if ($verbose)
|
||||
{
|
||||
print " " x (65 - $len);
|
||||
print " ";
|
||||
}
|
||||
$err= $? >> 8;
|
||||
if ($err == $expected_error)
|
||||
{
|
||||
print "[ " if ($verbose);
|
||||
print "ok";
|
||||
print " ]" if ($verbose);
|
||||
print "\n";
|
||||
return 1;
|
||||
}
|
||||
print "[ " if ($verbose);
|
||||
print "not ok";
|
||||
print " ]" if ($verbose);
|
||||
print "\n";
|
||||
if ($verbose && length($output))
|
||||
{
|
||||
print "$output\n";
|
||||
}
|
||||
if ($err == $expected_error)
|
||||
if (!$verbose)
|
||||
{
|
||||
print "ok\n";
|
||||
return 1;
|
||||
$msg= "\n"; # Get a nicer output in perl unit test mode
|
||||
}
|
||||
print "not ok\n";
|
||||
$msg= "\nFailed test '$com' ";
|
||||
$msg.= "Failed test '$com' ";
|
||||
if ($iteration)
|
||||
{
|
||||
$msg.= "(loop iteration $iteration.) ";
|
||||
|
|
@ -445,6 +479,81 @@ sub ok
|
|||
$msg.= "Was expecting errcode: $expected_error\n";
|
||||
}
|
||||
warn $msg;
|
||||
$runtime_error= 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
####
|
||||
#### Count tests
|
||||
#### Arguments: $t: an array of the tests
|
||||
####
|
||||
|
||||
sub count_tests
|
||||
{
|
||||
my ($t)= @_;
|
||||
my ($i, $nr_tests);
|
||||
|
||||
$nr_tests= 0;
|
||||
for ($i= 0; defined(@$t[$i]); $i++) { $nr_tests++ if (@$t[$i]); }
|
||||
return $nr_tests;
|
||||
}
|
||||
|
||||
####
|
||||
#### Run a bunch of tests
|
||||
#### Arguments: $t: an array of the tests
|
||||
#### $verbose: to be passed to ok()
|
||||
#### $clear: clear log files if set
|
||||
####
|
||||
|
||||
sub run_test_bunch
|
||||
{
|
||||
my ($t, $verbose, $clear)= @_;
|
||||
my ($i);
|
||||
|
||||
for ($i= 0; defined(@$t[$i]); $i++)
|
||||
{
|
||||
if ($clear && @$t[$i] eq $NEW_TEST)
|
||||
{
|
||||
unlink <maria_log.* maria_log_control>;
|
||||
}
|
||||
if (@$t[$i] ne $NEW_TEST)
|
||||
{
|
||||
ok(@$t[$i], $verbose, $i + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
####
|
||||
#### usage
|
||||
####
|
||||
|
||||
sub usage
|
||||
{
|
||||
print <<EOF;
|
||||
$my_progname version $VER
|
||||
|
||||
Description:
|
||||
|
||||
Run various Maria related tests. Typically used via make test as a unittest.
|
||||
Please set environment variable maria_path before executing, if you
|
||||
are not starting the program where ma_test1, ma_test2, ma_test3,
|
||||
ma_test_recovery etc. files are.
|
||||
|
||||
Options
|
||||
--help Show this help and exit.
|
||||
--version Show version number and exit.
|
||||
--verbose Be more verbose. Will print each unittest on a line
|
||||
and result after. This mode cannot be used with unit.pl
|
||||
when running in normal unit test mode.
|
||||
--maria-path=... Path to maria test files. You can set this as an
|
||||
environment variable 'maria_path' also.
|
||||
(maria_path: '$maria_path')
|
||||
--valgrind=... Options for valgrind.
|
||||
('$opt_valgrind')
|
||||
--suffix=... Suffix for test files (ma_test1, ma_test2 etc.),
|
||||
if they have one ('$opt_suffix')
|
||||
--silent=... Silent option passed to ma_test* tests ('$opt_silent')
|
||||
EOF
|
||||
exit(0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,10 +21,10 @@ CLEANFILES = unit
|
|||
unittests = mytap mysys @mysql_se_unittest_dirs@ @mysql_pg_unittest_dirs@
|
||||
|
||||
test:
|
||||
perl unit.pl run $(unittests)
|
||||
maria_path=../storage/maria perl unit.pl run $(unittests)
|
||||
|
||||
test-verbose:
|
||||
HARNESS_VERBOSE=1 perl unit.pl run $(unittests)
|
||||
HARNESS_VERBOSE=1 maria_path=../storage/maria perl unit.pl run $(unittests)
|
||||
|
||||
# Don't update the files from bitkeeper
|
||||
%::SCCS/s.%
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue