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.