Mercurial > hg > octave-lojdl > gnulib-hg
view tests/test-argp-2.sh @ 17149:a49df7b88261
errno: port to LynxOS 178 2.2.2
Problem reported by Joel Brobecker in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
* doc/posix-headers/errno.texi (errno.h): Document this.
* lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
* lib/strerror-override.c, lib/strerror-override.h (strerror_override):
Supply a string for EILSEQ.
* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Thu, 01 Nov 2012 15:29:14 -0700 |
parents | 8250f2777afc |
children | e542fd46ad6f |
line wrap: on
line source
#! /bin/sh # Test suite for argp. # Copyright (C) 2006-2012 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