X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/c0a35285e53870b4f8f0be9857debc39e61f6ba2..1d498e972be5597e0f902a1bb8e6ec8d87d51002:/Experimentations/run-all

diff --git a/Experimentations/run-all b/Experimentations/run-all
index 9d43542..5b80fbf 100755
--- a/Experimentations/run-all
+++ b/Experimentations/run-all
@@ -52,7 +52,7 @@ parameters="$1"
 log "Running: $0 $@"
 log "Hostname: $(hostname -f)"
 
-declare -a TOPOLOGIES ALGORITHMS PLATFORMS COMMON_OPTS MORE_ARGS
+declare -a TOPOLOGIES ALGORITHMS PLATFORMS VARIANTS COMMON_OPTS MORE_ARGS
 
 # read parameters
 log "Reading parameters from \"$1\"."
@@ -66,14 +66,19 @@ variable_check LOAD
 variable_check DEADLINE
 
 # default values
-: ${RESULTS:=$PWD/results}
-: ${LOBA:=$PWD/loba}
+test -n "$VARIANTS" || VARIANTS=( "plain" "bookkeeping" )
+test -n "$RESULTS"  || RESULTS="$PWD/results"
+test -n "$LOBA"     || LOBA="$PWD/loba"
 
 COMMON_OPTS=(
-    --cfg=contexts/factory:raw
     "${MORE_ARGS[@]}"
 )
 
+test -f "$LOBA" && test -x "$LOBA" || die "command not found: \"$LOBA\""
+for plat in "${PLATFORMS[@]}"; do
+    test -f "$plat" && test -r "$plat" || die "file not found: \"$plat\""
+done
+
 log "Results put in: \"$RESULTS\"."
 
 [ $debug = 1 ] && log "Running in dry-run mode"
@@ -100,9 +105,9 @@ for plat in "${PLATFORMS[@]}"; do
     plat_output="$RESULTS/plat_$tmp"
     for topo in "${TOPOLOGIES[@]}"; do
         topo_output="$plat_output/topo_$topo"
+        [ $debug = 0 ] && mkdir -p "$topo_output"
         for algo in "${ALGORITHMS[@]}"; do
             algo_output="$topo_output/algo_$algo"
-            [ $debug = 0 ] && mkdir -p "$algo_output"
             args=(
                 -T"$topo"
                 -a"$algo"
@@ -111,11 +116,16 @@ for plat in "${PLATFORMS[@]}"; do
                 -t"$DEADLINE"
                 "$plat"
             )
-            for bk in "" "-b"; do
-                tmp=$(outfile "loba" $bk "${args[@]}")
-                out="$algo_output/$tmp.out"
+            for variant in "${VARIANTS[@]}"; do
+                cmd=( "$LOBA" "${COMMON_OPTS[@]}" )
+                case "$variant" in
+                    "plain") : ;;
+                    "bookkeeping") cmd+=( "-b" ) ;;
+                    *) die "unknown variant: \"$variant\"" ;;
+                esac
+                out="${algo_output}_${variant}.out"
                 outf="$out$outsuffix"
-                cmd=( "$LOBA" "${COMMON_OPTS[@]}" $bk "${args[@]}" )
+                cmd+=( "${args[@]}" )
                 log "Run: ${cmd[@]}"$'\n'"... &> $outf"
                 if [ $overwrite = 0 -a -e "$outf" ]; then
                     log "already run !"