mirror of https://github.com/ceph/ceph
54 lines
1.3 KiB
Bash
Executable File
54 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
if ! command -v pip >/dev/null; then
|
|
echo "$0: PIP not installed, skipping python-using tests." 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
SRCDIR="$(dirname "$0")"
|
|
|
|
# build directory, if different, can be passed as an argument;
|
|
# it is expected to point to the equivalent subdirectory of the
|
|
# tree as where this script is stored
|
|
BUILDDIR="$SRCDIR"
|
|
case "$1" in
|
|
''|-*)
|
|
# not set or looks like a flag to cram
|
|
;;
|
|
*)
|
|
# looks like the builddir
|
|
BUILDDIR="$1"
|
|
shift
|
|
;;
|
|
esac
|
|
|
|
VENV="$BUILDDIR/virtualenv"
|
|
CRAM_BIN="$VENV/bin/cram"
|
|
if [ ! -e "$CRAM_BIN" ]; then
|
|
pip -E "$VENV" install "$SRCDIR/downloads/cram-0.5.0ceph.2011-01-14.tar.gz"
|
|
fi
|
|
|
|
SRCDIR_ABS="$(readlink -f "$SRCDIR")"
|
|
BUILDDIR_ABS="$(readlink -f "$BUILDDIR")"
|
|
|
|
# cram doesn't like seeing the same foo.t basename twice on the same
|
|
# run, so run it once per directory
|
|
FAILED=0
|
|
for tool in "$SRCDIR"/cli/*; do
|
|
toolname="$(basename "$tool")"
|
|
install -d -m0755 -- "$BUILDDIR/cli/$toolname"
|
|
if ! env --ignore-environment \
|
|
PATH="$BUILDDIR_ABS/..:$SRCDIR_ABS/..:$PATH" \
|
|
CEPH_CONF=/dev/null \
|
|
CCACHE_DIR="$CCACHE_DIR" \
|
|
CC="$CC" \
|
|
CXX="$CXX" \
|
|
"$SRCDIR/run-cli-tests-maybe-unset-ccache" \
|
|
"$CRAM_BIN" -v "$@" --error-dir="$BUILDDIR/cli/$toolname" -- "$tool"/*.t; then
|
|
FAILED=1
|
|
fi
|
|
done
|
|
|
|
exit "$FAILED"
|