tests/slurm-epilog: strengthen mount-boundary assertions and add pathname regressions
Open
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 1.5k
- Forks
- 362
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 23
Description
Follow-up from #1408 review. The production fixes are merged; these are test-strength gaps only, in tests/slurm-epilog/run-tests.sh:
mount_caseruns the rendered42-lastuserjob-cleanupand discards its exit status. A cleanup that exits early (for example, a replacement stub thatexit 17) still passes as long as the payload file was never reached.assert_owned_mount_rootonly checks that the payload under the user-owned mount root still exists. It should also require positive sibling cleanup outside the mount, as the owned-parent and same-device bind cases already do, so the case cannot pass vacuously.- There are no regression cases for mount points containing
*,?,[, backslash or a trailing newline, with unrelated glob-lookalike siblings present (for exampledata1next to a mount nameddata[1]). The escaping andprintf -vdecode added in #1408 are only covered by out-of-tree checks today. Since the root-only mount cases skip on most developer machines, a variant that stubsawkto emit a synthetic mount record (as the maintainer review did) would let these run unprivileged.
No production code change is expected.
Contributor 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.
Research direction
Start in tests/slurm-epilog/run-tests.sh, focusing on mount_case and assert_owned_mount_root, then review the existing owned-parent and same-device bind assertions. Add coverage for the listed special-character mount names using the synthetic awk mount record approach described in the issue. Done means cleanup failures are propagated, positive sibling cleanup is required, and pathname regressions pass without privileged mounts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- awk, shell
- Domain
- devops, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 64/100