# store results in a file that contains the git hash
# and also shows differences if any
#
+# if this command is run as all-tests3, then we will just do
+# make PYTHON=python3
+#
+# xxx - WARNING : most likely the python2 and python3 tests
+# cannot safely be run together; need to check the nepi exp_ids
+# used more closely
+
+DIRNAME=$(dirname $0)
+COMMAND=$(basename $0)
+
+if echo $COMMAND | grep -q 6; then
+ $DIRNAME/all-tests2; $DIRNAME/all-tests3; exit
+fi
-targets="test-node test-app"
+PYTHON=python
+version=2
+echo $COMMAND | grep -q 3 && { PYTHON=python3; version=3; }
hash=$(git log -n 1 | head -1 | sed -e 's,commit ,,' -e 's,\(........\).*,\1,')
# compute output file name
-output='all-tests.$hash'
+output="zz.$hash.py$version"
+latest="zz.latest.py$version"
# if there is any pending change, use another name
is_pristine=""
-git diff HEAD | cmp --quiet - /dev/zero && is_pristine=true
-[ -n "is_pristine" ] || output="$output-pending"
+changes=$(git diff HEAD | wc -l); changes=$(echo $changes)
+[ "$changes" == 0 ] && is_pristine=true
+[ -n "$is_pristine" ] || output="$output-pending"
function all_tests () {
echo all-tests : begin at; date
echo ========================================
echo tests
echo ========================================
- make all-tests
+ make PYTHON=$PYTHON all-tests
+ make_retcod=$!
echo ========================================
end=$(date +%s)
- echo all-tests : end at; date; echo total duration $(($end-$begin)) seconds
+ echo all-tests : end at $((date)); echo total duration $(($end-$begin)) seconds
+ return $make_retcod
}
-all-tests >& $output
+# WARNING
+# the current code for analyzing the output is very basic
+# this needs to be checked manually for some time
+
+# create a 'latest' symlink
+ln -f -s $output $latest
+
+all_tests >& $output
retcod=$?
# analyze this output for success or not
success=$output.success
failure=$output.failed
-[ "$retcod" != 0 ] && { touch $failure; exit; }
-grep -q '^FAIL' $output && { touch $failure; exit; }
-touch $success; exit
+if [ "$retcod" != 0 ]; then
+ touch $failure
+elif grep -q '^FAIL' $output; then
+ touch $failure
+else
+ touch $success
+fi