#! /bin/sh # Test suite for argp. # Copyright (C) 2006-2023 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 . */ . "${srcdir=.}/init.sh"; path_prepend_ . ERR=0 unset ARGP_HELP_FMT 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' > out compare expected out } #### # Test --usage output cat > expected < expected <expected <. EOT # Compare --help output, but filter out any bug-reporting email address. ${CHECKER} test-argp${EXEEXT} --help \ | sed 's/^\(Report bugs to \)<[^>]*>.$/\1<>./' | func_compare || ERR=1 #### # Test ambiguous option handling ${CHECKER} test-argp${EXEEXT} --optio 2>/dev/null && ERR=1 #### # Run built-in tests ${CHECKER} test-argp${EXEEXT} || ERR=1 Exit $ERR