No CI job resolves a host name through the system resolver on macOS, so a macOS regression in fetch name resolution would pass CI
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 65/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- github-actions, typescript
Research direction
Start in the GitHub Actions workflow, at the cli job's hosts-file step and the test job that runs the Pascal unit tests. Also check the if: runner.os == 'Linux' guard on the CLI hosts check in scripts/test-cli-permissions.ts. Done means the goccia-hosts-file.test entry is added before the unit tests on every non-Windows runner, so the HTTPClient.Test.pas hosts-file test runs and passes on Linux and macOS.
Written by the indexing model from the issue text.
Description
Summary
#1681 (for #1565) makes fetch resolve host names through libc getaddrinfo on every UNIX platform, with a per-OS addrinfo layout for Linux, Darwin and FreeBSD. CI only exercises that path on Linux:
- The
HTTPClient.Test.pashosts-file test skips itself unlessgoccia-hosts-file.testresolves. Only theclijob adds that/etc/hostsentry; the Pascal unit tests run in the separatetestjob, which never adds it, so the unit test is skipped on all six platforms. - The CLI hosts check in
scripts/test-cli-permissions.tsgets the entry only underif: runner.os == 'Linux'.
A wrong Darwin addrinfo layout, or a resolver call that fails on macOS, would therefore pass CI.
Why
Shotcup and other embedders run fetch on macOS. The Darwin layout was reviewed by hand (#1681 review comment), but nothing in CI keeps it right.
Expected
- Add the hosts entry (
127.0.0.1 goccia-hosts-file.testis enough) before the Pascal unit tests on every non-Windows runner, so theHTTPClient.Test.pashosts-file test runs on Linux and macOS. - Run the CLI hosts check on
runner.os != 'Windows'as well.
Notes
Found during Shotcup's verification of #1681 on a Fly machine: https://github.com/frostney/GocciaScript/pull/1681#issuecomment-6187054463
Created on behalf of @frostney using Claude Opus 5.5.
- Dominant language
- Pascal
- Stars
- 20
- Forks
- 4
- Avg merge
- 23h 31m
- Merged PRs (30d)
- 203
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from frostney/GocciaScript
-
internal
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
frostney/GocciaScript#1715 ·
Maintainers usually reply within 1 day
-
internal
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
frostney/GocciaScript#1714 · 1 comment ·
Maintainers usually reply within 1 day
-
addInitializer silently ignores a non-callable argument instead of throwing TypeErrorPossibly taken A pull request linked to this issue is open or already merged. Openbug engine spec compliance
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
frostney/GocciaScript#1668 ·
Maintainers usually reply within 1 day
-
performance runtime
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
frostney/GocciaScript#1567 ·
Maintainers usually reply within 1 day
-
documentation
Difficulty 1/5 1-3 hours Newbie friendliness 84/100
frostney/GocciaScript#1510 ·
Maintainers usually reply within 1 day
All issues in frostney/GocciaScript
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
ADORSYS-GIS/keycloak-oid4vp-plugin#232 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
SCIInstitute/SCIRun#2842 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
apache/rocketmq-dashboard#6842 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
mariadb-operator/mariadb-operator#1962 ·
Maintainers usually reply within 1 day
-
area/infra good first issue type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 60/100
cristim/AztecCraft#92 ·
Maintainers usually reply within 1 day