NVIDIA / NVIDIA/deepops

tests/slurm-epilog: strengthen mount-boundary assertions and add pathname regressions

Open
#1,409 0 comments 0 reactions 0 assignees View on GitHub

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:

  1. mount_case runs the rendered 42-lastuserjob-cleanup and discards its exit status. A cleanup that exits early (for example, a replacement stub that exit 17) still passes as long as the payload file was never reached.
  2. assert_owned_mount_root only 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.
  3. There are no regression cases for mount points containing *, ?, [, backslash or a trailing newline, with unrelated glob-lookalike siblings present (for example data1 next to a mount named data[1]). The escaping and printf -v decode 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 stubs awk to emit a synthetic mount record (as the maintainer review did) would let these run unprivileged.

No production code change is expected.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.