diff --git a/bin/test.sh b/bin/test.sh index bcb1f160b9f65ba0bde6684a6ac7a766d9876abb..6faa03802ec431d776bdccf21c4d0c300117f360 100755 --- a/bin/test.sh +++ b/bin/test.sh @@ -26,6 +26,7 @@ CONFIG="<all>" VERBOSE= UPDATE= LOGS= +COMMIT= TESTS= SAVE= @@ -66,8 +67,9 @@ function Usage echo " -r|--clean clean (remove all) test results (includes -p)" echo " -p|--ptests prepare (all) dune files" echo " -w|--wp-cache prepare (pull) WP-cache" - echo " -u|--update run tests and update (local) WP-cache" + echo " -u|--wp-update update (pull+add) WP-cache" echo " -l|--logs print output of tests (single file, no diff)" + echo " -k|--commit commit results as oracles (single file, no diff)" echo " -s|--save save dune logs into $DUNE_LOG" echo " -v|--verbose print executed commands" echo " -h|--help print this help" @@ -249,6 +251,9 @@ function TestFile else ALIAS=$DIR/$RESULT/${FILE%.*}.diff fi + if [ "$COMMIT" = "yes" ]; then + COMMITS="${COMMITS} $DIR/$RESULT/${FILE%.*}" + fi Head "Register test on file $1 $CFG" DUNE_ALIAS="${DUNE_ALIAS} @$ALIAS" } @@ -275,6 +280,27 @@ function Register done } +# -------------------------------------------------------------------------- +# --- Tests Commits +# -------------------------------------------------------------------------- + +function Commits +{ + while [ "$1" != "" ] + do + cd _build/default + for log in $1*.res.log + do + echo "Commit $log" + dest="${log//result/oracle}" + dest="${dest//res.log/res.oracle}" + cp -f $log "../../$dest" + done + cd ../.. + shift + done +} + # -------------------------------------------------------------------------- # --- Tests Numbering # -------------------------------------------------------------------------- @@ -305,8 +331,9 @@ function Status #-- Check wp-cache status if [ "$UPDATE" = "yes" ]; then - Head "Check $FRAMAC_WP_CACHEDIR status" + Head "Update $FRAMAC_WP_CACHEDIR and check status" RequiredTools git + Run git -C $FRAMAC_WP_CACHEDIR add -A Run git -C $FRAMAC_WP_CACHEDIR status -s fi } @@ -336,7 +363,8 @@ do "-w"|"--wp-cache") PullCache ;; - "-u"|"--update") + "-u"|"--wp-update") + PullCache FRAMAC_WP_CACHE=update UPDATE=yes ;; @@ -347,8 +375,11 @@ do "-l"|"--logs") LOGS=yes ;; + "-k"|"--commit") + COMMIT=yes + ;; "-s"|"--save" ) - SAVE=yes + SAVE=yes ;; "-d"|"--default") CONFIG="<default>" @@ -377,4 +408,5 @@ do done Register $TESTS RunAlias ${DUNE_ALIAS} +Commits ${COMMITS} Status $DUNE_LOG