X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/c0a35285e53870b4f8f0be9857debc39e61f6ba2..446befde6728fa65bc0170a4f65e8e34d09316f1:/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 !"