Skip to content

ci: the arcup and finalize-release shell test suites are never run #248

Description

@mehmetkr-31

Summary

The repo ships two shell test suites and neither is executed anywhere — not by CI, not by the Makefile, not by any other script.

Suite Size Status today
arcup/test_arcup.sh 829 lines, 25 assertions passes, exit 0
.github/scripts/test-finalize-release.sh 65 lines passes, exit 0
$ grep -rn "test_arcup" --include="*" . | grep -v "^./arcup/test_arcup.sh"
(no matches)
$ grep -rn "test-finalize-release" .github/ Makefile | grep -v "^.github/scripts/test-finalize-release.sh"
(no matches)

Both run in seconds and need no network — test_arcup.sh sources arcup with ARCUP_SKIP_MAIN=1 and drives it against local fixtures.

Why it matters for arcup specifically

arcup is the installer users actually run, and it is where the externally reported defects have concentrated: #45 (merged), plus #204 and #205 still open. Its suite already covers those exact areas:

Worth being precise about what this does and does not claim: the suite passes on main today, so it does not currently catch #204 or #205 — those need new assertions. The point is that a regression test added alongside either fix would never run, which makes writing one pointless until a job exists.

Suggested fix

A shell-tests job running both suites. No toolchain needed, so it is cheap and can run in parallel with everything else. Opened as #249.

The suites are written to be portable — arcup selects between sha256sum and shasum, and test_arcup.sh branches on GNU vs BSD tar when building its path-traversal fixture — but I verified them on macOS only, so the job's first run on ubuntu-latest is the confirming check. The failure mode is a red job rather than anything silent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions