]>
Commit | Line | Data |
---|---|---|
11fdf7f2 | 1 | #!/usr/bin/env bash |
7c673cae FG |
2 | # |
3 | # Ceph distributed storage system | |
4 | # | |
5 | # Copyright (C) 2014 Red Hat <contact@redhat.com> | |
6 | # | |
7 | # Author: Loic Dachary <loic@dachary.org> | |
8 | # | |
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. | |
13 | # | |
14 | ||
15 | # | |
f64942e4 | 16 | # To just look at what this script will do, run it like this: |
7c673cae | 17 | # |
f64942e4 AA |
18 | # $ DRY_RUN=echo ./run-make-check.sh |
19 | # | |
20 | ||
9f95a23c | 21 | source src/script/run-make.sh |
11fdf7f2 | 22 | |
7c673cae | 23 | function run() { |
f64942e4 AA |
24 | # to prevent OSD EMFILE death on tests, make sure ulimit >= 1024 |
25 | $DRY_RUN ulimit -n $(ulimit -Hn) | |
26 | if [ $(ulimit -n) -lt 1024 ];then | |
27 | echo "***ulimit -n too small, better bigger than 1024 for test***" | |
28 | return 1 | |
29 | fi | |
30 | ||
11fdf7f2 TL |
31 | # increase the aio-max-nr, which is by default 65536. we could reach this |
32 | # limit while running seastar tests and bluestore tests. | |
9f95a23c | 33 | $DRY_RUN sudo /sbin/sysctl -q -w fs.aio-max-nr=$((65536 * 16)) |
11fdf7f2 | 34 | |
9f95a23c | 35 | CHECK_MAKEOPTS=${CHECK_MAKEOPTS:-$DEFAULT_MAKEOPTS} |
c07f9fc5 | 36 | if ! $DRY_RUN ctest $CHECK_MAKEOPTS --output-on-failure; then |
11fdf7f2 | 37 | rm -fr ${TMPDIR:-/tmp}/ceph-asok.* |
c07f9fc5 FG |
38 | return 1 |
39 | fi | |
7c673cae FG |
40 | } |
41 | ||
42 | function main() { | |
43 | if [[ $EUID -eq 0 ]] ; then | |
44 | echo "For best results, run this script as a normal user configured" | |
45 | echo "with the ability to run commands as root via sudo." | |
46 | fi | |
47 | echo -n "Checking hostname sanity... " | |
f64942e4 | 48 | if $DRY_RUN hostname --fqdn >/dev/null 2>&1 ; then |
7c673cae FG |
49 | echo "OK" |
50 | else | |
51 | echo "NOT OK" | |
52 | echo "Please fix 'hostname --fqdn', otherwise 'make check' will fail" | |
53 | return 1 | |
54 | fi | |
9f95a23c TL |
55 | FOR_MAKE_CHECK=1 prepare |
56 | # Init defaults after deps are installed. | |
57 | local cmake_opts=" -DWITH_PYTHON3=3 -DWITH_GTEST_PARALLEL=ON -DWITH_FIO=ON -DWITH_CEPHFS_SHELL=ON -DWITH_SPDK=ON -DENABLE_GIT_VERSION=OFF" | |
58 | if [ $WITH_SEASTAR ]; then | |
59 | cmake_opts+=" -DWITH_SEASTAR=ON" | |
60 | fi | |
61 | configure $cmake_opts $@ | |
62 | build tests && echo "make check: successful run on $(git rev-parse HEAD)" | |
63 | run | |
7c673cae FG |
64 | } |
65 | ||
66 | main "$@" |