Test: file scanner — exclusion patterns, symlinks, permissions #3

Open
opened 2026-06-02 20:29:20 +00:00 by jmiller · 1 comment
Owner

Verify FileScanner handles directory/file exclusions and edge cases.

Scope

  • Directory exclusion (exact path and nested)
  • File exclusion (exact name and wildcard patterns)
  • .git always excluded
  • Symlinks, unreadable files, empty directories

Acceptance Criteria

  • Excluded directories and all children are skipped
  • Wildcard file patterns work (*.bak, *.tmp)
  • .git directory always excluded
  • Unreadable files are skipped without error
Verify FileScanner handles directory/file exclusions and edge cases. ## Scope - Directory exclusion (exact path and nested) - File exclusion (exact name and wildcard patterns) - .git always excluded - Symlinks, unreadable files, empty directories ## Acceptance Criteria - [ ] Excluded directories and all children are skipped - [ ] Wildcard file patterns work (*.bak, *.tmp) - [ ] .git directory always excluded - [ ] Unreadable files are skipped without error
jmiller added the type: testingpriority: highcomponent: enginestatus: ready labels 2026-06-02 20:29:20 +00:00
Author
Owner

Testing Plan

TC-3.1: Directory exclusion

  1. Add tmp, cache, administrator/logs to exclude dirs
  2. Run backup, list ZIP contents
  3. Verify no files from those dirs in archive

TC-3.2: Nested exclusion

  1. Add images/cache to exclude dirs
  2. Verify images/cache/thumbs/file.jpg is excluded
  3. Verify images/other/file.jpg is included

TC-3.3: File pattern exclusion

  1. Add *.bak and *.tmp to exclude files
  2. Create test.bak and test.tmp in site root
  3. Run backup, verify those files are NOT in archive
  4. Verify test.txt IS in archive

TC-3.4: .git exclusion

  1. Verify .git directory is always excluded even without explicit filter

TC-3.5: Unreadable files

  1. Create a file with 000 permissions
  2. Run backup
  3. Verify backup completes (file skipped, no crash)
## Testing Plan **TC-3.1: Directory exclusion** 1. Add `tmp`, `cache`, `administrator/logs` to exclude dirs 2. Run backup, list ZIP contents 3. Verify no files from those dirs in archive **TC-3.2: Nested exclusion** 1. Add `images/cache` to exclude dirs 2. Verify `images/cache/thumbs/file.jpg` is excluded 3. Verify `images/other/file.jpg` is included **TC-3.3: File pattern exclusion** 1. Add `*.bak` and `*.tmp` to exclude files 2. Create test.bak and test.tmp in site root 3. Run backup, verify those files are NOT in archive 4. Verify test.txt IS in archive **TC-3.4: .git exclusion** 1. Verify .git directory is always excluded even without explicit filter **TC-3.5: Unreadable files** 1. Create a file with 000 permissions 2. Run backup 3. Verify backup completes (file skipped, no crash)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoJoomBackup#3