uutils / findutils

Rust implementation of findutils
MIT License
314 stars 38 forks source link

Implement `-follow` #420

Closed hanbings closed 3 months ago

hanbings commented 4 months ago

Closed #308

May conflict with https://github.com/uutils/findutils/pull/416, better merge #416 first. :)

There are changes as described in man find: (The following changes are: When matching files, match the file pointed to by the file link.)

  1. It will use noleaf by default. (But -noleaf has no behavior change yet)
  2. changes the behaviour of the -newer predicate.
  3. consideration applies to -newerXY, -anewer and -cnewer
  4. -type predicate will always match against the type of the file that a symbolic link points to rather than the link itself.
  5. causes the -lname and -ilname predicates always to return false.
codecov[bot] commented 4 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 66.62%. Comparing base (423453e) to head (8443618). Report is 7 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #420 +/- ## ========================================== + Coverage 66.26% 66.62% +0.36% ========================================== Files 34 34 Lines 4043 4054 +11 Branches 916 917 +1 ========================================== + Hits 2679 2701 +22 + Misses 1000 990 -10 + Partials 364 363 -1 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 4 months ago

Commit 93b5ae2c1f5dd8b257905d583c61c872922f7fc8 has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 192 / SKIP: 1 / FAIL: 95
github-actions[bot] commented 4 months ago

Commit c1ebc0a723b65f625d0130136af27f6b76d6fc20 has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 192 / SKIP: 1 / FAIL: 95
github-actions[bot] commented 4 months ago

Commit 5abaed417f5c22255e5a2f3a2be09a17152d286a has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 192 / SKIP: 1 / FAIL: 95
github-actions[bot] commented 4 months ago

Commit 1b4e25b360a1e0acc1f619d6078c253004ef092c has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 192 / SKIP: 1 / FAIL: 95
github-actions[bot] commented 4 months ago

Commit e3911bea0dae09eb2d48c711a0330272945151ca has GNU testsuite comparison:

Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 192 / SKIP: 1 / FAIL: 95
Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
github-actions[bot] commented 4 months ago

Commit 887d76c824bda276092d88a1cbd67b0e97d586bc has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 192 / SKIP: 1 / FAIL: 95
hanbings commented 4 months ago

Sorry, the test coverage is still not up to target. :( They almost always appear in error handling logic and, therefore, are difficult to cover by test code. I would like to focus on improving coverage after completing all GNU feature implementations.

github-actions[bot] commented 4 months ago

Commit 1e1846a8588157a7ec0d578e114e088ad220fc0a has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 192 / SKIP: 1 / FAIL: 95
github-actions[bot] commented 4 months ago

Commit a0d4e468676299fde7d8ae63108864a71f9770b4 has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 192 / SKIP: 1 / FAIL: 95
github-actions[bot] commented 4 months ago

Commit eed1c1e8f17add5c28ff4f5dcc775ac103d1624b has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 194 / SKIP: 1 / FAIL: 93
github-actions[bot] commented 3 months ago

Commit 23675ab6eb73d8b46089137137721c0908ae807a has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 194 / SKIP: 1 / FAIL: 93
github-actions[bot] commented 3 months ago

Commit 40926970c3563d73ed2b79a1c59b972e284a33c2 has GNU testsuite comparison:

Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 194 / SKIP: 1 / FAIL: 93
Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
github-actions[bot] commented 3 months ago

Commit 579ae32bf842aabf0cb42e0ffad5d92889a6b245 has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 194 / SKIP: 1 / FAIL: 93
github-actions[bot] commented 3 months ago

Commit 2cc61ec605f4a29db472e847cbb01ed1a38f9c99 has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 194 / SKIP: 1 / FAIL: 93
github-actions[bot] commented 3 months ago

Commit a7bf9062f86a7ddfccd51612d0619c846ccac012 has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 702 / PASS: 445 / FAIL: 254 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 194 / SKIP: 1 / FAIL: 93
github-actions[bot] commented 3 months ago

Commit aabc8b4320285982caf459414f7c3c2453382c15 has GNU testsuite comparison:

Run BFS tests: Changes from main: PASS +4 / SKIP +0 / FAIL -4
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 197 / SKIP: 1 / FAIL: 90
Run GNU findutils tests: GNU tests summary = TOTAL: 698 / PASS: 449 / FAIL: 246 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
github-actions[bot] commented 3 months ago

Commit 84436185a234fd2d43aea7a34e1c50b1e4f0a806 has GNU testsuite comparison:

Run GNU findutils tests: GNU tests summary = TOTAL: 698 / PASS: 449 / FAIL: 246 / ERROR: 2
Run GNU findutils tests: Changes from main: PASS +0 / FAIL +0 / ERROR +0 / SKIP +0 
Run GNU findutils tests: Gnu tests No changes
Run BFS tests: Changes from main: PASS +1 / SKIP +0 / FAIL -1
Run BFS tests: BFS tests summary = TOTAL: 288 / PASS: 197 / SKIP: 1 / FAIL: 90
tavianator commented 3 months ago

@sylvestre #436 contains a squashed version of this PR if you'd rather avoid fixing the tests here

tavianator commented 3 months ago

This can be closed now that #436 was merged