Commit graph

5297 commits

Author SHA1 Message Date
Michael Debertol 0531153fa6 uutils: move clap::App creation to separate functions 2021-06-25 21:23:45 +02:00
Sylvestre Ledru 5981351222
Merge pull request #2455 from miDeb/sort/human-numeric
sort: compatibility of human-numeric sort
2021-06-25 21:22:21 +02:00
Michael Debertol 004b5d1b38 format: formatting 2021-06-25 19:35:33 +02:00
Michael Debertol 548a895cd6 sort: compatibility of human-numeric sort
Closes #1985.
This makes human-numeric sort follow the same algorithm as GNU's/FreeBSD's sort.
As documented by GNU in https://www.gnu.org/software/coreutils/manual/html_node/sort-invocation.html,
we first compare by sign, then by si unit and finally by the numeric value.
2021-06-25 18:19:00 +02:00
Sylvestre Ledru fef8761ac1
Merge pull request #2443 from miDeb/sort/data-oriented
sort: separate additional data from the Line struct
2021-06-24 21:19:23 +02:00
Sylvestre Ledru ab5d581fa4
Merge pull request #2439 from tertsdiepraam/numfmt/round-and-c-locale
`numfmt`: add `--round` and other minor improvements
2021-06-24 21:18:59 +02:00
Sylvestre Ledru 5d7cf61128
Merge pull request #2429 from miDeb/install/target-dir
install: support --target-directory
2021-06-24 21:06:44 +02:00
Michael Debertol 8bebfbb3e6 sort: don't store slices for general numeric sort
Gerenal numeric sort works by comparing pre-parsed floating point
numbers. That means that we don't have to store the &str the float was
parsed from.

As a result, memory usage was slightly reduced for general numeric sort.
2021-06-24 18:33:33 +02:00
Sylvestre Ledru 9d7e634789
Merge pull request #2454 from jvasile/docs-uutil
Fix typo: duplicated word
2021-06-24 16:55:12 +02:00
James Vasile b03d4c02bb Fix typo: duplicated word 2021-06-24 10:44:47 -04:00
Sylvestre Ledru f421761333
Merge pull request #2448 from sylvestre/gnu-fail-early
CI/GNU: if an error is detected, don't generate the json file
2021-06-24 10:23:25 +02:00
Sylvestre Ledru f6035d2a60
Merge pull request #2453 from rivy/fix.spell
docs ~ fix addition of 'jhscheer' to spell-checker exceptions word list
2021-06-24 08:04:57 +02:00
Roy Ivy III 2990ebd0aa docs ~ fix addition of 'jhscheer' to spell-checker exceptions word list 2021-06-23 17:02:25 -05:00
Sylvestre Ledru 3b2d0d17fa
Merge pull request #2446 from jhscheer/groups_gnu_testsuite
groups: fixes to pass GNU's Testsuite
2021-06-23 20:15:12 +02:00
Sylvestre Ledru daf9bdcace
Merge pull request #2452 from rivy/fix.cicd-deps
Fix CICD dependency display errors
2021-06-23 20:13:22 +02:00
Roy Ivy III b881c4ef92 docs ~ add 'Jan Scheer' to spell-checker exceptions word list 2021-06-23 12:10:48 -05:00
Sylvestre Ledru 44c770d234
Merge pull request #2450 from jhscheer/id_refactor_identifier
id: refactor identifiers
2021-06-23 19:05:57 +02:00
Roy Ivy III 42fed9186d maint/docs ~ add ToDO for change from cargo-tree to cargo tree 2021-06-23 12:03:35 -05:00
Roy Ivy III 17a959853e maint/CICD ~ suppress useless rustup notices 2021-06-23 10:05:49 -05:00
Roy Ivy III 8884666ce0 maint/CICD ~ fix dependency display errors (relax network lockout) 2021-06-23 10:00:27 -05:00
Jan Scheer 11f36eae3b tests/groups: fix/add tests for (multiple) username(s) 2021-06-23 16:50:03 +02:00
Sylvestre Ledru d40fc65ee6
Merge branch 'master' into numfmt/round-and-c-locale 2021-06-23 12:39:55 +02:00
Sylvestre Ledru a73e71ba74
Merge pull request #2437 from miDeb/cp/reflink-auto
cp: default to --reflink=auto on linux and macos
2021-06-23 12:37:44 +02:00
Sylvestre Ledru 87eaf6e80a
Merge pull request #2447 from jhscheer/locale_c
fix some issues with locale (replace "LANGUAGE" with "LC_ALL")
2021-06-23 12:36:40 +02:00
Jan Scheer 4b3da59b0e id: refactor identifiers
* change of identifier names and spelling according to the suggestions in the review of #2446
2021-06-23 12:27:01 +02:00
Jan Scheer c0be979611 fix some issues with locale (replace "LANGUAGE" with "LC_ALL")
`LANGUAGE=C` is not enough, `LC_ALL=C` is needed as the environment
variable that overrides all the other localization settings.

e.g.
```bash
$ LANGUAGE=C id foobar
id: ‘foobar’: no such user

$ LC_ALL=C id foobar
id: 'foobar': no such user
```

* replace `LANGUAGE` with `LC_ALL` as environment variable in the tests
* fix the the date string of affected uutils
* replace `‘` and `’` with `'`
2021-06-23 11:30:28 +02:00
Sylvestre Ledru 178399c20e
Merge pull request #2449 from miDeb/temp-win
Make tests pass on a windows VM
2021-06-23 08:40:30 +02:00
Michael Debertol d60afb8947 mkdir: note that -m is not supported on windows 2021-06-23 00:59:51 +02:00
Michael Debertol ce0801db90 tests/mv: test uutils mv instead of system util
Calling `cmd_keepenv("mv")` spawned the system `mv` instead of
the uutils `mv`. Also, `keepenv` isn't necessary because it doesn't
need to inherit environment variables.
We now actually check the stderr, because previously the result of
`ends_with` was not used, making the test pass even when it shouldn't.

I disabled the test on windows because `mkdir` does not support `-m` on
windows, making the test fail because there will be no permission error.
On FreeBSD there isn't a permission error either, and `mv` succeeds.
2021-06-23 00:58:19 +02:00
Michael Debertol 4a956f38b9 sort: separate additional data from the Line struct
Data that was previously boxed inside the `Line` struct was moved to
separate vectors. Inside of each `Line` remains only an index that
allows to access that data.
This helps with keeping the `Line` struct small and therefore reduces
memory usage in most cases.
Additionally, this improves performance because one big allocation (the
vectors) are faster than many small ones (many boxes inside of each
`Line`). Those vectors can be reused as well, reducing the amount of
(de-)allocations.
2021-06-23 00:36:05 +02:00
Sylvestre Ledru 34db1c5916
Simple dash, not double 2021-06-22 18:03:12 +02:00
Michael Debertol 622504467f mktemp: note that windows uses a different env var for tmpdir
On windows `std::env::temp_dir` uses the `TMP` environment variable
instead of `TMPDIR`.
2021-06-22 17:44:45 +02:00
Michael Debertol e5a7bcbb9d tests: keep env vars for the temporary directory
On some Windows machines this would otherwise cause `std::env::temp_dir`
to fall back to a path that is not writeable (C:\\Windows).
Since by default integration tests don't inherit env vars from the
parent, we have to override this in some cases.
2021-06-22 17:43:46 +02:00
Sylvestre Ledru ed8d390ca7 CI/GNU: if an error is detected, don't generate the json file
Avoid to generate incorrect json files
2021-06-22 14:32:26 +02:00
Sylvestre Ledru e48ff9dd9e
Merge pull request #2441 from siebenHeaven/ls_dangling_symlinks
ls: Fix problems dealing with dangling symlinks
2021-06-21 22:34:15 +02:00
Sylvestre Ledru a982030032
Merge pull request #2386 from youknowone/dircolors-double-scan
Prevent double scanning from dircolors
2021-06-21 22:31:24 +02:00
Sylvestre Ledru 2f11a23016
Merge pull request #2431 from miDeb/pr/races
tests/pr: include one more possible minute
2021-06-21 22:30:37 +02:00
Sylvestre Ledru 97ce44b102
Merge pull request #2407 from hbina/hbina-more-terminal-resize
Improvements to `more`.
2021-06-21 22:30:07 +02:00
Anup Mahindre 4b3224dd82
ls: Fix clippy warning 2021-06-21 20:29:22 +05:30
Jan Scheer 25ef39472c groups: fix to pass GNU Testsuite groups-process-all.sh
* add support for multiple users
* sync help text with GNU's `groups` manpage
2021-06-21 14:33:09 +02:00
Sylvestre Ledru 9d5957f095
Merge pull request #2444 from remilauzier/master
nohup: Fix a clippy warning
2021-06-21 14:11:38 +02:00
Jan Scheer 30e45eefa4 groups: fix to pass GNU Testsuite groups-dash.sh 2021-06-21 13:19:57 +02:00
Rémi Lauzier 6aa79440f5
Fix a clippy warning 2021-06-20 21:21:50 -04:00
Michael Debertol a91369bbff cp: fix dead code warnings on windows 2021-06-20 19:10:51 +02:00
Sylvestre Ledru d3181fa60e
Merge pull request #2440 from rivy/change.CICD
CICD ~ refactor + add PR auto-fixes
2021-06-20 18:34:48 +02:00
Anup Mahindre ffb6b7152f tests: Fix ls dangling symbolic links test output for windows
On windows we do not print inode numbers at all, so skip checking for ?
for dangling symbolic links in expected output
2021-06-20 16:58:28 +05:30
Anup Mahindre 3b641afadc ls: Fix issue with Windows and dangling symbolic links
- Windows hidden file attribute determination would assume symbolic link
  to be valid and would panic
- Check symbolic link's attributes if the link points to non-existing
  file
2021-06-20 16:56:25 +05:30
Terts Diepraam 5ac0274c13 numfmt: fix doctest and spell check 2021-06-20 11:50:14 +02:00
Anup Mahindre d0039df8c3 tests: Add test for dangling symlinks with ls
Add test similar to gnu dangling symlinks test
2021-06-20 13:50:38 +05:30
Anup Mahindre f6cb1324b6 ls: Fix problems dealing with dangling symlinks
- For dangling symlinks, errors should only be reported if
dereferencing options were passed and dereferencing was applicable to
the particular symlink
- With -i parameter, report '?' as the inode number for dangling
symlinks
2021-06-20 13:31:45 +05:30