X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=all-tests;h=5ede05d743e79c250d3e761ad429dad6bf2df234;hb=719bae09cce5093d96acdf4ec04658d37fea3337;hp=0aa6370fcb6177c197483d072c960f10ed0fb60d;hpb=5e7ecb0746118946dd5b8ae877a33e671fdcfb9a;p=nepi.git diff --git a/all-tests b/all-tests index 0aa6370f..5ede05d7 100755 --- a/all-tests +++ b/all-tests @@ -4,18 +4,35 @@ # 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 @@ -31,20 +48,33 @@ function all_tests () { 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