You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Guo XIn
291e661666
|
5 months ago | |
---|---|---|
.. | ||
README | 5 months ago | |
coverage.ignore | 5 months ago | |
default.daily | 5 months ago | |
default.daily-valgrind | 5 months ago | |
default.push | 5 months ago | |
default.push-ndbcluster | 5 months ago | |
default.push-valgrind | 5 months ago | |
default.push-vanilla | 5 months ago | |
default.release | 5 months ago | |
default.release.done | 5 months ago | |
default.release.in | 5 months ago | |
default.weekly | 5 months ago | |
default.weekly-ndbcluster | 5 months ago | |
default.weekly-protocol | 5 months ago | |
default.weekly-valgrind | 5 months ago | |
default.weekly.basic | 5 months ago | |
disabled-asan.list | 5 months ago | |
disabled-ubsan.list | 5 months ago | |
disabled-valgrind.list | 5 months ago | |
disabled.def | 5 months ago | |
disabled_ndb.def | 5 months ago | |
mysql-8.0-stage.push | 5 months ago | |
mysql-8.0-stage.push.basic | 5 months ago | |
mysql-trunk-stage.push | 5 months ago | |
mysql-trunk-stage.push.basic | 5 months ago | |
mysql-trunk-tsan.push | 5 months ago |
README
This directory contains collections of test runs that we run during our
integration and release testing. These files are not directly useful
outside this context, but need to be part of the source repository
and are included for reference. Each file contains zero or more lines,
with one invocation of mysql-test-run.pl on each. These invocations are
written so that, with the assumption that perl is in your search path,
any collection can in principle run as a shell script or a batch file,
with the parent mysql-test directory being the current working directory.
During integration testing, we choose the collection to run by following
these steps:
1) We choose the extension to look for, based on these rules:
- If we're running a per-push test, we choose ".push" as the extension.
- If we're running a daily test, we choose ".daily" as the extension.
- If we're running a weekly test, we choose ".weekly" as the extension.
2) If there is a collection that has the same name as the branch we're
testing plus the extension as determined in step 1, we choose that
collection.
2b) If we are running a valgrind test and there is a collection with
the chosen name and the suffix "-valgrind" we choose that instead.
3) If the branch is unknown or we have removed all characters from it
and still not found a matching collection, we choose the name "default"
plus the extension determined in step 1. If there is no such file,
we give up and don't test anything at all.
4) If we haven't found a collection yet, we remove the last character from
the branch name and go back to step 2.
5) The commands from the collection are run line by line via execv() or
similar system calls. They are not run as a shell script. Shell
expansions are not guaranteed to work and most likely won't.
The directory may contain collections that are "super sets" of others,
identified by a file name suffix ".in". These files may contain lines
"#include <filename>", or lines with mysql-test-run.pl invocations.
CMake will create a new file without the .in suffix where
the include lines are replaced with the contents of the referred
file. Filename is local to the collections directory, and includes do
not nest.
Notes on some of the mysql-test-run.pl arguments and how they work in
our continous intergation test framework. These are mostly for those
writing or editing such files as they are specific to that setup.
1) The --comment argument produces a header which is parsed by the log
analyzer to produce an entry for the result summary, seen as the
name of the test batch. The names should be unique. Also, avoid too
long names as it may clutter the presentation.
2) Do not use --mem, use --vardir instead. Before the test is run, a
host specific ramdisk path is prepended to the vardir argument to
ensure that tests always run on ramdisk. This also works on Windows
or Mac OSX where --mem is not supported.
3) The name of the --vardir directory must start with 'var' in order for
the test results to be correctly included in the result
tarballs. They should also be unique across the collection file to
avoid clashes. If --vardir is not specified, the --comment name will
be used with a prefix "var-".
4) Any --parallel setting will be overridden by a host specific
setting (which may be modified by branch; e.g. some hosts may need a
lower setting for cluster). Most hosts use 8. It does not hurt to
add --parallel=auto but this will only have effect should we have
forgotten to set a parallel setting for a host.
There are some files called disabled-*.list which are referenced in the
commands in the default.* files to explicitly disable some tests.
disabled-asan.list contains a list of tests to be disabled for asan
test runs. This is done automatically by the test framework. A similar
test list may be added for valgrind, which will then be disabled in
valgrind tests.