2:# Suite for packages/queue (issue #1508). Every test runs in scratch
11:# `scripts/mosaic queue`. Each takes the queue lock for a moment and writes
14:# `scripts/mosaic queue help` still runs, reading no queue file and taking no
36:for f in packages/queue/src/*.mjs packages/queue/tests/*.mjs packages/queue/tests/fixtures/*.mjs packages/queue/tests/fixtures/*.sh scripts/queue-commit.sh scripts/git-hooks/pre-commit scripts/mosaic; do
38:        *.sh|scripts/mosaic) bash -n "$f" >/dev/null 2>&1 ;;
44:[ -x scripts/queue-commit.sh ] && [ -x scripts/git-hooks/pre-commit ] && [ -x scripts/mosaic ]
45:check "queue-commit.sh, the guard and scripts/mosaic are executable" $?
46:node -e 'const p=require("./packages/queue/package.json"); process.exit(p.dependencies||p.devDependencies?1:0)' >/dev/null 2>&1
47:check "packages/queue declares no dependencies" $?
50:env -u NODE_TEST_CONTEXT node --test --test-reporter=spec packages/queue/tests/ > "$SANDBOX/tests.log" 2>&1
54:check "node --test packages/queue/tests/" "$rc"
57:scripts/mosaic queue help > "$SANDBOX/help.out" 2>&1 && grep -q '^usage: queue list' "$SANDBOX/help.out"
58:check "scripts/mosaic queue help" $?
71:        scripts/mosaic queue verify
72:        check "scripts/mosaic queue verify (live queue)" $?
73:        scripts/mosaic queue render --check
74:        check "scripts/mosaic queue render --check (live queue)" $?
scripts/mosaic-task.mjs:37:import { BusinessError, validateRoleDocument } from "../packages/business/src/index.mjs";
scripts/mosaic-task.mjs:629:    if (!target) fail(4, "usage: mosaic-task.mjs validate <taskFile>");
scripts/mosaic-task.mjs:637:    if (!target) fail(4, "usage: mosaic-task.mjs run <taskFile>");
scripts/mosaic-task.mjs:641:    if (!target) fail(4, "usage: mosaic-task.mjs show <runId>");
scripts/mosaic-task.mjs:651:    if (!target) fail(4, "usage: mosaic-task.mjs resolve-role <roleFile>");
scripts/mosaic-task.mjs:659:    if (!target) fail(4, "usage: mosaic-task.mjs retry <runId>");
scripts/test-task.sh:53:TASK="node scripts/mosaic-task.mjs"
scripts/test-task.sh:119:expect_exit "prune dry-run exits 0" 0 -- env MOSAIC_CONFIG="$SANDBOX/prune-config.json" node scripts/mosaic-task.mjs prune
scripts/test-task.sh:123:expect_exit "prune --keep=2 --yes removes oldest" 0 -- env MOSAIC_CONFIG="$SANDBOX/prune-config.json" node scripts/mosaic-task.mjs prune --keep=2 --yes
scripts/test-task.sh:136:expect_exit "prune with invalid keep exits 4" 4 -- env MOSAIC_CONFIG="$SANDBOX/prune-config.json" node scripts/mosaic-task.mjs prune --keep=0 --yes
scripts/test-task.sh:182:        node scripts/mosaic-task.mjs retry "$(ls -dt "$SANDBOX/data/runs"/r-* | head -1 | xargs basename)"
scripts/test-task.sh:192:        env MOSAIC_CONFIG="$SANDBOX/mock-adapters.json" node scripts/mosaic-task.mjs retry r-missing
scripts/test-task.sh:243:    ROLE_OUT="$(node scripts/mosaic-task.mjs resolve-role roles/researcher.json 2>/dev/null)" \
scripts/test-task.sh:248:        node scripts/mosaic-task.mjs resolve-role roles/conductor-policy.json
scripts/test-task.sh:252:        node scripts/mosaic-task.mjs resolve-role "$SANDBOX/roles/mismatch.json"
scripts/test-task.sh:255:        node scripts/mosaic-task.mjs resolve-role "$SANDBOX/roles/badnet.json"
scripts/test-task.sh:258:        node scripts/mosaic-task.mjs resolve-role "$SANDBOX/roles/dupe.json"
scripts/test-task.sh:261:        node scripts/mosaic-task.mjs resolve-role "$SANDBOX/roles/aliens.json"
scripts/test-task.sh:263:        node scripts/mosaic-task.mjs resolve-role "$SANDBOX/roles/absent.json"
scripts/test-task.sh:269:        V2_OUT="$(node scripts/mosaic-task.mjs resolve-role "roles/$r.json" 2>/dev/null)" \
scripts/test-task.sh:281:        node scripts/mosaic-task.mjs resolve-role "$SANDBOX/roles/v2ok.json"
scripts/test-task.sh:284:        node scripts/mosaic-task.mjs resolve-role "$SANDBOX/roles/v2unknown.json"
scripts/test-task.sh:287:        node scripts/mosaic-task.mjs resolve-role "$SANDBOX/roles/v2gated.json"
scripts/test-task.sh:290:        node scripts/mosaic-task.mjs resolve-role "$SANDBOX/roles/v2scope.json"
scripts/test-task.sh:293:        node scripts/mosaic-task.mjs resolve-role "$SANDBOX/roles/v2nocontract.json"
scripts/test-task.sh:297:        node scripts/mosaic-task.mjs resolve-role "$SANDBOX/roles/v2link.json"
