diff options
author | Jim Meyering <meyering@redhat.com> | 2011-12-11 11:59:31 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2011-12-12 12:19:55 +0100 |
commit | a3fee8b6afdbb70317d2124d5a3bb0d2887ab31b (patch) | |
tree | ea6ac15d733cedc9f8a201da7b65b43a87f50078 /tests | |
parent | da4793e949363242400ad10bc739e3db4319755f (diff) | |
download | coreutils-a3fee8b6afdbb70317d2124d5a3bb0d2887ab31b.tar.xz |
ls: give a more useful diagnostic for a bogus --time-style arg
* src/ls.c (decode_switches): Replace our use of XARGMATCH
with open-coded version so that we can give a better diagnostic.
* tests/ls/time-style-diag: New file.
* tests/Makefile.am (TESTS): Add it.
Reported by Dan Jacobson in http://bugs.gnu.org/10253
with suggestions from Eric Blake and Paul Eggert.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 1 | ||||
-rwxr-xr-x | tests/ls/time-style-diag | 39 |
2 files changed, 40 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 48c33cb99..23cb70fa4 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -441,6 +441,7 @@ TESTS = \ ls/stat-free-symlinks \ ls/stat-vs-dirent \ ls/symlink-slash \ + ls/time-style-diag \ ls/x-option \ mkdir/p-1 \ mkdir/p-2 \ diff --git a/tests/ls/time-style-diag b/tests/ls/time-style-diag new file mode 100755 index 000000000..d756cfe14 --- /dev/null +++ b/tests/ls/time-style-diag @@ -0,0 +1,39 @@ +#!/bin/sh +# Ensure that an invalid --time-style=ARG is diagnosed the way we want. + +# Copyright (C) 2011 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +. "${srcdir=.}/init.sh"; path_prepend_ ../src +print_ver_ ls + +ls -l --time-style=XX > out 2> err +test $? = 2 || fail=1 + +cat <<\EOF > exp || fail=1 +ls: invalid argument `XX' for `time style' +Valid arguments are: + - [posix-]full-iso + - [posix-]long-iso + - [posix-]iso + - [posix-]locale + - +FORMAT (e.g., +%H:%M) for a `date'-style format +Try `ls --help' for more information. +EOF + +compare exp err || fail=1 +compare /dev/null out || fail=1 + +Exit $fail |