#!/bin/bash # 20 cold runs of node --test packages/queue/tests/ for row 33 item 5. set -u SRC=/mnt/storage/src/mosaic-stack W=/tmp/fq33 HEADC=$(cat $W/base.head) FILES="packages/queue/README.md packages/queue/src/queue.mjs packages/queue/tests/commit.test.mjs packages/queue/tests/data.test.mjs packages/queue/tests/store.test.mjs scripts/queue-commit.sh" : > $W/cold-results.txt for i in $(seq 1 20); do d=$W/cold-$i rm -rf $d if [ $((i % 2)) = 1 ]; then kind=clone git clone -q --shared --no-checkout $SRC $d && git -C $d remote set-url --push origin DISABLED && git -C $d checkout -q --detach $HEADC else kind=export mkdir -p $d && git -C $SRC archive $HEADC | tar -x -C $d fi (cd $W/base && tar -c $FILES) | tar -x -C $d start=$(date +%s) (cd $d && env -u NODE_TEST_CONTEXT node --test --test-reporter=tap packages/queue/tests/ > $W/cold-$i.tap 2>&1) rc=$? end=$(date +%s) pass=$(grep -E '^# pass' $W/cold-$i.tap | awk '{print $3}') fail=$(grep -E '^# fail' $W/cold-$i.tap | awk '{print $3}') failed=$(grep -E '^not ok' $W/cold-$i.tap | tr '\n' ';') echo "run $i $kind exit=$rc pass=$pass fail=$fail secs=$((end-start)) $failed" >> $W/cold-results.txt [ "$fail" = 0 ] && rm -f $W/cold-$i.tap rm -rf $d done echo done >> $W/cold-results.txt