- Added devcontainer configuration based on Ubuntu 24.04
- Added GitHub Actions workflow for devcontainer testing
- Update cSpell configuration to ingore spelling in devcontainer configs
- Update pre-commit hooks to exclude cSpell.json because pre-commit
fails for that file due to json with comments format
- Fix filename for cSpell config in vscode settings
- Two tests in `test_dd.rs` are now skipped if /dev/sda1 is not
available, which is the case in devcontainer
- Update check for existing gnu clone in build-gnu.sh, not checking the
existence of the directory but the presence of the .git directory.
This allows us to have the directly as a volume mount in devcontainer
- Remove temporary file `g` after use in build-gnu.sh
See #7252, both `timeout` and `yes` reset the SIGPIPE handler
(actually, the Rust core does that), leading to trap_sigpipe_or_skip_
test:
```
(trap '' PIPE && timeout 10 yes |:) 2>&1 | grep 'Broken pipe'
```
to fail, causing 4 tests to be skipped.
I believe the intent here is to check if the OS supports SIGPIPE,
so it probably makes sense to use System's timeout/yes here, and
run the tests anyway (which, happen to pass).
Change the implementation of `rm -r` so that it is explicitly recursive
so that (1) there is one code path regardless of whether `--verbose` is
given and (2) it is easier to be compatible with GNU `rm`.
This change eliminates a dependency on the `walkdir` crate.
Fixes#7033, fixes#7305, fixes#7307.
Remove some replacements of uutils `touch` for GNU `touch` in the
`util/build-gnu.sh` script, since recent improvements to the
`parse_datetime` have made these replacements unnecessary.
Update the `util/build-gnu.sh` script to restore the use of uutils
programs that had been temporarily replaced with GNU programs in test
files where the program to replace was not a primary concern. For
example, before this commit we were forcing the use of GNU `stat`
instead of uutils `stat` in the test file
`tests/touch/60-seconds.sh`. After this commit, we use the uutils
`stat` since it is working well enough for this test case.
* stat: fix the quotes when dealing with %N
and other formats
should fix
tests/stat/stat-fmt.sh
* stats: use an enum instead of a string
* stats: split the functions into smaller functions
* stat: handle byte as a format for better display
* stat: handle error better. should make tests/stat/stat-printf.pl pass
* stat: Some escape sequences are non-standard
* Fix tests
* Take comments into account