Skip to content

feat(assert): add assert_file_permissions#745

Merged
Chemaclass merged 3 commits into
mainfrom
feat/742-assert-file-permissions
Jul 9, 2026
Merged

feat(assert): add assert_file_permissions#745
Chemaclass merged 3 commits into
mainfrom
feat/742-assert-file-permissions

Conversation

@Chemaclass

Copy link
Copy Markdown
Member

Summary

Adds assert_file_permissions <mode> <file> — asserts a file's octal permission mode.

  • Accepts an optional leading zero: 0755 and 755 compare equal (numeric comparison).
  • Reads the mode portably: GNU stat -c '%a' with a BSD stat -f '%Lp' fallback (works on macOS + Linux).
  • Fails clearly when the file is missing.

Tests

  • test_successful_assert_file_permissions
  • test_successful_assert_file_permissions_accepts_leading_zero
  • test_unsuccessful_assert_file_permissions (mode mismatch)
  • test_unsuccessful_assert_file_permissions_when_file_does_not_exist

Full suite green (sequential + parallel + --strict --simple), make sa + make lint pass.

Docs: docs/assertions.md. CHANGELOG updated under Unreleased → Added.

Closes #742

Assert a file's octal permission mode (e.g. 644, 0755). A leading zero is
optional and modes are compared numerically, so 0755 and 755 are equal. Reads
the mode portably via GNU stat with a BSD stat fallback (macOS).

Closes #742
@Chemaclass Chemaclass added the enhancement New feature or request label Jul 9, 2026
@Chemaclass Chemaclass self-assigned this Jul 9, 2026
@Chemaclass Chemaclass merged commit 791586b into main Jul 9, 2026
31 checks passed
@Chemaclass Chemaclass deleted the feat/742-assert-file-permissions branch July 9, 2026 19:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(assert): assert_file_permissions to check octal file mode

1 participant