Commit graph

1202 commits

Author SHA1 Message Date
Sylvestre Ledru
6a109a5069
Merge pull request #1834 from jhscheer/patch-3
rm: add an additional flag -R for --recursive
2021-03-17 21:52:02 +01:00
Sylvestre Ledru
ba55ef166e
Merge pull request #1827 from drocco007/numfmt-delimiter
numfmt: implement --delimiter
2021-03-17 21:50:47 +01:00
John Eckersberg
64b8c8aac7 nice: move from getopts to clap #1794 2021-03-17 08:52:13 -04:00
Daniel Rocco
fbb9c50050 tr: process octal escape sequences
closes #1817
2021-03-17 08:04:45 -04:00
Jan Scheer
867e117c99
Update test_rm.rs 2021-03-17 10:20:08 +01:00
ty
5271427193 Merge branch 'master' of github.com:backwaterred/coreutils into implement-dd-bwtr 2021-03-16 14:37:01 -07:00
ty
af6bf3a224 Begins work on dd
- Prototype code.
- Adds project boilerplate for integration with coreutils framework.
2021-03-16 14:32:55 -07:00
Sylvestre Ledru
618d4a4fa5
Merge pull request #1825 from cbjadwani/uniq-utf8-issues
uniq: utf-8 issues
2021-03-16 21:18:31 +01:00
Peter Sherman
13e61c3234 head: add support for -z/--zero-terminated 2021-03-15 15:56:11 +00:00
Daniel Rocco
52f2ab6898 numfmt: implement --delimiter
closes #1454
2021-03-15 11:55:56 -04:00
Hari
406cd865eb
install: run rustfmt
Fix formatting issues based on PR review comments
2021-03-15 11:00:30 -04:00
Andre Julius
53c3fedf33 sleep: Add more test cases
As mentioned here:
https://github.com/uutils/coreutils/pull/1777#discussion_r593807712
2021-03-15 14:36:38 +01:00
Dean Li
f608084710 Expand: add test for multiple files 2021-03-15 21:29:28 +08:00
Chirag Jadwani
116e253cc0 uniq: Fix skip fields
Current implementation of the skip fields logic does not handle
multibyte code points correctly. It assumes each code point (`char`) is
one byte. If the skipped part of the input line has any multibyte code
points then this can cause fields not being skipped correctly (field
start index is calculated to be before it actually starts).
2021-03-15 18:48:54 +05:30
Chirag Jadwani
ce4342d12e uniq: Fix panic on invalid utf-8 input 2021-03-15 18:48:54 +05:30
Terts Diepraam
fd957dd148 ls: fix access time on windows 2021-03-15 14:09:29 +01:00
Terts Diepraam
10135dccef ls: fix unused import and improve coverage 2021-03-15 13:46:21 +01:00
Sylvestre Ledru
2c09556964 rustfmt some tests 2021-03-13 23:30:47 +01:00
Andre Julius
2158b2c5b4
sleep: move from getopts to clap #1735 (#1777)
and Add some sleep test cases #1735
2021-03-13 23:11:11 +01:00
Terts Diepraam
fd5ec099d0
touch: use an ArgGroup for sources and turn macros into functions (#1813)
* touch: use arggroup for sources

* tests/touch: add tests for multiple sources

* touch: turn macros into functions

* test/touch: fmt

* touch: constant for the sources ArgGroup
2021-03-13 17:20:39 +01:00
Hari
8471088d6d
Merge branch 'master' of github.com:uutils/coreutils into feature/preserve_timestamps_#1758 2021-03-12 17:47:02 -05:00
Hari
68ec2ed0f3
install: Implement --preserve-timestamps (-p)
Last access and last modify timestamps are extracted from the
existing file metadata and are applied to the newly created file.
2021-03-12 16:51:47 -05:00
Jan Scheer
47f50a0f5f
tests/utils: fixed mode for write (#1802)
added `log_info`
2021-03-12 22:26:27 +01:00
Michael Kefeder
e1626b8c64
ptx: ignore empty regex (#1808)
* ptx: ignore empty -W regex

* ptx: test to verify empty -W regex is ignored

* tests/ptx: verify word regexp from cmd-line is used
2021-03-12 21:52:37 +01:00
Ali
5ced3a670b
paste: cleanup multi-stdin support (#1803)
cleaner impl for multi-stdin support
2021-03-12 13:26:09 +01:00
Craig Pastro
3ab114f283
cp: Implement --parents & --parent (#1797) 2021-03-12 13:25:15 +01:00
Ali
374a4fde86
paste: support multi-stdin (#1791)
- added `-` as the default input, since `paste` reads stdin if no file
is provided
- `paste` also supports providing `-` multiple times
- added a test for it
2021-03-10 23:19:12 +01:00
Benjamin Fox
5446ea2abf cp: implement --strip-trailing-slashes 2021-03-09 12:59:26 +02:00
Daniel Rocco
0e02607dc7 numfmt: implement --field 2021-03-08 10:53:34 -05:00
Chad Brewbaker
c820329efd
muted test not for windows and added windows temp file convention (#1748)
* muted test not for windows and added windows temp file convention

* Update mktemp.rs

Revert windows mktmp template difference

Co-authored-by: Chad Brewbaker <chad@flyingdogsolutions.com>
2021-03-06 18:26:55 +01:00
Daniel Rocco
d06f91fbe2
numfmt: align format output values with GNU (#1745)
When converting to SI or IEC, produce values that align with the conventions
used by GNU numfmt.

- values > 10 are represented without a decimal place, so 10000 becomes 10K
  instead of 10.0K

- when truncating, take the ceiling of the value, so 100001 becomes 101K

- values < 10 are truncated to the highest tenth, so 1001 becomes 1.1K

closes #1726
2021-03-06 18:26:05 +01:00
Sylvestre Ledru
c06967a45a rustfmt two files 2021-02-23 20:56:41 +01:00
Chad Brewbaker
bb54669a5d
Fix macOS aarch64 compile errors (#1724) 2021-02-23 10:25:06 +01:00
Alex Lyon
5431e947bc
uucore: process: fix exit status processing (#1743)
* uucore: process: fix exit status processing

* tests: timeout: check whether subcommand exit codes are returned
2021-02-23 10:21:01 +01:00
James Robson
0dbed0fd59 Do not allow seq to run with an increment of zero 2021-02-18 21:10:53 +00:00
Chad Brewbaker
05d8cc59c4
bug(wc): Add a test for unexpected behavior (#1723) 2021-02-16 13:36:49 +01:00
Daniel Rocco
f595164063 numfmt: prohibit --header=0 to align with GNU
Adjust header option handling to prohibit passing a value of 0 to align
with GNU numfmt. Also report header option parse errors as GNU does.

closes #1708
2021-02-15 08:14:44 +01:00
Daniel Rocco
f8006f47df
numfmt: handle leading whitespace & implied padding (#1721)
Align with GNU numfmt by trimming leading whitespace from supplied values.
If the user did not specify a padding, calculate an implied padding from
the leading whitespace and the value.

Also track closer to GNU numfmt’s error message format.
2021-02-14 09:04:29 +01:00
Felipe Lema
35a7f01d15
Refactor(split) - migrate from getopts to clap (#1712) 2021-02-11 20:45:23 +01:00
Sylvestre Ledru
51383e10e6
Fix: install /dev/null target (#1646)
* fix(install): workaround the /dev/null bug

Caused by a limitation of fs::copy in rust. see:
https://github.com/rust-lang/rust/issues/79390
2021-02-11 15:59:58 +01:00
Sylvestre Ledru
6c8af26e7f
fix(cp) - make "cp /dev/null target" work (#1674) 2021-02-11 15:59:20 +01:00
Sylvestre Ledru
b8987f3d5f
fix(mktemp) - Make mktemp --tempdir foo.XXXXXX works (#1716)
Used by apt-key
2021-02-11 00:03:23 +01:00
Chad Brewbaker
6c2bca110d
Fixed wc -L no end of line LF bug (#1714) 2021-02-08 21:54:48 +01:00
Sylvestre Ledru
cacaf0cde8 bug(fmt): just like the GNU version, fails when -W is bigger than 2500
Closes: #1704
2021-01-25 08:45:33 +01:00
Sylvestre Ledru
992c113f09 Remove some old code 2021-01-22 09:40:38 +01:00
Sylvestre Ledru
18370f39b8 Remove some warnings 2021-01-22 09:40:38 +01:00
Sylvestre Ledru
b8d0467da8 test(realpath): improve the coverage 2021-01-19 20:56:27 +01:00
Sylvestre Ledru
e331186fee
unbreak build with rustc 1.32: force tempfile 3.1.0 (#1695) 2021-01-19 08:15:53 +01:00
Sylvestre Ledru
013bb285cd
bug(chmod): chmod on symlink pointing to non existing file is failing (#1694) 2021-01-18 23:09:00 +01:00
Felipe Lema
88911be6e0
--filter argument for split (#1681) 2021-01-18 14:42:44 +01:00
jaggededgedjustice
18c39daed7
fold: Handle input with newlines (#1680)
The read_line function appends to the given buffer which is never
cleared. This leads to lines being duplicated.
2021-01-05 09:10:01 +01:00
Sylvestre Ledru
4a23a1a218 feature(ln): Implement -n 2021-01-03 18:55:53 +01:00
Sylvestre Ledru
7f1d47b77a refactor(ln): move to clap 2021-01-02 22:35:21 +01:00
Sylvestre Ledru
90722c1f3c
Merge pull request #1677 from sylvestre/mktemp-t
feature(mktemp): implement -t
2021-01-02 21:10:59 +01:00
Sylvestre Ledru
105e2cb26f feature(mktemp): implement -t
Deprecated but used in various places:
https://sources.debian.org/src/libreoffice/1:7.0.4-1/solenv/gbuild/platform/solaris.mk/?hl=22#L22
https://sources.debian.org/src/glibc/2.31-6/malloc/memusage.sh/?hl=225#L225
https://sources.debian.org/src/sbox-dtc/1.11.7-1/debian/postinst/?hl=20#L20
2021-01-02 13:07:27 +01:00
Sylvestre Ledru
94e293f2bf fix formatting fr test_seq 2021-01-02 10:14:18 +01:00
Sylvestre Ledru
a2d6c85e44 test(cp): cp /dev/null target is supposed to work. Add a test 2021-01-02 10:02:51 +01:00
Sylvestre Ledru
bc4c82b132 Fix some clippy warnings 2020-12-29 00:47:59 +01:00
Sylvestre Ledru
3a1eb1e05f Various fixes before landing csplit 2020-12-28 17:22:02 +01:00
Stéphane Campinas
89bf7a726e csplit: refresh of the previous PR 2020-12-28 17:21:29 +01:00
Sylvestre Ledru
da362ced71
test(rm): Add a test for multiple -f (#1671) 2020-12-25 14:21:47 +01:00
Diego Magdaleno
8b12686888
ls: On Windows don't display files hidden by NTFS (#1662)
This little check, allows us to hide the files that
shouldn't be shown on the listing on Windows operating
systems.

Just like the "dot" in UNIX based operating systems
Windows uses its own file attributes to determine if a file
is hidden or not.

The lack of support for this option is normally an annoyance
for many users, this commit adds full support for this feature
2020-12-19 17:54:28 +01:00
Sylvestre Ledru
469abf2427 bug(seq) - Allow 'seq 6 -1 0'
Was failing with
```
Found argument '-1' which wasn't expected, or isn't valid in this context
```
otherwise
2020-12-19 11:55:43 +01:00
Sylvestre Ledru
dbc716546b fix(mkdir) - Add --parent as alias of --parents
It is used this way sometimes:
https://sources.debian.org/src/php-symfony-polyfill/1.21.0-2/debian/rules/?hl=49#L49
https://sources.debian.org/src/firebird3.0/3.0.7.33374.ds4-1/debian/functions.sh/?hl=24#L24
https://sources.debian.org/src/postfix/3.5.6-1/debian/configure-instance.sh/?hl=67#L67
2020-12-18 14:41:59 +01:00
Sylvestre Ledru
718695d541 fix(install) - Install was failing with '-m 0333'
The parse_numeric was getting ' 0333' as input
and showing 'mode is too large ( 0333 > 7777) as error

Syntax used: https://sources.debian.org/src/firebird3.0/3.0.7.33374.ds4-1/debian/functions.sh/?hl=145#L145
2020-12-18 13:36:55 +01:00
Sylvestre Ledru
c506b5402b fix clippy warnings 2020-12-17 21:34:10 +01:00
Sylvestre Ledru
5a62dcafaa bug(cp): like gnu/cp, don't show any message when --no-clobber is used
Simple example:
touch bar
rm -rf /tmp/foo
mkdir -p /tmp/foo
cp -pnL -v bar /tmp/foo
echo $?
cp -pnL -v bar /tmp/foo
echo $?

rm -rf /tmp/foo
mkdir -p /tmp/foo
./target/debug/coreutils cp -pnL -v bar /tmp/foo
echo $?
./target/debug/coreutils cp -pnL bar /tmp/foo
echo $?
2020-12-17 20:50:38 +01:00
Sylvestre Ledru
b133e28d3e test(ls) - also test the -h option 2020-12-15 14:06:17 +01:00
Sylvestre Ledru
2de9abf52b test(ls): add more ls tests 2020-12-15 12:10:12 +01:00
Sylvestre Ledru
b687a2742c test(ls): also test ls -R 2020-12-13 17:13:56 +01:00
Sylvestre Ledru
4068195a94 test(ls): add more tests 2020-12-13 12:14:34 +01:00
Sylvestre Ledru
cd97adb39d Minor fixes in the tests 2020-12-13 12:11:42 +01:00
Sylvestre Ledru
dca1f28085 install: various improvements in output & tests 2020-12-12 14:36:23 +01:00
Sylvestre Ledru
3024ade071 refactor(chgrp, install): Show the error in the program instead of the lib 2020-12-12 14:28:50 +01:00
Sylvestre Ledru
55c660b986 feature(install): move chown functions into uucore and have install owner support use it 2020-12-12 14:27:59 +01:00
Sylvestre Ledru
015e18731f feature(install): install group support 2020-12-12 14:27:03 +01:00
Sylvestre Ledru
576aa29f0f
refactor(chmod): move from walker to walkdir, simplify the code and add tests (#1645) 2020-12-12 10:31:12 +01:00
Sylvestre Ledru
49b32ea68d
refactor(chown): move to clap & add tests (#1648) 2020-12-12 00:14:00 +01:00
Sylvestre Ledru
068fee2ebd
feature(uname): Implement -p & -i (#1649)
Just return 'unknown' for both

Closes: #1636
2020-12-11 22:46:36 +01:00
Sylvestre Ledru
516839e081
refactor(mv): move to clap (#1652) 2020-12-10 22:28:17 +01:00
Piyush Jaipuriayar
3ca8ba997c
hashsum: added blake2 as a hashing algorithm (#1651) 2020-12-08 23:32:02 +01:00
Sylvestre Ledru
c483fa501b feature(cp): also implement --dereference/-L 2020-11-29 20:48:29 +01:00
Sylvestre Ledru
f76a0ec972 feature(cp): implement archive + add missing tests 2020-11-29 20:48:23 +01:00
Sylvestre Ledru
b07f496b70 fix(install): 'install file_a file_b' should just copy the file 2020-11-29 16:33:46 +01:00
Sylvestre Ledru
11ecf80a25
feature(sync): add --data & --file-system (#1639) 2020-11-29 16:32:21 +01:00
Sylvestre Ledru
89f8624936
bug(install) - install -d can be run on an existing directory (#1643)
GNU:
$ install -d foo
$ install -d foo

Rust:
$ install -d foo
$ install -d foo
install: cannot create directory 'foo': File exists
install: foo: File exists (os error 17)
2020-11-29 16:31:26 +01:00
Sylvestre Ledru
df44534a3e test(install): Add tests which should be working but aren't
I will work on the fixes
2020-11-25 13:48:04 +01:00
Sylvestre Ledru
63bf6cc599 Add a test to verify that install can be used just to copy a simple file
example:
touch bar.txt && ./target/debug/coreutils install bar.txt foo.txt
2020-11-25 13:41:46 +01:00
Sylvestre Ledru
bfba889f8e
refactor(touch): Move to clap + add a test (#1629) 2020-11-21 09:53:13 +01:00
Sylvestre Ledru
5efaa0bf32
refactor(id) - move to clap and add more tests (#1628) 2020-11-21 09:52:50 +01:00
Sylvestre Ledru
41ba5ed913
refactor(uniq): Move to clap + add a test (#1626) 2020-11-21 09:52:40 +01:00
Sylvestre Ledru
7bbb4c98e8
Merge pull request #1623 from sylvestre/clap-pwd
refactor(pwd): move to clap + add a test
2020-11-21 00:49:30 +01:00
Sylvestre Ledru
8271faf3a2
Merge branch 'master' into clap-pwd 2020-11-19 22:32:02 +01:00
Sylvestre Ledru
252f527b55
Merge branch 'master' into uptime-refresh 2020-11-19 22:30:33 +01:00
Sylvestre Ledru
62265656b4
Merge pull request #1630 from sylvestre/clap-mkdir
refactor(mkdir): Move to clap + add a test
2020-11-17 13:01:09 +01:00
Sylvestre Ledru
5eaab5327c
Merge pull request #1632 from sylvestre/clap-rm
refactor(rm): Move to clap + add a test
2020-11-17 13:00:35 +01:00
Sylvestre Ledru
eada6e58e5
Merge pull request #1637 from sylvestre/clap-install
refactor(install): move to clap
2020-11-17 13:00:04 +01:00
Sylvestre Ledru
2edfe32c48 refactor(install): move to clap 2020-11-13 18:21:56 +01:00
Sylvestre Ledru
2febd13733 refactor(sync): Move to clap + add tests 2020-11-11 22:57:55 +01:00
Sylvestre Ledru
61520546a5 refactor(rm): Move to clap + add a test 2020-11-09 10:27:58 +01:00
Sylvestre Ledru
897bcb2e67 refactor(mkdir): Move to clap + add a test 2020-11-08 17:51:04 +01:00
Sylvestre Ledru
92d5d47434 refactor(pwd): move to clap + add a test 2020-11-03 23:12:16 +01:00
Sylvestre Ledru
8bd533ffe8 refactor(uptime): some minor improvements 2020-11-03 23:10:32 +01:00
Roy Ivy III
94e240a2fc tests/factor ~ refactor for readability + improve DRY 2020-10-26 15:06:29 -05:00
Roy Ivy III
c5296f00d0 tests/factor ~ test first 100000 integers for expected results 2020-10-26 15:06:29 -05:00
Roy Ivy III
2615abe9cc tests/factor ~ update RNG usage and variable reports to ease debugging 2020-10-26 15:06:28 -05:00
Sylvestre Ledru
b4969c6cc2 test(seq): add a test to check that we don't accept more than 3 args 2020-10-25 10:44:50 -05:00
Sylvestre Ledru
f888616c0b tests(truncate): Add more tests 2020-10-23 00:36:09 +02:00
Kevin Burke
7fc1b16115
sort: fix panic on write to closed pipe
If the output of sort is piped to another program that closes the file
descriptor, sort currently panics. The GNU coreutils is able to handle
this case.

Replacing panic with crash_if_err reports the closed pipe and exits
with a return code, which seems like the correct behavior. Tested on
my Mac and the panic disappears.

Add a test which pipes data to sort - it won't protect against this
specific regression, but it increases the test coverage, at least.

Fixes #1608.
2020-10-21 16:55:10 -07:00
Roy Ivy III
96092b01fc tests/cp ~ disable intermittent failures on MacOS (includes FixME comments)
- track repair progress at GH:uutils/coreutils/issues/1590
2020-10-16 20:24:57 -05:00
Roy Ivy III
02e4226c26 refactor/polish ~ cargo make format 2020-10-02 16:03:21 -05:00
Roy Ivy III
0fa249a944
Fix tr argument handling for missing arguments (#1601)
* tests/tr ~ confirm failure for missing argument(s)

* fix/tr ~ mimic GNU error reponse for missing argument(s)
2020-10-02 22:43:57 +02:00
Jens Humrich
bfca334ec1 style issues 2020-09-17 12:40:48 +02:00
Jens Humrich
5a75905476 Add additional-suffix option to split 2020-09-16 17:59:39 +02:00
Roy Ivy III
c6274b4003 tests ~ disable failing tail test under windows code coverage (with future FixME)
* FixME/note: test_mktemp::test_mktemp_make_temp_dir, test_mktemp::test_mktemp_mktemp, and test_mktemp::test_mktemp_suffix are also failing locally though not for CICD coverage builds
2020-08-16 17:02:19 -05:00
nicoo
b0ac07296f
head: Ignore known-failing tests introduced in #1579 (#1586)
This caused tests to fail on all unrelated work.
In particular, CI went red fall all pull requests.
2020-08-09 18:51:04 +02:00
Roy Ivy III
b38abbce5e tests: (head) cargo fmt 2020-08-08 23:04:29 -05:00
Chad Brewbaker
c1f518e586 Adding failing GNU head tests (#1579)
Co-authored-by: Chad Brewbaker <chad@flyingdogsolutions.com>
2020-08-08 22:26:49 -05:00
Felipe Lema
ba6b55f117 feature[env]: Add support for --chdir=DIR in env (fixes #1568) (#1569) 2020-08-08 22:26:49 -05:00
Alex Lyon
700d51a92b
Merge pull request #1528 from sylvestre/cp-no-deref
feature(cp) implement -P/--no-deference
2020-06-23 23:05:26 -07:00
Roy Ivy III
f3ee45171f tests/factor ~ re-enable factor tests (with additional detail for failures)
- probably fixes #1531 (via #1529) per @nbraud
2020-06-21 12:17:46 -05:00
Sylvestre Ledru
2d62097843 feature(cp): Manage -P & -R 2020-06-20 10:49:15 +02:00
Sylvestre Ledru
280fafed8a feature(cp) implement -P/--no-deference 2020-06-20 09:38:39 +02:00
Sylvestre Ledru
f17a112781
feature(ln): implement -r (#1540)
* bump the minimal version of rustc to 1.32

* feature(ln): implement -r

* fix two issues

* Use cow

* rustfmt the change

* with cargo.lock 1.31

* try to unbreak windows
2020-06-18 00:54:18 -07:00
Roy Ivy III
3a661e1f9e tests ~ suppress failing WSL logname test (add investigate ToDO) 2020-06-14 23:38:30 -05:00
Roy Ivy III
6dfe2dd4a3 tests ~ disable failing 'test_hostname::test_hostname_ip' test on MacOS
- also adds FixME to prompt future correction
2020-06-14 23:38:30 -05:00
Roy Ivy III
cbac6cc903 tests ~ increase test detail to diagnose MacOS hostname test failure 2020-06-14 23:38:30 -05:00
Roy Ivy III
b055ec34e7 tests ~ disable randomly failing test ('test_factor::test_random_big') under CI
- avoid randomly failing builds; reactivate when fixed
- ref: #1531
2020-06-14 23:38:30 -05:00
Roy Ivy III
2c5d154b67 fix ~ compiler warning (unused import) 2020-06-14 23:38:30 -05:00
Roy Ivy III
d144182add tests/refactor ~ use is_ci() for CI host platform testing 2020-06-14 12:20:31 -05:00
Roy Ivy III
407d455b12 tests ~ add is_ci() test 2020-06-14 12:20:31 -05:00
Sylvestre Ledru
7b452f3bfe style(nproc): reformat with rustfmt 2020-06-09 13:38:29 +02:00
Sylvestre Ledru
ac34d136f2 refactor(global): Move from tempdir to tempfile:
* the crate has been deprecated
2020-06-09 11:30:19 +02:00
Alex Lyon
80987250d2
Merge pull request #1521 from sylvestre/nproc
Add tests for nproc + clap migration
2020-06-08 19:18:00 -07:00
Sylvestre Ledru
358af0939c
Merge pull request #1534 from sylvestre/logname
Logname - add test and simplify the code a bit
2020-06-08 09:34:42 +02:00
Sylvestre Ledru
f87b041e27
test(hostid) add a test for hostid (#1533) 2020-06-08 09:09:44 +02:00
Sylvestre Ledru
332dc5d2f2 test(logname) add a test for logname 2020-06-07 17:53:54 +02:00
Sylvestre Ledru
c33f52baf1 test(nproc): add a test 2020-06-02 23:29:18 +02:00
Sylvestre Ledru
a7de28a714 test(groups): Add tests 2020-06-02 22:14:35 +02:00
Roy Ivy III
ebb2c3dfb4 tests ~ use build.rs build list of test_UTIL module files 2020-06-02 12:17:30 -05:00
Roy Ivy III
1b3bb56e66 tests ~ add missing test_UTIL module files (with 'ToDO' comments)
- common_core utils
- additional 'windows' utils
- additional 'unix' utils
2020-06-02 11:25:09 -05:00
Roy Ivy III
b10649f14f tests ~ (test_factor.rs) fix module import path 2020-06-01 18:30:04 -05:00
Roy Ivy III
de0375f909 tests ~ reorganize tests 2020-06-01 18:30:04 -05:00
Roy Ivy III
923c47a408 refactor ~ remove outdated clippy attributes 2020-05-30 01:36:02 -05:00
Roy Ivy III
6c9784cb4b tests ~ disable whoami test using id for 'windows' (fixes #1519)
- `id` does not exist on common/usual Windows installations
2020-05-29 22:59:48 -05:00
Roy Ivy III
403a6a3935 tests ~ fix 'edition=2018' module import errors
- ref: <https://users.rust-lang.org/t/imports-can-only-refer-to-extern-crate-names/24388> @@ <https://archive.is/iCaXp>
2020-05-29 22:59:47 -05:00
Roy Ivy III
039638de0e tests ~ use CARGO_PKG_NAME as name of binary used for testing 2020-05-29 22:59:47 -05:00
Roy Ivy III
8a91f1dea4 tests/stat ~ fix testing algorithm to correctly allow unknown values (with/without trailing newlines) 2020-05-29 22:59:47 -05:00
Roy Ivy III
6cb609aeee docs/codespell ~ fix spelling errors 2020-05-29 22:59:47 -05:00
Roy Ivy III
db2e950918 change ~ make all sub-crates independent 2020-05-29 22:59:40 -05:00
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
palaviv
3bc5a5f769 sort: support multiple input files 2016-06-14 21:25:29 +03:00
palaviv
87455f998a sort: Version sort support 2016-06-14 20:33:09 +03:00
Knight
1695441880 Conditionally compile test modules 2016-06-12 15:04:10 +08:00
palaviv
d4ffbe0526 sort: unique option support 2016-06-11 15:46:41 +03:00
Heather
461a4e72b0 Merge pull request #893 from knight42/stat
Implement stat
2016-06-07 16:35:01 +04:00
Knight
48968f3d8a stat: Add tests 2016-06-05 11:38:56 +08:00
Knight
ab17a5e544 stat: Add entries 2016-06-04 13:33:08 +08:00
Mariano Casco
abb9501894 tail: test -f with no files 2016-05-31 17:40:06 -03:00
Mariano Casco
9c584bab9d tail: test following multiple files
The test_follow_multiple() test verifies that input is read upon append
on both files and that headers are printed when expected.
2016-05-30 17:34:53 -03:00
Heather
145f2efe89 Merge pull request #885 from jbcrail/refactor-tests
Refactor and fix tests
2016-05-23 09:35:34 +04:00
Joseph Crail
56c9ccc347 tests/common: remove prefixed chars on Windows 2016-05-22 22:54:45 -04:00
Christopher Ian Stern
e909e665f0 od: take more format options, respect their order. 2016-05-22 15:46:20 -05:00
Joseph Crail
53c62db8d6 pathchk: make Unix only 2016-05-22 16:41:36 -04:00
Joseph Crail
a7a10f357a tests: remove scoped files
Scoped files were deprecated by scoped temporary directories used by the
test harness.
2016-05-22 15:31:02 -04:00
Joseph Crail
8d42cecc5f tests: remove unused comment 2016-05-22 15:15:57 -04:00
Joseph Crail
6652e6b57d tests: un-hardcode executable artifact 2016-05-22 15:10:46 -04:00
Joseph Crail
de7b6202a8 tests: move pathchk into new format 2016-05-22 15:10:16 -04:00
Joseph Crail
89b600628d tests: move macros into separate module 2016-05-22 15:10:06 -04:00
Heather
bdc1ca7426 Merge pull request #882 from jbcrail/fix-windows-build
Improve Windows build
2016-05-22 16:02:03 +04:00
ibabushkin
d504ae18c9 pathchk implemented (see #841) (#860)
* Added pathchk
2016-05-22 15:59:57 +04:00
Joseph Crail
7ef4bb37a8 tests: consolidate into one crate
The main motivation is to move toward running those tests for a specific
target, that is, if a test won't run on Windows, then we shouldn't build
it. This was previously the default behavior and prevented a successful
run on AppVeyor.

I borrowed this pattern from the tests in the Cargo project.
2016-05-22 03:46:54 -04:00
Knight
92e95c7263 dircolors: tests added 2016-05-11 00:43:51 +08:00
Heather
1fafde8c27 Merge pull request #845 from peschkaj/master
Basic implementation of ls
2016-05-01 00:56:11 +04:00
Heather
f47fafb28d Merge pull request #830 from lucaotta/fix-788
Fix #788
2016-05-01 00:41:15 +04:00
modelorganism
caebd834c6 od: fix failing test unable to find temp dir on linux 2016-04-29 20:17:51 -05:00
modelorganism
3f356a4190 od: take input from stdin, as well as files. 2016-04-26 23:17:00 -05:00
modelorganism
365b342792 od: create first tests for od 2016-04-25 22:06:38 -05:00
Valentin Lorentz
8ff308740c Fix test on Rust Stable.
https://github.com/rust-lang/rust/issues/32801
2016-04-07 20:54:22 +02:00
Valentin Lorentz
e673a102b6 tail: Add test for tail -f. 2016-04-03 11:47:33 +02:00
Valentin Lorentz
4ba6ea7aad tests: Move part of UCommand::run to a new function 2016-04-03 11:46:33 +02:00
Valentin Lorentz
fe5bc47971 tests: Simplify logic of UCommand::run. 2016-04-03 11:46:33 +02:00
Nick Fitzgerald
3972c6eb53 tail: Clean up and test suffix multiplier
Makes `parse_size` return a `Result` where the `Err` part indicates whether
there was a parsing error, or the parse size is too big to store. Also makes the
value parsed a `u64` rather than a `usize`.

Adds unit tests for `parse_size` and integration tests using the suffix
multiplier in a number passed with the `-n` flag.
2016-04-02 14:16:11 -07:00
Valentin Lorentz
2fd7164cda tail: Implement tail -z.
This options makes tail use NULL instead of newline as a line
delimiter.
2016-04-02 12:32:33 +02:00
Luca Ottaviano
f0186271ec tests/chmod: add test with both reference and symbolic mode
Only reference should be taken into account.
2016-04-02 10:30:19 +02:00
Luca Ottaviano
bbe54bc0a8 tests/chmod: add missing test for many symbolic permissions at once 2016-04-02 10:29:57 +02:00
Luca Ottaviano
2686ea75d7 chmod: handle -octal and -[rwx]
The main issue is that -octal or -[rwx] is interpreted as an option by
getopts.
Search the args for such a pattern, remove it before parsing and
manually handle it afterwards.
Fixes #788.
2016-04-02 10:29:57 +02:00
Luca Ottaviano
9005ae7dbf tests/chmod: refactor tests to only create reference file once 2016-04-02 10:29:35 +02:00
Joseph Crail
fb0e6a9dee tests/sort: simplify input to helper 2016-03-29 00:58:24 -04:00
Joseph Crail
6b129887d6 tests/sort: add test for default mode 2016-03-29 00:58:24 -04:00
Joseph Crail
b290c10845 tests/sort: refactor to match other tests
Instead of using numerals to denote individual cases, I used descriptive
case names. I also changed the extension for the expected output fixture
to match other tests.

I removed one redundant test and another unnecessary helper function.
2016-03-29 00:58:24 -04:00
Joseph Crail
91df9b14da tests: remove unused method 2016-03-28 23:25:50 -04:00
Joseph Crail
7d103a0a64 tests: fix whitespace 2016-03-28 23:25:26 -04:00
Joseph Crail
1fecba3226 tests/{readlink, realpath}: fix tests on Windows
I fixed the tests that assumed paths used a Unix directory separator.
2016-03-28 23:24:40 -04:00
Heather
c954b01aa3 Merge pull request #854 from fitzgen/tests-for-tail-bytes
Miscellaneous `tail` related commits
2016-03-28 09:05:48 +04:00
Nick Fitzgerald
0d281cf886 tests/tail: Test when -n is larger than the number of lines in the file 2016-03-27 14:42:45 -07:00
Nick Fitzgerald
9a5209a7a4 tests/tail: Rename INPUT to FOOBAR_TXT as there are more than one inputs 2016-03-27 14:41:56 -07:00
Nick Fitzgerald
0bc05e2dcf tests/tail: Add a test for tail'ing large files in bytes mode 2016-03-27 14:34:59 -07:00
Nick Fitzgerald
1be7d31d5a tests/tail: Refactor the test_single_big_args test to use ScopedFile 2016-03-27 14:34:59 -07:00
Nick Fitzgerald
a629bb3076 tests: Create the ScopedFile type for temporary files in tests
This commit adds the `ScopedFile` type, which wraps and derefs to a `File`. When
a `ScopedFile` is dropped, it removes the underlying file from the
filesystem. This is useful for temporary, generated files in tests.
2016-03-27 14:34:59 -07:00
Joseph Crail
ec14be84aa tests/pwd: fix broken Windows test
Due to canonicalize()'s use of GetFinalPathNameByHandleW() on Windows,
the resolved path starts with '\\?\' to extend the limit of a given path
to 32,767 wide characters.

To address this issue, we remove this prepended string if available.
2016-03-27 03:28:55 -04:00
Nick Fitzgerald
9824bc4db3 Add a test for tail -c <BYTES> from stdin 2016-03-26 11:56:00 -07:00
Nick Fitzgerald
445233389e Add a test for tail -c <BYTES> <FILE> 2016-03-26 11:52:10 -07:00
Jeremiah Peschka
0bb0c40c36 Adding tests for ls. Corrected issue with ls on the present directory throwing panic!() 2016-03-25 14:25:52 -07:00
Joseph Crail
faedb2dd2e tests/sort: fix flag for human numeric test 2016-03-25 16:55:58 -04:00
Joseph Crail
55c0b1786f tests/sort: add tests for month sort 2016-03-25 16:55:58 -04:00
Nick Fitzgerald
d7974c56a0 tests/tail: Add a test for tail'ing large files
This tests both large files and iterating backwards through the file when we
need to search backwards further than our BUFFER_SIZE.
2016-03-21 07:51:48 -07:00
Nick Fitzgerald
161f96dc8c tests/tail: Rename tail test fixture contents to be easier to read
The repetition of "foo" and "bar" made for difficult-to-read assertion failures
when hacking on `tail`. I think that having each line have unique contents makes
it a bit easier to parse.
2016-03-21 07:51:42 -07:00
Luca Ottaviano
5dc0a55630 chmod: fix reference option
Reference option must have a file path.
Fix C interface using CString.
Better error message if the file doesn't exist.
2016-03-10 20:34:49 +01:00
Chirag B. Jadwani
676e3718c3 uniq: add tests 2016-02-29 11:07:16 +05:30
Nathan Ross
d1e785c1dc comm: additional tests and status/stderr checking for existing tests 2016-02-22 09:59:06 -05:00
Heather
267a7d043a Merge pull request #821 from ebfe/cat-test
tests/cat: --squeeze-blank test
2016-02-22 09:24:32 +04:00
Nathan Ross
5e764ecf6e more ergonomic testing 2016-02-18 13:24:36 -05:00
Michael Gehring
c0d91d225f tests/cat: --squeeze-blank test 2016-02-17 08:06:32 +01:00
Nathan Ross
e44f29a020 basename: tests for bad inputs 2016-02-16 16:47:09 -05:00
Nathan Ross
8190c30a85 basename: tests for remaining options 2016-02-16 16:47:09 -05:00
Nathan Ross
21cee1556b basename: in tests, assert error-free in usage 2016-02-16 16:47:09 -05:00
Nathan Ross
962fcd7183 base64: tests for incorrect wrap args 2016-02-16 16:47:09 -05:00
Nathan Ross
2bad30b2b0 base64: in tests, test both option forms 2016-02-16 02:20:09 -05:00
Nathan Ross
e32efaa5a1 allow feature-gated integration tests for unimplemented functionality 2016-02-15 23:48:37 -05:00
Nathan Ross
5f88dfe12b printf: rustfmt pass 2016-02-15 00:48:08 -05:00
Nathan Ross
0892ad3cde printf: add (spare C99 hex floats) 2016-02-15 00:10:30 -05:00
Michael Gehring
1760f2937b Merge pull request #814 from shalupov/mark-fixtures-data-as-binary
.gitattributes: treat tests/fixtures/** as binary data
2016-02-14 19:21:18 +01:00
Leonid Shalupov
1b48438b44 .gitattributes: treat tests/fixtures/** as binary data to prevent CRLF convertion by git under Windows 2016-02-14 17:09:47 +01:00
Leonid Shalupov
1ae82193f0 tests: do not remove %SYSTEMROOT% from environment variables, it's required to initialize crypto provider (which is required for std::rand) 2016-02-14 16:34:39 +01:00
Michael Gehring
162e21a418 tests/mktemp: fix build on nightly 2016-02-14 03:31:10 +01:00
Michael Gehring
033dd3a0ae tests/chmod: fix tests on nightly 2016-01-23 05:06:02 +01:00
Arcterus
49d0815588 tests: fix tests that broke when using a symlinked /tmp 2016-01-10 02:50:39 -08:00
Arcterus
d9ad0b185a tests: fix tests that were failing on OS X 2016-01-10 00:09:05 -08:00
Arcterus
ee669ab55b chmod: rewrite mode parser 2016-01-04 20:00:34 -08:00
Michael Gehring
1a78be7e37 tests/mktemp: remove unused import 2016-01-04 18:43:03 +01:00
Michael Gehring
73cd23ca71 Merge pull request #781 from KeenS/mktemp
Mktemp
2016-01-04 18:40:08 +01:00
Michael Gehring
2bc3001a3a tests/chmod: disable failing tests
See #788
2016-01-04 17:58:15 +01:00
Michael Gehring
83de52f66b tests: add some basic chmod tests 2016-01-04 17:28:27 +01:00
Sunrin SHIMURA (keen)
881e0892d2 [mktemp] use new API env 2016-01-04 02:11:15 +09:00
Sunrin SHIMURA (keen)
0d4e67929b Merge remote-tracking branch 'origin/master' into mktemp 2016-01-04 01:58:38 +09:00
Michael Gehring
830ca8c04d tests: add UCommand::env() 2016-01-03 14:24:15 +01:00
Sunrin SHIMURA (keen)
58d1d66d16 [mktemp] implement mktemp 2016-01-03 19:10:47 +09:00
Michael Gehring
b8ee9424c8 tests/touch: fix tests
Fixes #782
2016-01-02 09:55:20 +01:00
Nathan Ross
83295f1e08 appveyor and windows testing tooling updates 2015-12-23 22:59:04 -05:00
Heather
9339bbe50d Merge pull request #762 from ebfe/expr-and-or
expr: implement '|' and '&'
2015-12-22 17:20:58 +04:00
Heather
88710fa01d Merge pull request #760 from ebfe/disable-stdbuf
tests/stdbuf: disable on non-linux os
2015-12-22 17:20:24 +04:00
Michael Gehring
d4e0ee0cde expr: add basic tests 2015-12-22 14:10:43 +01:00
Michael Gehring
1fc698a17f tests/stdbuf: disable on non-linux os 2015-12-22 12:55:51 +01:00
Michael Gehring
ec1ec84f0c tests/env: don't assume vars are ordered 2015-12-22 12:44:05 +01:00
Michael Gehring
cb4f6a2978 dirname: add some tests 2015-12-21 11:17:37 +01:00
Joseph Crail
cf399faad2 Add initial tests for default values 2015-12-12 16:24:48 -05:00
Michael Gehring
2f4ae615ed comm: add basic tests 2015-11-28 20:51:11 +01:00
Michael Gehring
9365e100d9 Merge pull request #723 from jbcrail/cleanup
Fix whitespace, unused file, and warnings.
2015-11-25 10:20:46 +01:00
Joseph Crail
80f83ce15d Remove unused file. 2015-11-25 04:05:12 -05:00
Michael Gehring
e7398b3ca7 sum: fix sysv_stdin testcase 2015-11-25 09:58:58 +01:00
Joseph Crail
ca1074201f Split utility files into separate library.
Everything in src/common has been moved to src/uucore. This is defined
as a Cargo library, instead of directly included. This gives us
flexibility to make the library an external crate in the future.

Fixes #717.
2015-11-24 22:20:27 -05:00
Nathan Ross
a21c54e2cd rewrite tests for cargo compat, decoupled directory, output handling 2015-11-23 02:04:15 -05:00