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