corda/test/ci.sh

57 lines
1.2 KiB
Bash
Raw Normal View History

#!/bin/sh
set -e
2014-07-13 01:06:41 +00:00
root_dir=$(pwd)
2014-05-09 21:16:55 +00:00
run() {
echo '==============================================='
2014-07-13 01:06:41 +00:00
if [ ! $(pwd) = ${root_dir} ]; then
printf "cd $(pwd); "
fi
2014-05-09 21:16:55 +00:00
echo "${@}"
echo '==============================================='
"${@}"
}
2014-07-13 01:06:41 +00:00
run_cmake() {
mkdir -p cmake-build
rm -rf cmake-build/*
cd cmake-build
run cmake ${@} ..
run make -j4 check
cd ..
}
flags="${@}"
has_flag() {
local arg=$1
for f in ${flags}; do
local key=$(echo $f | awk -F '=' '{print $1}')
if [ ${key} = ${arg} ]; then
return 0
fi
done
return 1
}
make_target=test
test `uname -o` = "Cygwin" || run_cmake -DCMAKE_BUILD_TYPE=Debug
2014-07-13 01:06:41 +00:00
2014-07-30 00:57:02 +00:00
run make jdk-test
run make ${flags} ${make_target}
run make ${flags} mode=debug ${make_target}
run make ${flags} process=interpret ${make_target}
(has_flag openjdk-src || ! has_flag openjdk) && \
run make ${flags} mode=debug bootimage=true ${make_target} && \
run make ${flags} bootimage=true ${make_target}
(! has_flag openjdk && ! has_flag android) && \
run make ${flags} openjdk=$JAVA_HOME ${make_target}
run make ${flags} tails=true continuations=true heapdump=true ${make_target}
run make ${flags} codegen-targets=all