Commit graph

252 commits

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