Skip to content

test/51_composition and test/52_sequence hardcode /srv/langs/nolang — battery not portable (caught by CI on first run) #22

Description

@arkh-node

What breaks

The new CI workflow (#21) fails its first run with УПАЛО: 2:

test/51_composition.lisp ❌ УПАЛ (код 1)   Unhandled SB-INT:SIMPLE-FILE-ERROR
test/52_sequence.lisp    ❌ УПАЛ (код 1)   Unhandled SB-INT:SIMPLE-FILE-ERROR

Root cause — absolute paths hardcoded to the author's workstation:

test/51_composition.lisp:1: (load "/srv/langs/nolang/src/parse.lisp")
test/52_sequence.lisp:1:    (load "/srv/langs/nolang/src/verdict.lisp")

Both files landed in d731e5d without a battery run — locally they load by accident (the clone happens to live at /srv/langs/nolang). Every other test in the battery uses the portable convention:

(load (merge-pathnames "../src/check.lisp" *load-pathname*))   ; e.g. test/40_types.lisp

Fix

Two one-line changes to the portable merge-pathnames form. No behavior change on any machine where the tests currently work.

Related (out of scope here, same disease)

repl.lisp hardcodes /srv/langs/nolang in three places (lines 30, 108, 110). The REPL is outside the battery, so fixing it belongs in its own PR.

Proof

Both tests green locally after the fix; the CI workflow (#21) green after this merges.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions