Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
6d34770e
Commit
6d34770e
authored
Nov 22, 2005
by
ranger@regul.home.lan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added support of stress mode to mysql-test-run.pl
Corrected function declaration
parent
511fbac4
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
200 additions
and
2 deletions
+200
-2
mysql-test/lib/mtr_misc.pl
mysql-test/lib/mtr_misc.pl
+2
-2
mysql-test/lib/mtr_stress.pl
mysql-test/lib/mtr_stress.pl
+172
-0
mysql-test/mysql-test-run.pl
mysql-test/mysql-test-run.pl
+26
-0
No files found.
mysql-test/lib/mtr_misc.pl
View file @
6d34770e
...
...
@@ -9,7 +9,7 @@ use strict;
sub
mtr_full_hostname
();
sub
mtr_short_hostname
();
sub
mtr_init_args
($);
sub
mtr_add_arg
($$);
sub
mtr_add_arg
($$
@
);
sub
mtr_path_exists
(@);
sub
mtr_script_exists
(@);
sub
mtr_exe_exists
(@);
...
...
@@ -51,7 +51,7 @@ sub mtr_init_args ($) {
$$args
=
[]
;
# Empty list
}
sub
mtr_add_arg
($$)
{
sub
mtr_add_arg
($$
@
)
{
my
$args
=
shift
;
my
$format
=
shift
;
my
@fargs
=
@_
;
...
...
mysql-test/lib/mtr_stress.pl
0 → 100644
View file @
6d34770e
# -*- cperl -*-
# This is a library file used by the Perl version of mysql-test-run,
# and is part of the translation of the Bourne shell script with the
# same name.
use
strict
;
use
File::
Spec
;
# These are not to be prefixed with "mtr_"
sub
run_stress_test
();
##############################################################################
#
# Run tests in the stress mode
#
##############################################################################
sub
run_stress_test
()
{
my
$args
;
my
$stress_basedir
;
my
$stress_suitedir
;
mtr_report
("
Starting stress testing
\n
");
if
(
!
$::glob_use_embedded_server
and
!
$::opt_local_master
)
{
$::master
->
[
0
]
->
{'
pid
'}
=
mysqld_start
('
master
',
0
,
[]
,
[]
);
if
(
!
$::master
->
[
0
]
->
{'
pid
'}
)
{
mtr_error
("
Can't start the mysqld server
");
}
}
my
$stress_basedir
=
File::
Spec
->
catdir
(
$::opt_vardir
,
"
stress
");
#Clean up stress dir
if
(
-
d
$stress_basedir
)
{
rmtree
(
$stress_basedir
);
}
mkpath
(
$stress_basedir
);
if
(
$::opt_stress_suite
ne
'
main
'
&&
$::opt_stress_suite
ne
'
default
'
)
{
$stress_suitedir
=
File::
Spec
->
catdir
(
$::glob_mysql_test_dir
,
"
suite
",
$::opt_stress_suite
);
}
else
{
$stress_suitedir
=
$::glob_mysql_test_dir
;
}
if
(
-
d
$stress_suitedir
)
{
#$stress_suite_t_dir=File::Spec->catdir($stress_suitedir, "t");
#$stress_suite_r_dir=File::Spec->catdir($stress_suitedir, "r");
#FIXME: check dirs above for existence to ensure that test suite
# contains tests and results dirs
}
else
{
mtr_error
("
Specified test suite $::opt_stress_suite doesn't exist
");
}
if
(
@::opt_cases
)
{
$::opt_stress_test_file
=
File::
Spec
->
catfile
(
$stress_basedir
,
"
stress_tests.txt
");
open
(
STRESS_FILE
,
"
>$::opt_stress_test_file
");
print
STRESS_FILE
join
("
\n
",
@::opt_cases
),"
\n
";
close
(
STRESS_FILE
);
}
elsif
(
$::opt_stress_test_file
)
{
$::opt_stress_test_file
=
File::
Spec
->
catfile
(
$stress_suitedir
,
$::opt_stress_test_file
);
if
(
!
-
f
$::opt_stress_test_file
)
{
mtr_error
("
Specified file $::opt_stress_test_file with list of tests does not exist
\n
",
"
Please ensure that file exists and has proper permissions
");
}
}
else
{
$::opt_stress_test_file
=
File::
Spec
->
catfile
(
$stress_suitedir
,
"
stress_tests.txt
");
if
(
!
-
f
$::opt_stress_test_file
)
{
mtr_error
("
Default file $::opt_stress_test_file with list of tests does not exist
\n
",
"
Please use --stress-test-file option to specify custom one or you can
\n
",
"
just specify name of test for testing as last argument in command line
");
}
}
if
(
$::opt_stress_init_file
)
{
$::opt_stress_init_file
=
File::
Spec
->
catfile
(
$stress_suitedir
,
$::opt_stress_init_file
);
if
(
!
-
f
$::opt_stress_init_file
)
{
mtr_error
("
Specified file $::opt_stress_init_file with list of tests does not exist
\n
",
"
Please ensure that file exists and has proper permissions
");
}
}
else
{
$::opt_stress_init_file
=
File::
Spec
->
catfile
(
$stress_suitedir
,
"
stress_init.txt
");
if
(
!
-
f
$::opt_stress_init_file
)
{
$::opt_stress_init_file
=
'';
}
}
if
(
$::opt_stress_mode
ne
'
random
'
&&
$::opt_stress_mode
ne
'
seq
'
)
{
mtr_error
("
You specified wrong mode $::opt_stress_mode for stress test
\n
",
"
Correct values are 'random' or 'seq'
");
}
mtr_init_args
(
\
$args
);
mtr_add_arg
(
$args
,
"
--server-socket=%s
",
$::master
->
[
0
]
->
{'
path_mysock
'});
mtr_add_arg
(
$args
,
"
--server-user=%s
",
$::opt_user
);
mtr_add_arg
(
$args
,
"
--server-database=%s
",
"
test
");
mtr_add_arg
(
$args
,
"
--stress-suite-basedir=%s
",
$::glob_mysql_test_dir
);
mtr_add_arg
(
$args
,
"
--suite=%s
",
$::opt_stress_suite
);
mtr_add_arg
(
$args
,
"
--stress-tests-file=%s
",
$::opt_stress_test_file
);
mtr_add_arg
(
$args
,
"
--stress-basedir=%s
",
$stress_basedir
);
mtr_add_arg
(
$args
,
"
--server-logs-dir=%s
",
$stress_basedir
);
mtr_add_arg
(
$args
,
"
--stress-mode=%s
",
$::opt_stress_mode
);
mtr_add_arg
(
$args
,
"
--mysqltest=%s
",
$::exe_mysqltest
);
mtr_add_arg
(
$args
,
"
--threads=%s
",
$::opt_stress_threads
);
mtr_add_arg
(
$args
,
"
--verbose
");
mtr_add_arg
(
$args
,
"
--cleanup
");
mtr_add_arg
(
$args
,
"
--log-error-details
");
mtr_add_arg
(
$args
,
"
--abort-on-error
");
if
(
$::opt_stress_init_file
)
{
mtr_add_arg
(
$args
,
"
--stress-init-file=%
",
$::opt_stress_init_file
);
}
if
(
$::opt_stress_loop_count
)
{
mtr_add_arg
(
$args
,
"
--loop-count=%s
",
$::opt_stress_loop_count
);
}
if
(
$::opt_stress_test_count
)
{
mtr_add_arg
(
$args
,
"
--test-count=%s
",
$::opt_stress_test_count
);
}
if
(
$::opt_stress_test_duration
)
{
mtr_add_arg
(
$args
,
"
--test-duration=%s
",
$::opt_stress_test_duration
);
}
#Run stress test
mtr_run
("
$::glob_mysql_test_dir/mysql-stress-test.pl
",
$args
,
"",
"",
"",
"");
if
(
!
$::glob_use_embedded_server
)
{
stop_masters
();
}
}
1
;
mysql-test/mysql-test-run.pl
View file @
6d34770e
...
...
@@ -96,6 +96,7 @@ require "lib/mtr_report.pl";
require
"
lib/mtr_diff.pl
";
require
"
lib/mtr_match.pl
";
require
"
lib/mtr_misc.pl
";
require
"
lib/mtr_stress.pl
";
$
Devel::Trace::
TRACE
=
1
;
...
...
@@ -271,6 +272,16 @@ our $opt_valgrind_mysqltest;
our
$opt_valgrind_all
;
our
$opt_valgrind_options
;
our
$opt_stress
=
"";
our
$opt_stress_suite
=
"
main
";
our
$opt_stress_mode
=
"
random
";
our
$opt_stress_threads
=
5
;
our
$opt_stress_test_count
=
20
;
our
$opt_stress_loop_count
=
"";
our
$opt_stress_test_duration
=
"";
our
$opt_stress_init_file
=
"";
our
$opt_stress_test_file
=
"";
our
$opt_verbose
;
our
$opt_wait_for_master
;
...
...
@@ -391,6 +402,10 @@ sub main () {
{
run_benchmarks
(
shift
);
# Shift what? Extra arguments?!
}
elsif
(
$opt_stress
)
{
run_stress_test
()
}
else
{
run_tests
();
...
...
@@ -547,6 +562,17 @@ sub command_line_setup () {
'
valgrind-all:s
'
=>
\
$opt_valgrind_all
,
'
valgrind-options=s
'
=>
\
$opt_valgrind_options
,
# Stress testing
'
stress
'
=>
\
$opt_stress
,
'
stress-suite=s
'
=>
\
$opt_stress_suite
,
'
stress-threads=i
'
=>
\
$opt_stress_threads
,
'
stress-test-file=s
'
=>
\
$opt_stress_test_file
,
'
stress-init-file=s
'
=>
\
$opt_stress_init_file
,
'
stress-mode=s
'
=>
\
$opt_stress_mode
,
'
stress-loop-count=i
'
=>
\
$opt_stress_loop_count
,
'
stress-test-count=i
'
=>
\
$opt_stress_test_count
,
'
stress-test-duration=i
'
=>
\
$opt_stress_test_duration
,
# Misc
'
big-test
'
=>
\
$opt_big_test
,
'
debug
'
=>
\
$opt_debug
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment