#! /bin/sh
# nomode.test - check that we can actually get help
#
#   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
#   Written by Gary V. Vaughan, 2003
#
#   This file is part of GNU Libtool.
#
# GNU Libtool 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 2 of
# the License, or (at your option) any later version.
#
# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
# can be downloaded from  http://www.gnu.org/licenses/gpl.html,
# or obtained by writing to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
####

. tests/defs || exit 1

status=$EXIT_SUCCESS
if $LIBTOOL --help 2>&1 | grep '^Usage:' >/dev/null; then :
else
  echo "cannot get top-level help"
  status=$EXIT_FAILURE
fi

if $LIBTOOL --mode=link --help 2>&1 | grep '^Usage:' >/dev/null; then :
else
  echo "cannot get --mode=link help"
  status=$EXIT_FAILURE
fi

# The emoticon below works around a nasty bug in Ultrix /bin/sh
if ($LIBTOOL 2>&1; :) | grep 'you must specify a MODE' >/dev/null; then :
else
  echo "invalid error when no mode is specified"
  status=$EXIT_FAILURE
fi

exit $status
