mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-26 13:39:47 +00:00
5c3c7b8baa
`scripts/installtests/agent_upstart_teardown.py` created its fixture job directory with a bare `mkdir`. Under a caller umask of 002 (the default on Ubuntu hosts with user-private groups, pulse-dev included) that directory came out 775. The installer's `trusted_lifecycle_regular_file` check then correctly refused the fixture config, and running the harness directly failed 23 subtests. The Go driver `TestInstallSHUpstartTeardownRequiresObservedQuiescence` still passed, because the installtests package already pins umask 022 for its children (`umask_unix_test.go`). So the bug only shows up when the harness runs on its own. The fix gives the job directory an explicit 0755 mode. The sibling TrueNAS and uninstall-state harnesses already create their trust-checked directories with explicit modes. The production functions under test still run with the caller's umask. They `chmod 644` what they write, so nothing in production depends on umask. Checked on pulse-dev (python3 3.12, go 1.26.5): | run | umask 0002 | umask 0022 | umask 0077 | | --- | --- | --- | --- | | harness before | FAILED (failures=23, errors=1) | OK (15) | OK (15) | | harness after | OK (15) | OK (15) | OK (15) | | Go driver after | ok | ok | — | The other Python harnesses in `scripts/installtests/` (legacy, OpenRC, systemd, TrueNAS, uninstall-state) already pass under umask 0002, so they are unchanged. Test-only change.