-
Notifications
You must be signed in to change notification settings - Fork 1
Implement find builtin command #36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
gh-worker-dd-mergequeue-cf854d
merged 92 commits into
main
from
matt-dz/implement-find-builtin
Mar 16, 2026
Merged
Changes from all commits
Commits
Show all changes
92 commits
Select commit
Hold shift + click to select a range
ffd5112
Implement find builtin command
matt-dz fdfcda6
Address code review findings for find builtin
matt-dz 45331b5
Fix misplaced skip_assert_against_bash in nonexistent.yaml
matt-dz b3d04ee
Document ReadDir sorted-order design choice and its bash divergence
matt-dz 6188545
Address remaining PR review comments
matt-dz 10e4148
Use fmt.Errorf directly instead of errors.New(fmt.Sprintf())
matt-dz 682a62b
Add 52 comprehensive test scenarios for find builtin
matt-dz 2691ffb
Fix -newer cache bug and address PR review comments
matt-dz 7335e90
Integrate -maxdepth/-mindepth into the expression parser
matt-dz 27b3d5e
Detect symlink loops by file identity (dev+inode) instead of path str…
matt-dz 139d228
Address PR #36 review comments (round 2)
matt-dz 27c52f1
Merge branch 'main' of github.com:DataDog/rshell into matt-dz/impleme…
matt-dz 1698078
Address PR #36 review comments (round 3)
matt-dz e823302
Address PR #36 review comments (round 4)
matt-dz c95fb6c
Address PR #36 review comments (round 5)
matt-dz cd0786f
Address PR #36 review comments (round 6)
matt-dz 4fc005f
Address PR #36 review comments (round 7)
matt-dz 5d1151a
Address PR #36 review comments (round 8)
matt-dz 4afc9fb
Address PR #36 review comments (round 9)
matt-dz b187f82
Address PR #36 review comments (round 10)
matt-dz f87d171
Address PR #36 review comments (round 11)
matt-dz 793f6da
Address PR #36 review comments (round 12)
matt-dz a081c95
Address PR #36 review comments (round 13)
matt-dz 92d809d
Add comprehensive unit tests for find builtin regression prevention
matt-dz 289e635
Address PR #36 review comments (round 14)
matt-dz c75c0d9
Address PR #36 review comments (round 14)
matt-dz 935ffd1
Address PR #36 review comments (round 15)
matt-dz ccea45b
Address PR #36 review comments (round 16)
matt-dz 89730d0
Add regression tests for round 16 fixes
matt-dz ee3c48a
Merge branch 'main' into matt-dz/implement-find-builtin
matt-dz 00825cc
Fix loop_detection_with_L test panic on Windows
matt-dz 96351e6
Address PR #36 review comments (round 18)
matt-dz b6e4e11
Address PR #36 review comments (round 19)
matt-dz 7386574
Fix gofmt and Windows ls sandbox test
matt-dz e9e8085
Address Effective Go review findings on find builtin
matt-dz fcbda04
Add time.Duration and time.Minute to builtin allowed symbols
matt-dz 2e3d805
Address Effective Go review findings (round 2)
matt-dz a939740
Fix TestAllowedPathsExecViaPathLookup bypassing sandbox
matt-dz 43b8b56
Merge branch 'main' of github.com:DataDog/rshell into matt-dz/impleme…
matt-dz c1a2380
Revert "Fix TestAllowedPathsExecViaPathLookup bypassing sandbox"
matt-dz 3d540c5
Fix TestAllowedPathsExecViaPathLookup: sed is now a builtin
matt-dz d6da039
Address PR review comments
matt-dz e2e511e
Address PR review comments (round 3)
matt-dz b29a889
Add -mmin overflow tests and fix parser for int64-exceeding values
matt-dz 3665f7c
Add scenario tests for ')' treated as path operand
matt-dz cdb1ad8
Add isExpressionStart unit test and path/expression boundary scenarios
matt-dz b961c4f
Add missing test coverage for find builtin
matt-dz 00e872e
Merge branch 'main' into matt-dz/implement-find-builtin
matt-dz fbe0aaf
format files
matt-dz 1ecb071
Merge branch 'matt-dz/implement-find-builtin' of github.com:DataDog/r…
matt-dz 894fcd4
Fix bash comparison failures due to find output ordering
matt-dz 6bc9c94
Use unsorted ReadDir in find to match GNU find ordering
matt-dz e21613f
Merge branch 'main' into matt-dz/implement-find-builtin
matt-dz 1fd9265
Fix CI failures from unsorted find output on Linux
matt-dz 5859439
Streaming DFS walker and short-circuit evalEmpty for find
matt-dz 9203b69
Merge branch 'main' into matt-dz/implement-find-builtin
matt-dz 49d858a
Fix CI: add os.File to builtin allowlist, remove stale RuneCount entry
matt-dz 11bf6c0
fix: address find review comments (empty paths, empty -newer, malform…
matt-dz 7f957a1
fix: treat empty path operands as per-root errors, not fatal parse
matt-dz af78619
test: add scenario tests for -mtime -0/0/+0 edge cases
matt-dz ff78c00
fix: make -type f and -type d scenarios order-independent
matt-dz f96ebbf
fix: stabilize -newer scenario with explicit mod_time values
matt-dz ba66935
revert: drop unrelated ls sandbox test change from find PR
matt-dz 7375410
fix: align -mtime +N/-N with GNU find's raw-second comparison
matt-dz 257315f
fix CI: add time.Hour and time.Second to builtin allowlist
matt-dz 90dd433
refactor: replace *os.File with fs.ReadDirFile in OpenDir
matt-dz a9fbd9a
fix: propagate context cancellation + fix future-dated file mtime mat…
matt-dz 2396dab
fix: stabilize Windows CI tests
matt-dz f262c4d
Merge remote-tracking branch 'origin/main' into matt-dz/implement-fin…
matt-dz c3b4bfa
fix: correct wc stdin/no_filename test expectation to match bash
matt-dz cced11b
fix: capture invocation time once for consistent -mtime/-mmin evaluation
matt-dz 4a43391
test: verify Now() is called once per find invocation
matt-dz f4b613a
fix: fall back to lstat for dangling -newer refs under -L
matt-dz 2cd4a86
fix: stabilize newer_dangling_symlink_L with explicit mod_time
matt-dz 9f64956
Merge branch 'main' of github.com:DataDog/rshell into matt-dz/impleme…
matt-dz f45ea57
fix: use stderr_contains_windows for ls sandbox test
matt-dz 32c6ee0
fix: stabilize mmin_exact test with explicit mod_time
matt-dz e4e0849
Merge remote-tracking branch 'origin/main' into matt-dz/implement-fin…
matt-dz 1533016
Merge branch 'main' into matt-dz/implement-find-builtin
AlexandreYang c833dc2
Merge branch 'main' into matt-dz/implement-find-builtin
matt-dz 0d61bb9
fix: restrict -L lstat fallback to "not found" errors only
matt-dz 36324e4
fix: always use lstat for -newer reference files, matching GNU find
matt-dz a82d068
test: enable bash comparison for all -newer scenarios
matt-dz 3485a2b
fix: normalize Windows path separators in find builtin
matt-dz 0951ce6
test: fix misleading parsePathPredicate test name and comments
matt-dz 5862a0a
test: add Windows-specific tests for path separator normalization
matt-dz 92aa8c4
format
matt-dz 5600a9f
fix: follow symlink targets for -newer reference when -L is set
matt-dz 16dc823
test: add -L predicate interaction tests verified against GNU find
matt-dz 37e50e7
test: add -L -mtime/-mmin symlink tests, move Windows tests inline
matt-dz 954c88b
fix: treat trailing backslash glob as non-matching per GNU fnmatch
matt-dz c2576b0
fix: remove backslash-named file from scenario (illegal on Windows)
matt-dz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.