haskell-te: a18f6dfa84d9b22eeffeb9b4a762515c1032414d

     1: { fail, jq, nixEnv, runCommand }:
     2: 
     3: { cmd, pkg }:
     4: runCommand "haveFields"
     5:   (nixEnv // {
     6:     inherit cmd;
     7:     buildInputs = [ fail jq pkg ];
     8:     SIZE     = "3";
     9:     MAX_KB   = "1000000";
    10:     MAX_SECS = "180";
    11:   })
    12:   ''
    13:     WORKED=0
    14:     for REP in $(seq 1 5)
    15:     do
    16:       export REP
    17:       GOT=$("$cmd")
    18:         RUNNER=$(echo "$GOT" | jq -r '.runner')
    19:       ANALYSER=$(echo "$GOT" | jq -r '.analyser')
    20:       if RESULT=$("$RUNNER" | "$ANALYSER")
    21:       then
    22:         WORKED=1
    23:         break
    24:       else
    25:         echo "Rep '$REP' failed; hopefully just timeout or OOM, skipping" 1>&2
    26:       fi
    27:     done
    28:     [[ "$WORKED" -eq 1 ]] || fail "Tried 5 reps, all failed"
    29: 
    30:     for FIELD in precision recall found wanted
    31:     do
    32:       echo "Checking for '$FIELD'" 1>&2
    33:       echo "$RESULT" | jq --arg field "$FIELD" -e 'has($field)' ||
    34:         fail "Don't have field '$FIELD':\n$RESULT\nEnd Result"
    35:     done
    36: 
    37:     echo pass > "$out"
    38:   ''

Generated by git2html.