]>
git.proxmox.com Git - ceph.git/blob - ceph/run-make-check.sh
3 # Ceph distributed storage system
5 # Copyright (C) 2014 Red Hat <contact@redhat.com>
7 # Author: Loic Dachary <loic@dachary.org>
9 # This library is free software; you can redistribute it and/or
10 # modify it under the terms of the GNU Lesser General Public
11 # License as published by the Free Software Foundation; either
12 # version 2.1 of the License, or (at your option) any later version.
16 # To just look at what this script will do, run it like this:
18 # $ DRY_RUN=echo ./run-make-check.sh
21 source src
/script
/run-make.sh
25 function in_jenkins
() {
26 test -n "$JENKINS_HOME"
30 # to prevent OSD EMFILE death on tests, make sure ulimit >= 1024
31 $DRY_RUN ulimit -n $
(ulimit -Hn)
32 if [ $
(ulimit -n) -lt 1024 ];then
33 echo "***ulimit -n too small, better bigger than 1024 for test***"
37 # increase the aio-max-nr, which is by default 65536. we could reach this
38 # limit while running seastar tests and bluestore tests.
40 if [ $
(nproc
) -gt $m ]; then
43 $DRY_RUN sudo
/sbin
/sysctl
-q -w fs.aio-max-nr
=$
((65536 * $
(nproc
)))
45 CHECK_MAKEOPTS
=${CHECK_MAKEOPTS:-$DEFAULT_MAKEOPTS}
47 if ! ctest
$CHECK_MAKEOPTS --no-compress-output --output-on-failure --test-output-size-failed 1024000 -T Test
; then
48 # do not return failure, as the jenkins publisher will take care of this
49 rm -fr ${TMPDIR:-/tmp}/ceph-asok.
*
52 if ! $DRY_RUN ctest
$CHECK_MAKEOPTS --output-on-failure; then
53 rm -fr ${TMPDIR:-/tmp}/ceph-asok.
*
60 if [[ $EUID -eq 0 ]] ; then
61 echo "For best results, run this script as a normal user configured"
62 echo "with the ability to run commands as root via sudo."
64 echo -n "Checking hostname sanity... "
65 if $DRY_RUN hostname
--fqdn >/dev
/null
2>&1 ; then
69 echo "Please fix 'hostname --fqdn', otherwise 'make check' will fail"
72 # uses run-make.sh to install-deps
73 FOR_MAKE_CHECK
=1 prepare
74 local cxx_compiler
=g
++
76 for i
in $
(seq 14 -1 10); do
77 if type -t clang-
$i > /dev
/null
; then
78 cxx_compiler
="clang++-$i"
83 # Init defaults after deps are installed.
85 cmake_opts
+=" -DCMAKE_CXX_COMPILER=$cxx_compiler -DCMAKE_C_COMPILER=$c_compiler"
86 cmake_opts
+=" -DCMAKE_CXX_FLAGS_DEBUG=-Werror"
87 cmake_opts
+=" -DENABLE_GIT_VERSION=OFF"
88 cmake_opts
+=" -DWITH_GTEST_PARALLEL=ON"
89 cmake_opts
+=" -DWITH_FIO=ON"
90 cmake_opts
+=" -DWITH_CEPHFS_SHELL=ON"
91 cmake_opts
+=" -DWITH_GRAFANA=ON"
92 cmake_opts
+=" -DWITH_SPDK=ON"
93 if [ $WITH_SEASTAR ]; then
94 cmake_opts
+=" -DWITH_SEASTAR=ON"
96 if [ $WITH_ZBD ]; then
97 cmake_opts
+=" -DWITH_ZBD=ON"
99 if [ $WITH_RBD_RWL ]; then
100 cmake_opts
+=" -DWITH_RBD_RWL=ON"
102 cmake_opts
+=" -DWITH_RBD_SSD_CACHE=ON"
103 configure
"$cmake_opts" "$@"
105 echo "make check: successful build on $(git rev-parse HEAD)"