Commit graph

120 commits

Author SHA1 Message Date
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