this is a workaround of the timeout found in jenkins. currently three
tests are found timeout, and they are labeld with "Racing" and
"LongRunning". so, to workaround this issue, we run the tests in two
phases:
1. run the racing tests with -j1
2. run the non-racing tests with -jN
if we all all tests with -j1, the total test time is 2683.57 sec
Signed-off-by: Kefu Chai <kchai@redhat.com>
please note "make test" is used by cmake to run tests, so we cannot just
repurpose it to *build* them.
* AddCephTest.cmake: depends on "tests"
* CMakeLists.txt: let "check" depend on "tests"
* src/CMakeLists.txt: update the run-tox tests
* run-make-check.sh: use "make tests" and "ctest" instead of "make check"
* ceph-detect-init/CMakeLists.txt: let "tests" depend on
"ceph-detect-init"
* ceph-disk/CMakeLists.txt: let "tests" depend on "ceph-disk"
Signed-off-by: Kefu Chai <kchai@redhat.com>
"make all" does not offer "ceph-disk" and "ceph-detect-init" for
testing. as they are solely used for testing purpose. instead, these two
python command line packages are installed by the "install" target. so
we need to use "make check" to 1) prepare the test dependencies 2)
launch ctest to perform the test.
Signed-off-by: Kefu Chai <kchai@redhat.com>
It is useful in some cases to exercise more control over the parameters
passed to make for make check. I am using it to passing a load limit
parameter to make.
Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
After a make check fails, it shows a summary but not the output of the
failed tests although they contain information to diagnose the problem.
Set the VERBOSE=true automake variable which is documented to collect
and display the failed script output at the end of a run (the content of
the test-suite.log file (valid from automake-1.11 up).
http://www.gnu.org/software/automake/manual/automake.html#index-VERBOSE
Also remove the run-make-check.sh that did the same in a way that is not
compatible with automake-1.11.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Believe it or not, it's possible (although not necessarily likely) to
have both yum and zypper installed on openSUSE. In this case the
previous implementation using `which` would return a string containing
both commands, which doesn't work.
Signed-off-by: Tim Serong <tserong@suse.com>
All run-make-check.sh arguments are transparently given to the configure
command. For instance:
run-make-check.sh --enable-root-make-check
implies
./configure --enable-root-make-check
Signed-off-by: Loic Dachary <ldachary@redhat.com>
The --enable-docker logic was that each test that needs privileges to
run uses a container to do so. The problem with this approach and
make -j8 check is that such tests compete for a single container.
The --enable-root-make-check activates tests that require privileges and
assume it is ok to use sudo to acquire privileges. The decision to run
in a container is then taken by the caller who will run something like:
docker-tests.sh ./configure --enable-root-make-check
docker-tests.sh make -j8 check
Signed-off-by: Loic Dachary <ldachary@redhat.com>
jq is useful to parse json from the command line. It is however not
packaged for all supported distributions (precise has it in the backport
repository which is usually not active) and cannot be conveniently added
to debian/control because it targets all distributions and has no
conditionals.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Encapsulate the compilation steps (install dependencies, autogen.sh,
configure, make check) in the run-make-check.sh script. Update the
developer documentation to point to this script instead of multiple
steps.
It is intended as a tool to help new developer make sure their patch is
sane, it focuses on efficiency (runs make check in parallel if possible)
and coverage (enables docker based tests if possible).
http://tracker.ceph.com/issues/10265Fixes: #10265
Signed-off-by: Loic Dachary <ldachary@redhat.com>