Commit graph

399 commits

Author SHA1 Message Date
Roy Ivy III
8e886c30dc
Merge pull request #1511 from sylvestre/more
fix(more) handle no arguments without panic; add test and a FixME
2020-05-15 19:17:01 -05:00
Sylvestre Ledru
62901490e1 test(more): add a test for more when called without arg 2020-05-15 18:17:57 -05:00
Sylvestre Ledru
2c90932ec0 test(uptime): Add a test (#1512) 2020-05-15 18:09:10 -05:00
Sylvestre Ledru
601690b079 test(expand): Add some tests for expand (#1505) 2020-05-15 18:09:10 -05:00
Sylvestre Ledru
0ca5132a06
test(whoami): Add test for whoami (#1506)
* test(whoami): Add test for whoami

Side effect: also tests "id -un"
2020-05-15 14:19:40 +02:00
Roy Ivy III
9052bc4de7
Merge pull request #1503 from sylvestre/arch
test(arch): add tests and description text
2020-05-10 20:11:10 -05:00
Anuvrat Parashar
ce064dc62e feature(head): Introduce NLines to handle negative lines parameters 2020-05-10 21:32:48 +02:00
Roy Ivy III
7b96432eff
Merge pull request #1504 from sylvestre/fmt
test(fmt): add some small initial tests
2020-05-10 12:25:18 -05:00
Sylvestre Ledru
9fb00df9b3 test(id): add tests for id 2020-05-09 00:14:10 +02:00
elgris
71ba8b3fd6 sort: add "dictionary-order" flag.
The flag makes 'sort' command ignore non-dictionary symbols
(non-alphanumeric and non-spaces). The only difference with GNU sort is
that it takes ALL alphanumeric symbols, not only ASCII ones.
2020-05-07 23:08:24 +02:00
Sylvestre Ledru
16bf4b1893 test(arch): Add some tests 2020-05-06 00:39:13 +02:00
Sylvestre Ledru
9b0129716f test(fmt): Add some tests for fmt
Even if it is a bit broken for now
2020-05-06 00:38:22 +02:00
Sylvestre Ledru
a93d007cde test(uname): Add a test for the -o/--operating-system flag 2020-05-05 13:37:33 -05:00
Sylvestre Ledru
ce047e8330 test(users): Introduce two tests 2020-05-04 15:12:38 -05:00
Roy Ivy III
30c14f1025
Merge pull request #1492 from sylvestre/test_printenv
test(printenv): add some tests
2020-05-03 15:15:43 -05:00
Roy Ivy III
f12c27a57d
Merge pull request #1487 from sylvestre/df-human
refactor and fix some `df` build and cosmetic issues
2020-05-03 15:15:14 -05:00
Sylvestre Ledru
fc83024ebe refactor(df): use number_prefix like 'ls' instead of doing the display by hand 2020-05-03 13:29:55 -05:00
Sylvestre Ledru
bee8ab744e test(printenv): add some tests 2020-05-03 13:24:47 -05:00
Roy Ivy III
78dc71630c
Merge pull request #1490 from sylvestre/uname
Add `uname` test + doc update regarding testing
2020-05-03 13:00:21 -05:00
Sylvestre Ledru
1f1edc5a33 test(date): add tests 2020-05-03 12:26:17 -05:00
Sylvestre Ledru
4c1774e918 test(uname): Add uname tests 2020-05-03 12:18:28 -05:00
Sylvestre Ledru
c85756e509 fix(df): Linux: Fix the mount path and type 2020-05-03 11:51:33 -05:00
Sylvestre Ledru
6e8c901204 fix: typo fixes found by codespell 2020-05-01 23:36:33 +02:00
Sylvestre Ledru
d5228b5a64 feat(df) add 'df' uutil 2020-04-28 13:05:55 -05:00
Roy Ivy III
15b2bfca18 change ~ fixup paths (within tests) 2020-04-14 13:46:19 -05:00
Sylvestre Ledru
cf35d75491 rustfmt the tests 2020-04-13 20:36:03 +02:00
Roy Ivy III
75f05df119 refactor/polish ~ fix cargo clippy complaints (redundant_static_lifetimes) 2020-04-11 18:50:10 -05:00
Roy Ivy III
b5d541a814 refactor/polish ~ inhibit useless warning (within 'tests/tests.rs') 2020-04-11 18:50:10 -05:00
Roy Ivy III
3ec47ff717 tests ~ refactor real{link,path} tests for easier diagnosis of failures 2020-04-11 18:50:10 -05:00
Roy Ivy III
6adddcf9e9 tests ~ fix CICD 'linux' test variations (whitespace variations) 2020-04-11 18:50:10 -05:00
Roy Ivy III
bcc1cc0326 tests ~ fix CICD 'macos' test variation 2020-04-11 18:50:10 -05:00
Roy Ivy III
5af8503a5e cargo fmt 2020-01-28 00:05:06 -06:00
Roy Ivy III
15722e3ace refactor/polish ~ fix cargo clippy complaints (unused imports) 2020-01-28 00:04:41 -06:00
Roy Ivy III
b3846bf8f1 tests/fix ~ (stat) remove '%a', '%d', '%f' from file system test format due to race conditions 2020-01-27 21:33:47 -06:00
Roy Ivy III
823fc17c2c tests/fix ~ (stat) refactor '%w' and '%W' tests due to stat limitations
- allow actual outputs to differ from expected (ie, `stat`) if `stat` is reporting "unknown" creation time

.# [why]

For many *nix flavors, `stat` is unable to detect birth/creation date
for directories/files. The information is available via the `statx()`
system call (for linux kernels >= v4.11), and rust supplies that
information via fs::MetadataExt for v1.40+. So, for rust v1.40+, there
will likely be a mismatch between the output of the system `stat` and
this ('uutils') `stat`.

* ref: <https://askubuntu.com/questions/470134/how-do-i-find-the-creation-time-of-a-file> @@ <https://archive.is/IsEAJ>
2020-01-27 21:33:47 -06:00
Roy Ivy III
14c3f3aa17 tests ~ fix WSL testing
+ ToDO added ~ when possible, test under WSL2 and differentiate/liberalize if possible
2020-01-27 21:33:47 -06:00
Roy Ivy III
25d4fb71ca tests/refactor ~ change to use of common code (TestScenario::...) for testing 2020-01-27 21:33:47 -06:00
Roy Ivy III
d0f6f3d07e tests/refactor ~ change output test macros to 'actual = expected' format
- rust usually uses `assert_eq!(ACTUAL, EXPECTED)`
- ref: https://users.rust-lang.org/t/assert-eq-expected-and-actual/20304/3 @@ https://archive.is/xPp9R
2020-01-27 21:33:47 -06:00
Roy Ivy III
b4b0ee40d7 refactor/polish ~ convert to try! to ? syntax
- convert to newer `?` syntax, fixing compiler warnings

+ requires MinSRV >= v1.13.0

.# [why]

The `?` operator was stabilized in rust v1.13.0.

Warnings requesting conversion from the old `try!` macro to the `?` operator
were introduced in rust v1.39.0.

* ref: <https://github.com/rust-lang/rust/blob/master/RELEASES.md>
2020-01-27 21:33:47 -06:00
Gabriel Ganne
edaf2d85cb ls: implement --color flag
GNU coreutils ls command implements the --color option as follow:
  --color[=WHEN]
          colorize the output; WHEN can be 'always' (default if omitted),
          'auto', or 'never'

With --color=auto, ls emits color codes only when standard output is connected
to a terminal.

Also, add support for the following aliases:
  - ‘always’, ‘yes’, ‘force’
  - ‘never’, ‘no’, ‘none’
  - ‘auto’, ‘tty’, ‘if-tty’

Signed-off-by: Gabriel Ganne <gabriel.ganne@gmail.com>
2019-06-23 10:35:30 +02:00
Alex Lyon
18b19715f9 env: refactor and move away from pre-1.0 Rust conventions 2019-05-13 04:03:10 -07:00
Alex Lyon
b73a664677 Split off uucore into its own repository 2019-05-12 22:42:20 -07:00
Alex Lyon
179de609b5 Replace trim_{left,right} with trim_{start,end} and co. (using Rerast) 2019-05-01 21:14:25 -07:00
Alex Lyon
c7d115b1ad Convert all try!() to ? 2019-05-01 21:14:25 -07:00
Alex Lyon
220e07dc95 Test on FreeBSD using Cirrus CI and link to the Discord in the README 2019-05-01 21:14:25 -07:00
Roy Ivy III
31655fc004 env: add support for new '--file' option (includes testing)
.# Discussion

This commit adds support for a '-f'/'--file' option which reads "KEY=VALUE" lines from
a config (or ini) style text file and sets the corresponding environment key. This is
modeled after the same option in the `dotenv` and `godotenv` commands. Notably, this
commit does *not* add automatic loading of ".env" configuration files.

The environment variables set by reading the configuration file are set prior to any
unset (eg, `-u BAR`) or set (eg, `FOO=bar`) actions. Files are loaded in order with
later files overwriting any overlapping environment variables, then, unset actions (in
command line order) are executed, then, finally, set actions (in command line order)
are executed.

[1] [`dotenv`](https://github.com/bkeepers/dotenv)
[2] [`godotenv`](https://github.com/joho/godotenv)
2019-04-29 09:50:22 -05:00
Roy Ivy III
f72fff7b42 augment UCommand with #[derive(Debug)] to allow improved test diagnostics 2019-04-29 09:46:15 -05:00
Roy Ivy III
c512ae0c52 env: add test for "env fails echo on windows" 2019-04-29 09:32:00 -05:00
Reto Habluetzel
2d2042c8fc env: reject program with --null, error stderr 2019-04-28 11:17:44 +02:00
Pascal Winkelmann
e18b5a5096
replace deprecated functions 2019-04-24 01:35:52 +02:00
Alex Lyon
01966e8aab
Merge pull request #1356 from Arcterus/echo-locked-stdout
echo: write using locked stdout
2019-04-08 15:57:02 -07:00
Alex Lyon
cefbe6c1f2
Merge pull request #1319 from rivy/fix.touch
fix ~ touch: fix and test for windows
2019-04-08 15:16:26 -07:00
Roy Ivy III
2cf92a3e69 touch: fix ~ activate tests on non-unix platforms 2019-04-07 09:14:46 -05:00
Alex Lyon
e248730140 echo: update tests to check for ending newlines 2019-04-05 22:27:25 -07:00
Alex Lyon
42794e9f11 echo: write using locked stdout 2019-04-05 22:23:01 -07:00
Alex Lyon
23f6dbf2d3
Merge pull request #1306 from rinconjc/1235
tests: untrimmed stdout assertion (fix #1235)
2019-04-05 22:22:18 -07:00
Alex Lyon
dbc9527b00
Merge pull request #1336 from rinconjc/1321
Fix #1321 tsort handle self-loops
2019-04-05 19:15:23 -07:00
Alex Lyon
100f6df2bf
Merge pull request #1354 from ccbrown/rewrite-echo
echo: rewrite for readability and tests
2019-04-05 18:39:18 -07:00
Christopher Brown
1e223b0b58 echo: rewrite for readability and tests 2019-04-05 18:55:48 -04:00
Alex Lyon
dd753e2c78
Merge pull request #1315 from rivy/fix.rm
fix ~ rm: fix dir-type symlink removal on windows
2019-04-03 15:53:00 -07:00
Alex Lyon
9817f297b7
Merge pull request #1304 from rivy/fix.cp
fix "`cp` always creates backup"
2019-04-03 15:51:18 -07:00
Julio Rincon
63bc9985e0 Fix #1321 tsort handle self-loops 2019-02-14 07:45:11 +11:00
Julio Rincon
29c6ad5f6a tests: untrimmed stdout assertion (fix #1235) 2019-02-08 07:54:48 +11:00
Roy Ivy III
f3d43d775a fix ~ correct symlink creation in tests 2019-02-07 08:30:51 -06:00
Roy Ivy III
332767e548 cp: add test for "cp always creates backup" 2019-02-07 08:22:41 -06:00
Roy Ivy III
31ca885c9c mv: add test for "mv fails transfers between dirs" 2019-02-07 08:19:22 -06:00
Roy Ivy III
e00d586af1 mv: fix failing tests 2019-02-07 08:19:22 -06:00
Roy Ivy III
6f75331bf4 mv: expand testing to windows platforms 2019-02-07 07:46:43 -06:00
Alex Lyon
5a17daa963
Merge pull request #1281 from rivy/alt/win-cli-globbing
Add command line globbing to all utilities (for windows targets)
2019-02-06 23:21:53 -08:00
Roy Ivy III
a046d94e75 fix: gate unix-only imports 2018-10-14 00:41:14 -05:00
Roy Ivy III
197bd2e10c fix: gate unix-only macros (silences "unused" warnings) 2018-10-14 00:41:14 -05:00
Jamie McClymont
f3a71215bc numfmt: support neither or both of --to and --from
matches GNU behaviour
2018-09-25 01:42:11 +12:00
cnd
35b1e47a63
Merge pull request #1285 from arsdragonfly/master
numfmt: add suffixes and fix negative numbers
2018-09-05 10:39:26 +04:00
Zheyu Shen
1af0484360 numfmt: add suffixes and fix negative numbers
Also refactors the code.
2018-09-04 18:27:21 -04:00
xplorld
47f5f12759 sort: treat "NaN" as string in numeric sort 2018-09-03 22:28:18 -07:00
bootandy
4756eb5c19 Fix expr
expr now detects overflows and logs to stderr instead of overflowing the
input
https://github.com/uutils/coreutils/issues/1194
2018-07-08 21:24:25 +01:00
dependabot[bot]
374fb4d4f1
Bump filetime from 0.1.15 to 0.2.1
Bumps [filetime](https://github.com/alexcrichton/filetime) from 0.1.15 to 0.2.1.
- [Release notes](https://github.com/alexcrichton/filetime/releases)
- [Commits](https://github.com/alexcrichton/filetime/compare/0.1.15...0.2.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-06-13 14:15:48 -07:00
Konstantin Pospelov
e9fd9d623d join: implement option to suppress joined lines 2018-06-09 12:11:58 +03:00
Alex Lyon
4d89c2d796
Merge pull request #1197 from c-edw/master
mkdir: Silently fail in recursive mode if unable to create directories.
2018-05-03 02:12:24 -07:00
Alex Lyon
646382f9c1
Merge pull request #1188 from ProgVal/test-language
Don't assume tests are running on a computer with an English locale.
2018-05-02 08:31:33 -07:00
Connor E
9d5631228a mkdir: Use std create_dir_all for recursive operations. 2018-05-01 12:42:11 +01:00
Alex Jiang
58b4075566 hostname: bug fix for non-windows xgethostname and add test case
Cstr::from_bytes_with_nul needs input bytes null terminated. Current
version does not include the last null byte, hence
Cstr::from_bytes_with_nul will panic with error 'FromBytesWithNulError {
kind: NotNulTerminated }'
2018-04-22 21:04:51 +08:00
Valentin Lorentz
248f480b41 Don't assume tests are running on a computer with an English locale. 2018-04-22 08:07:38 +02:00
Konstantin Pospelov
4b8d4bfc05 join: fix autoformat
There was an issue with autoformat when the files had a different
number of columns in the first line. This commit fixes the issue and
extends the related test to cover this case.
2018-04-15 17:42:52 +03:00
Konstantin Pospelov
7dc8ff62cc join: support headers 2018-04-11 22:55:44 +03:00
bootandy
838ce7b3e3 Fix issues raised in review
spelling
use POSIXLY_CORRECT and BLOCKSIZE env variables to determine block size.
move statics to const
use show_error! not show_info!
2018-03-24 18:03:34 -04:00
bootandy
8530db90c4 du: Fix tests for linux.
Running du on mac gives different answers to linux. Hence our asserts
must differ for each platform
2018-03-21 10:14:18 -04:00
bootandy
ea504bf0ec du: add test for -d flag 2018-03-20 17:55:31 -04:00
bootandy
b6c7771087 du: Fix double counting of hard links.
hard linked files are no longer counted - this mimcs the behaviour of
the original du.
2018-03-20 16:59:29 -04:00
bootandy
e253406026 du: Fix incorrect block size assumption.
du and other tools like stat assume a 512 byte block. ls is the only
tool to use 1024.

Add Simple set of tests
2018-03-20 16:59:29 -04:00
Alex Lyon
880a4973c1 Format everything using rustfmt 2018-03-12 01:20:58 -07:00
Alex Lyon
d8e738c49b tests: disable some chgrp tests when part of the root group
Some tests failed when run using Docker because they assumed the
user would never be root.  This is more of a band-aid solution.
An actual fix would be to test see if something like these tests
were to succeed when the user is root.
2018-03-03 12:04:22 -08:00
Konstantin Pospelov
642633fe3b join: check line order 2018-02-11 18:23:12 +03:00
Konstantin Pospelov
128a38965e join: support custom empty filler 2018-01-17 23:26:00 +03:00
Alex Lyon
e9f32fe170 realpath, relpath, tests: fix build on nightly 2018-01-16 15:11:46 -08:00
Konstantin Pospelov
12c5c951fb join: implement the -o option 2018-01-06 22:49:07 +03:00
Sunrin SHIMURA (keen)
ee34206520 install: allow to install a file to a file 2017-12-27 17:31:19 +09:00
Alex Lyon
a1cf262414 rm: exit normally when -f is used with no operand 2017-12-26 15:36:21 -08:00
Konstantin Pospelov
4e0a0cf7bb join: implement the -t option 2017-12-24 16:22:48 +03:00
Konstantin Pospelov
b33ce67d91 join: implement basic functionality
The basic implementation of join with some tests. The supported
options: -1, -2, -j, -a, -i.
2017-12-14 00:02:42 +03:00