diff options
Diffstat (limited to 'gnulib/tests/test-argp-2.sh')
m--------- | gnulib | 0 | ||||
-rwxr-xr-x | gnulib/tests/test-argp-2.sh | 113 |
2 files changed, 113 insertions, 0 deletions
diff --git a/gnulib b/gnulib deleted file mode 160000 -Subproject 443bc5ffcf7429e557f4a371b0661abe98ddbc1 diff --git a/gnulib/tests/test-argp-2.sh b/gnulib/tests/test-argp-2.sh new file mode 100755 index 0000000..20e0d9e --- /dev/null +++ b/gnulib/tests/test-argp-2.sh @@ -0,0 +1,113 @@ +#! /bin/sh +# Test suite for argp. +# Copyright (C) 2006-2011 Free Software Foundation, Inc. +# This file is part of the GNUlib Library. +# +# 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/>. */ + +TMP=argp.$$ + +unset ARGP_HELP_FMT +ERR=0 + +func_compare() { +# If argp was compiled without base_name, it will display full program name. +# If run on mingw, it will display the program name with a .exe suffix. + sed '1{ + s,: [^ ]*/test-argp,: test-argp, + s,: test-argp\.exe,: test-argp, + }' | LC_ALL=C tr -d '\r' | diff -c $TMP - +} + +#### +# Test --usage output +cat > $TMP <<EOT +Usage: test-argp [-tvCSOlp?V] [-f FILE] [-r FILE] [-o[ARG]] [--test] + [--file=FILE] [--input=FILE] [--read=FILE] [--verbose] [--cantiga] + [--sonet] [--option] [--optional[=ARG]] [--limerick] [--poem] + [--help] [--usage] [--version] ARGS... +EOT + +./test-argp$EXEEXT --usage | func_compare || ERR=1 + +#### +# Test working usage-indent format + +cat > $TMP <<EOT +Usage: test-argp [-tvCSOlp?V] [-f FILE] [-r FILE] [-o[ARG]] [--test] +[--file=FILE] [--input=FILE] [--read=FILE] [--verbose] [--cantiga] [--sonet] +[--option] [--optional[=ARG]] [--limerick] [--poem] [--help] [--usage] +[--version] ARGS... +EOT + +ARGP_HELP_FMT='usage-indent=0' ./test-argp$EXEEXT --usage | func_compare || ERR=1 + +#### +# Test --help output +cat >$TMP <<EOT +Usage: test-argp [OPTION...] ARGS... +documentation string + + Main options + -t, --test + + Option Group 1 + -f, -r, --file=FILE, --input=FILE, --read=FILE + Option with a mandatory argument + -v, --verbose Simple option without arguments + + Option Group 1.1 + -C, --cantiga create a cantiga + -S, --sonet create a sonet + + Option Group 2 + -O, --option An option + + -o, --optional[=ARG] Option with an optional argument. ARG is one of + the following: + + many many units + one one unit + two two units + + Option Group 2.1 + -l, --limerick create a limerick + -p, --poem create a poem + + -?, --help give this help list + --usage give a short usage message + -V, --version print program version + +Mandatory or optional arguments to long options are also mandatory or optional +for any corresponding short options. + +Report bugs to <>. +EOT + +# Compare --help output, but filter out any bug-reporting email address. +./test-argp$EXEEXT --help \ + | sed 's/^\(Report bugs to \)<[^>]*>.$/\1<>./' | func_compare || ERR=1 + +#### +# Test ambiguous option handling + +./test-argp$EXEEXT --optio 2>/dev/null && ERR=1 + +#### +# Run built-in tests +./test-argp$EXEEXT || ERR=1 + +rm $TMP + +exit $ERR |