Sylvestre Ledru
817a237821
Merge pull request #1513 from sylvestre/uptime-since
...
feature(uptime): add option --since
2020-05-21 22:18:52 +02:00
Sylvestre Ledru
186c173559
test(hostname): Test more options ( #1515 )
2020-05-18 23:07:21 +02:00
Sylvestre Ledru
719f2bf8ae
feature(uptime): add option --since
...
For this, I:
* moved from getops to clap
* remove the millisecond maths
2020-05-17 11:50:08 +02:00
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
Alex Lyon
6829ca3d10
chmod, install: move mode parsing into uucore
2017-12-10 20:11:05 -08:00
shutefan
38cd8edb5b
install: add high bits to file permissions in tests
2017-12-08 20:54:59 +01:00
shutefan
957d489604
chmod: make error message clearer
2017-12-08 20:54:59 +01:00
shutefan
bf5151d4a5
chmod: add 100 to permissions in chmod tests
2017-12-08 20:54:59 +01:00
Alex Lyon
4ef2ef29cd
Fix broken tests due to updating Cargo.lock
2017-11-18 17:52:28 -08:00
Alex Lyon
f7b97dc3d4
Merge pull request #1089 from flyrry/fix_env
...
fix --help and --version
2017-11-15 13:06:31 -08:00
Yury Krivopalov
b2ad51839b
Add numfmt
2017-11-09 00:23:24 +03:00
Sergei Mironenko
f0aa68aa1e
fix --help and --version
2017-10-28 17:42:40 +03:00
Alex Lyon
f2b952db54
Merge pull request #1082 from flyrry/finish_basename
...
basename: add -a, -s and -z flags
2017-10-09 11:33:06 -07:00
Sergei Mironenko
0b5a2c8743
basename: add -a, -s and -z flags
2017-10-09 11:02:12 +03:00
shutefan
ddbfafa684
tr: add truncate flag
2017-10-06 01:09:17 +02:00
Alex Lyon
618531b366
Merge pull request #1079 from shutefan/add-quiet-flag-to-tail
...
tail: suppress headers when --quiet flag is used
2017-10-05 14:43:12 -07:00
shutefan
bf2a591b0a
tail: suppress headers when --quiet flag is used
2017-10-05 21:25:21 +02:00
Ian Douglas Scott
1a28a48ca3
Merge branch 'master' into expr-regex
2017-10-01 10:09:06 -07:00
Yury Krivopalov
ac375d8b7d
tr: add squeeze option
2017-09-21 22:15:05 +03:00
Ian Douglas Scott
b92c6edf14
Fix cp -r test
2017-08-10 16:04:25 -07:00
Joshua Miller
7dafb649d5
implement many copy flags
...
- Refactored towards extensibility
2017-07-16 19:20:07 -05:00
Alex Lyon
7ef27acb05
Merge pull request #1046 from Matt8898/cp
...
cp: Add -r flag
2017-07-02 14:12:08 -07:00
Alex Lyon
7cfe0465ee
Update for changes in regex
2017-06-29 20:59:20 -07:00
Alex Lyon
eb75085595
Merge pull request #1035 from shinh/ln
...
ln: Fix how it selects the form
2017-06-29 20:33:33 -07:00
Matt8898
1121146de2
cp: add test for -r/--recursive
2017-06-02 13:37:31 +02:00
Shinichiro Hamaji
8f58a4a58a
Fix the windows failure
...
by not using slashes in symlink targets.
2017-04-11 12:04:55 +09:00
Shinichiro Hamaji
d556c9e398
ln: Fix how it selects the form
...
ln had a bunch of problems:
1. `ln -s target` didn't work (2nd form in help).
2. `ln -t tmp` wasn't an error. We should check if files are
empty first.
3. `ln -s file dir` didn't create dir/file.
4. `ln -s -T file dir` was removing `dir`.
5. Test cases for 4 say this is for compatibility with GNU
coreutils but I couldn't find this feature.
2017-04-09 02:32:57 +09:00
Shinichiro Hamaji
416c2b7f89
rm: Remove invalid symlinks
...
Checking with file.exists() was not good for this purpose as
Path::exists() returns false for invalid symlinks.
2017-04-09 01:33:07 +09:00
Alex Lyon
5f1cb07df8
Merge pull request #1033 from shinh/rm-dir-link
...
rm: Remove symlinks to directories without -r
2017-04-03 08:35:37 -07:00
Alex Lyon
a2de3997b9
Merge pull request #1031 from shinh/mkdir-dup
...
mkdir: Fix the behavior for existing files
2017-04-02 20:50:22 -07:00
Shinichiro Hamaji
4f6841df32
rm: Remove symlinks to directories without -r
...
Path::is_dir follows symlinks so it returns true for symlinks
to directories. Use symlink_metadata instead so you can remove
symlinks to directories without -r flag.
2017-04-01 23:45:34 +09:00
Shinichiro Hamaji
fc235e360e
mkdir: Fix the behavior for existing files
...
Currently, mkdir always succeeds for existing files and it
even modifies their mode. With this change, only mkdir -p for
existing directories will be allowed.
2017-04-01 23:43:13 +09:00
Shinichiro Hamaji
47acbb0e82
ln: Use basename when target directory is specfied
...
The following should work, but without this patch, it tries
to create the link as x/y and it fails with EEXIST.
$ mkdir -p x/y
$ ln -s -t . x/y
2017-04-01 23:22:14 +09:00
Andrew Savchyn
f5d08336fb
pinky: fix tests on MacOS
2017-03-17 19:41:46 +01:00
Jian Zeng
daba29b832
Merge pull request #1026 from evestera/cat-numlines-notrailing
...
cat: fix for numbered lines w/ no trailing newline
2017-01-23 06:39:31 -06:00
Erik Vesteraas
81996915df
cat: fix for numbered lines w/ no trailing newline
...
Make at_line_start persist between printing each file. This fixes an
issue when numbering lines in the output and one of the input files
does not have a trailing newline.
2017-01-23 03:34:47 +01:00
Anthony Deschamps
6dc1eb54c0
sort: Implement ignore-case
...
Test included.
2017-01-21 13:30:22 -05:00
Alex Lyon
e0bfbc3c23
Merge pull request #1020 from KeenS/ls-inode
...
ls: implement -i option
2017-01-10 00:34:35 -08:00
Joshua Miller
133934f7cf
add cat support for unix domain sockets
...
- adds conditional supports for unix domain sockets
- adds unix domain socket test
- adds Results to functions, removing unwraps
- uutils `cat` used to panic on broken stdout pipes (e.g. `cat
/dev/zero | head -c1`). this is fixed in this PR
- updated to exit 0 on success, and 1 if an error occurs.
- adds docstrings
- adds an error log on printing a directory
- adds categorization of other filetypes for extensible
differentiation of behaviors
- adds OutputOptions struct to replace params for extensibility
- adds correct status code on exit
2017-01-08 19:56:35 -06:00
Sunrin SHIMURA (keen)
8a51ddf6fb
ls: implement -i option
2016-12-25 14:39:29 +09:00
Alexander Batischev
67ac0c13b8
mkdir: trying to create existing dir is fine
...
Fixes #1017 .
test_mkdir_dup_dir asserted that creating an existing directory is an
error, but that's not how GNU coreutils behaves. This has been reported
in #121 , but wasn't fixed (only the `-p` case was).
2016-12-23 18:47:38 +03:00
Jian Zeng
65b46314a2
Merge pull request #1015 from Minoru/feature/846-tail-pid
...
tail: implement --pid
2016-12-22 07:24:45 -06:00
Alexander Batischev
f2166fed0a
tail: implement --pid. Closes #846 .
...
Kudos to zHz for helping out with Windows API part.
2016-12-22 01:32:09 +03:00
knight42
fdbbb08aef
tests: expand $OUT_DIR at compile time
2016-12-20 03:28:47 +08:00
Alexander Batischev
655804cff4
tests/chmod: protect umask with a mutex
...
`test_chmod_ugoa` and `test_chmod_many_options` both change umask, which
is global state. Since tests run concurrently, this might lead to
a situation where one of the tests changes umask to a value that screws
another test's checks. To prevent this, we introduce a mutex that should
be held by any test that changes umask.
Unfortunately, there's no way to hide umask behind this mutex and
enforce its usage: programmers will have to maintain the discipline
themselves.
2016-12-19 13:14:38 +03:00
Alexander Batischev
60f6f61ac9
tests/chmod: don't make assumptions about umask
...
`test_chmod_many_options` relied on user's umask not denying read access
for anyone. 022, which is the default umask for many, indeed allows read
access for everyone. I'm using 027, which disallows read for everyone
but owner and group. This made tests fail.
Now tests set and reset umask, ensuring checks are run in a reliable,
predictable environment.
2016-12-19 13:07:18 +03:00
knight42
a0ff0f623a
Temporary fix for errors in testing
...
The errors were caused by the missing env $OUT_DIR which should be set by
cargo.
[Related issue](https://github.com/rust-lang/cargo/issues/3368 ).
2016-12-08 12:36:07 +08:00
Alex Lyon
7ec754ec1b
Merge pull request #985 from knight42/fix-preserve-root
...
chgrp: fix bug in option --preserve-root
2016-11-30 02:59:19 -08:00
Michael Gehring
7122f265b0
Merge pull request #997 from wimh/stat-travis
...
stat: fix test on travis
2016-11-26 09:40:05 +01:00
Joseph Crail
45ebfdf35f
Fix test
2016-11-25 14:58:42 -05:00
Joseph Crail
78d2e8db27
Fix comment spelling
2016-11-25 14:36:56 -05:00
Joseph Crail
b3680a5baf
Fix clippy warnings
2016-11-25 14:14:46 -05:00
Wim Hueskes
e2519bf0b3
stat: fix test on travis
...
/dev/pts/ptmx seems to be the only character special file in /dev
which is not a bind-mount in the docker container run by travis.
gnu stat does not detect these mounts, so produces a different
output for /dev/zero.
2016-11-21 19:36:23 +01:00
Wim Hueskes
2550e0f3c7
od: several small changes after review
...
* update status in README.md
* enable busybox tests
Adding `CONFIG_DESKTOP` and `CONFIG_LONG_OPTS` to busybox config.
These flags also enable other tests, but those utilities are not
included in `TEST_PROGS`. (eg. awk)
* fix whitespace and small issues
* fix Eq imp for FormatWriter on nightly + beta
* fix indention in multifilereader.rs
* fix intermittent errors in tests
2016-11-09 20:26:55 +01:00
Wim Hueskes
99f70ba648
od: implement 16-bit floating point type
2016-09-03 21:47:36 +02:00
Wim Hueskes
184c4af76d
od: fix zero width user input (-w0)
2016-09-02 21:27:06 +02:00
Wim Hueskes
2f12b06ba1
od: implement --traditional
2016-09-02 21:24:29 +02:00
Wim Hueskes
26ec46835c
od: implement +size to skip bytes
2016-09-01 00:24:29 +02:00
Wim Hueskes
9e33c3a48c
od: fix command-line parsing of file names
2016-09-01 00:23:34 +02:00
Wim Hueskes
e8eab8d3e8
od: implement ascii dump
2016-09-01 00:23:11 +02:00
Wim Hueskes
cea4297fdf
od: implement --format / -t
2016-09-01 00:20:02 +02:00
Wim Hueskes
d15604b2e4
od: fix and add tests for simple format args
2016-09-01 00:19:37 +02:00
Wim Hueskes
69bde1170d
od: finish multi-byte support
2016-09-01 00:14:50 +02:00
Wim Hueskes
459db47c2b
od: implement --skip-bytes and --read-bytes
2016-09-01 00:14:25 +02:00
Wim Hueskes
bd0424fa0c
od: start with multi-byte support
2016-09-01 00:13:21 +02:00
Wim Hueskes
1164b9e118
od: fix file byte offset for non-octal types
...
removed binary offset, added no offset.
2016-09-01 00:12:59 +02:00
Wim Hueskes
24fb6d66c4
od: proper align different sized output
2016-09-01 00:12:37 +02:00
Wim Hueskes
45895be96d
od: use structs to specify possible dump formats
...
remove extra padding too - preparing proper allignment
2016-09-01 00:12:11 +02:00
Wim Hueskes
f7d7beb79b
od: implement --endian
2016-09-01 00:11:52 +02:00
Wim Hueskes
4770690823
od: suppress duplicates
2016-09-01 00:11:23 +02:00
Wim Hueskes
36b88f268d
od: enable hexadecimal output
2016-09-01 00:10:23 +02:00
Wim Hueskes
167d7d3ca9
od: implement -w (width)
2016-09-01 00:09:45 +02:00
Wim Hueskes
1b01f02e9e
od: remove trailing spaces in output
...
can't find documentation confirming this behaviour
besides it does not work correctly on all formats
see also uutils/coreutils#922
2016-09-01 00:09:25 +02:00
Wim Hueskes
104f8eb509
od: implement 64-bit floating point output
2016-09-01 00:08:41 +02:00
Wim Hueskes
f53aefa7e9
od: implement 32-bit floating point output
2016-09-01 00:08:25 +02:00
Wim Hueskes
a900b42a1f
od: refactor: readability of expected output
...
use multiple lines in source too and use unindent crate to fix spacing
2016-09-01 00:00:52 +02:00
Alex Lyon
362cabe1a6
hashsum: implement SHAKE-128 and SHAKE-256
2016-08-30 17:33:18 -07:00
knight42
f8bd9e2a1b
chown,chgrp: fix bug in option --preserve-root
2016-08-29 11:19:15 +08:00
knight42
c277793f38
touch: add test
2016-08-28 07:12:58 +08:00
nathanross
b667fce8ba
clone atpath to avoid borrow issue
2016-08-23 08:57:13 -04:00
nathanross
aa6ee03be3
tests: remove helper function boilerplate via macros
2016-08-23 08:04:02 -04:00
Nathan Ross
ae0e1c4768
Merge pull request #977 from knight42/chgrp
...
Implement chgrp
2016-08-21 06:39:54 -04:00
Knight
d2d9fcd628
chgrp: add tests
2016-08-21 17:40:46 +08:00
Knight
a4bf852207
mv: cleanup the code
2016-08-21 14:57:28 +08:00
mpkh
2981eb5112
Merge pull request #975 from nathanross/normalize-coreopts-squashed
...
DRYer code and more UX consistency through use of coreopts
2016-08-20 18:44:17 +00:00
Nathan Ross
36503a77c7
impl: use coreopts for brevity and consistent UX
2016-08-20 10:07:24 -04:00
Michael Gehring
dcefbd54c6
Merge pull request #974 from knight42/fix-bugs
...
Fix bugs of `pinky` and `who`
2016-08-20 15:16:19 +02:00
Jian Zeng
14a34b48bf
Merge pull request #969 from robertclancy/tail-f-dev-stdin-bug
...
tail: fix bug when following /dev/stdin
2016-08-20 20:25:08 +08:00
Knight
34d2224098
pinky: correct the test
2016-08-20 20:22:18 +08:00
Robert Clancy
3a0c23561e
tail: fix bug when following /dev/stdin
...
main panics when following /dev/stdin since /dev/stdin is not seekable.
Check to see if file is seekable and use unbounded_seek if so.
Also `tail -f` with no files should not follow stdin.
2016-08-20 11:47:02 +01:00
Knight
40e01b94f3
chown: use uucore::entries
2016-08-20 03:10:36 +08:00
Nathan Ross
99b39e4237
tests: normalize around chaining asserts
...
Although for some tests this adds characters
we still use them there because the
brevity cost is now worth the benefit in
terms of instant, natural-language readability
and recognizability for people not familiar
with this tests of this module or even the project
2016-08-13 17:59:21 -04:00
Nathan Ross
9d2616442a
Merge pull request #963 from alsuren/sort--merge
...
Implement sort --merge
2016-08-12 20:42:30 -04:00
David Laban
87daf9dd8d
sort: use stdout_only_fixture in tests
2016-08-13 00:42:44 +01:00
David Laban
3531c46fb8
sort --merge --unique
...
This uses Itertools' dedup() rather than Vec::dedup(). There is probably
a cleaner, more polymorphic way to do this. Suggestions welcome.
2016-08-13 00:42:44 +01:00
David Laban
e1af1520e7
sort: make compare_by honour settings.reverse
...
This allows sort --merge --reverse to work as well.
2016-08-13 00:42:43 +01:00
David Laban
8a8319a337
sort --merge works, but ignores --unique and --reverse
...
FileMerger receives Lines Iterables of the pre-sorted input files
via push_file() It implements Iterator, which yields lines from the
input files in (merged) sorted order. If the input files are not sorted,
then the behavior is undefined.
Internally, FileMerger uses a
std::collections::BinaryHeap<MergeableFile>.
MergeableFile is an internal helper that implements Ord in a way that
BinaryHeap can use (note that we want smallest-first, but BinaryHeap
returns largest first, so MergeableFile::cmp() calls reverse() on
whatever compare_by() returns.
2016-08-13 00:42:43 +01:00
Knight
f19d361013
uniq: add test for case-insensitive comparison
2016-08-13 02:04:19 +08:00
mpkh
96e8748336
Merge pull request #945 from nathanross/cut-fix-chars-ranges
...
cut: make chars mode use byte mode behavior
2016-08-12 04:56:47 +00:00
Nathan Ross
4a2532fc12
cut: chars mode has same behavior as byte mode
2016-08-11 18:49:20 -04:00
nathanross
bf2260ead6
tests/echo: complete tests excepting help, version
2016-08-11 18:00:09 -04:00
Knight
7637115e51
who: add tests
2016-08-11 15:37:39 +08:00
mpkh
588b4e2718
Merge pull request #956 from nathanross/tests-common-communicative-assertions
...
tests/common: more communicative assertion failure messages
2016-08-09 14:11:24 +04:00
mpkh
6d2bc03e47
Merge pull request #954 from nathanross/tests-basename-use-chaining
...
tests/basename: use chaining for brevity and consistency
2016-08-09 08:15:21 +04:00
Nathan Ross
ffb801c893
tests/basename: use chaining for brevity and consistency
2016-08-08 21:12:58 -04:00
Nathan Ross
5aaff02195
cut: implement zero-terminated option
...
no changes to char mode because removal
of specialized char mode behavior is pending
2016-08-08 20:15:53 -04:00
Nathan Ross
fae1e92767
tests/common: more communicative assertion failure messages
...
often when stdout is wrong, differences in stderr are
more useful for determining the cause
2016-08-08 02:54:22 -04:00
Nathan Ross
1880c46acd
Merge pull request #946 from ChrisNikkel/feature/zero_terminated
...
uniq: add -z option to allow for zero terminated input and output
2016-08-06 22:49:10 -04:00
Chris Nikkel
c0b2da7c01
uniq: add test for zero terminated input and output
2016-08-06 18:41:39 -07:00
Nathan Ross
cb6f84e3d8
tests/cut: positive testcases for feature complete
2016-08-06 17:11:54 -04:00
Knight
a23f1a13e7
Remove useless crates
2016-08-07 01:23:49 +08:00
Knight
cfc28ebc05
tests: extern crates in separated test modules
2016-08-07 01:12:19 +08:00
Knight
0d48744c0f
base64: simplified
2016-08-07 00:41:53 +08:00
Knight
b0097d0565
base32: add tests
2016-08-07 00:41:53 +08:00
Knight
833d50e192
pinky: obtain correct timestamp
2016-08-04 23:39:30 +08:00
Nathan Ross
63c17e5b42
Merge pull request #932 from alsuren/sort--stable
...
implement sort --stable
2016-08-03 06:52:39 -04:00
David Laban
6751d2c708
implement sort --stable
...
Made a new function sort_by(lines, compare_fns), which accepts a
list of compare_fns and calls lines.sort_by() with a closure that
calls each compare_fn in turn until one returns something other
than equal.
Default behavior ensures that String::cmp is the last element in the
compare_fns list (referred to as 'last resort' sorting by man sort).
Passing --stable (-s) turns this behaviour off.
Test cases provided for `sort --month` and `sort --month --stable`.
2016-08-03 07:56:40 +01:00
Nathan Ross
569cd162d3
tests: refactor conventional TestScenario usage
...
Updates to individual integration tests
- use proposed conventional approach to beginning tests
- use new convenience functions for using fixtures
- use new names for TestScenario
Updates to integration test modules
- add proposed conventional module-level functions
Updates to test/common/util.rs
- rename TestSet, and its methods, for semantic clarity
- create convenience functions for use of fixtures
- delete convenience functions obsoleted by new conventions
2016-08-01 13:42:00 -04:00
Knight
5ef26aad1c
stat: remove warning in test
2016-07-29 21:19:52 +08:00
mpkh
da0de488e6
Merge pull request #913 from knight42/pinky
...
Implement pinky
2016-07-26 13:38:53 +04:00
Knight
be20d8605d
pinky: add tests
2016-07-26 17:26:22 +08:00
Knight
6fff3a7665
pinky: cleanup the code
2016-07-26 16:44:30 +08:00
mpkh
1c0114b1b2
Merge pull request #921 from nathanross/tests-minor-cleanup
...
Tests: minor refactor for dryness of base64 and cat tests
2016-07-17 22:04:40 +04:00
Nathan Ross
be22cf2e20
tests: cat minor refactor for dryness
2016-07-17 13:39:57 -04:00
Nathan Ross
eb976214d8
tests/common: use more idiomatic asserts
2016-07-17 13:33:03 -04:00
Nathan Ross
df618d60ea
tests: base64 minor refactor for dryness
2016-07-17 12:56:11 -04:00
mpkh
5a3b792d4f
Merge pull request #919 from nathanross/addl-documentation-util
...
tests/common: document more structs and functions of util.rs
2016-07-17 16:07:13 +04:00
Nathan Ross
fa11f277ea
tests/common: document more structs and functions of util.rs
2016-07-17 05:20:33 -04:00
Nathan Ross
03e47a8658
tests: feature-complete cat integration tests
2016-07-17 04:40:18 -04:00
Nathan Ross
f22d724fc6
base64: refactor tests to be more terse
2016-07-17 02:44:16 -04:00
Jeremy Neptune
b59016cbd7
cp: fixed failing tests due to git's weirdness with files
...
Made variable names in test_cp.rs more descriptive
2016-07-15 15:29:47 -04:00
Jeremy Neptune
97bb134fc9
cp: added fixtures required for testing
2016-07-15 13:23:12 -04:00
Jeremy Neptune
567a63257a
cp: wrote tests for the -t flag, and copying to and from directories
2016-07-15 13:17:30 -04:00
Ben Eills
fa2145bb84
Allow specification of mode strings for install
...
We now accept symbolic and numeric mode strings using the
--mode or -m option for install. This is used either when
moving files into a directory, or when creating component
directories with the -d option. This feature was designed
to mirror the GNU implementation, including the possibly
quirky behaviour of `install --mode=u+wx file dir`
resulting in dir/file having exactly permissions 0300.
Extensive integration tests are included.
This chnage required a higher libc dependency.
2016-07-13 15:29:24 +02:00
Ben Eills
b15fff6269
Implement creation of component directories (-d option)
...
Tested in two integration test:
- One creating three component directories
- One trying to create an already existing directory
2016-07-13 12:56:30 +02:00
Ben Eills
823ffbd1dd
Copy rather than move files
...
Test this with one integration test. Also document functions
and add an '(unimplemented)' marker to some arguments in help.
2016-07-13 12:27:11 +02:00
Ben Eills
a5d97323db
Test for unimplemented command line arguments
...
We check if the user has given one of the (many)
not yet implemented command line arguments. Upon
catching this, we display the specific transgressor
to stderr and exit with return code 2.
This behaviour is tested in one new integration test.
2016-07-13 10:37:08 +02:00
Ben Eills
8a5719561d
Implement basic installation of file to directory
...
Bare minimum functionality of `install file dir` implemented.
Also added TODO markers in code for outstanding parameters
and split main function into smaller logical chunks.
2016-07-12 22:58:44 +02:00
Ben Eills
e72ec4a5bb
Implement skeleton install utility
...
Add install utility skeleton source, based on
mv, including the getopts setup mirroring
GNU's `man install` documentation. Also
add a single test and build system code.
2016-07-12 20:56:21 +02:00
Knight
f77c4f2b1a
chown: Fix error on mac
2016-07-04 22:50:54 +08:00
Knight
7e4a708e7c
chown: refactor
2016-07-04 22:50:22 +08:00
Knight
19676a3ca2
chown: Add tests
2016-06-22 21:39:46 +08:00
Knight
7423c5e644
chmod: fix #831
2016-06-19 22:52:56 +08:00
Heather
3a3fbc2840
Merge pull request #901 from knight42/mktemp-dir
...
Improve mktemp
2016-06-18 18:16:22 +04:00
Knight
2c91ddb56d
mktemp: add tests
2016-06-18 17:54:52 +08:00
Heather
2c65aad3cf
Merge pull request #900 from knight42/reorganize-tests
...
Reorganize tests
2016-06-17 19:45:50 +04:00
Knight
e486fefa0f
test::common::util::read_size: prolong the sleep
2016-06-17 22:45:35 +08:00
Knight
13d06ff800
dircolors: reorganize tests
2016-06-17 16:17:22 +08:00
Knight
02dc461cf8
stat: implement ' format directive & add tests
2016-06-17 16:15:50 +08:00
Heather
46c420bdf0
Merge pull request #898 from palaviv/improve-sort
...
Improve sort
2016-06-15 01:05:12 +04:00
palaviv
3fd8136423
sort: Support check
2016-06-14 22:21:30 +03:00