1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
#! /bin/sh
# -*- Mode: Sh -*-
# ----------------------------------------------------------------------
# dprintf-test --- test the dprintf api
#
# Author: Gary V. Vaughan <gvv@techie.com>
# Maintainer: Gary V. Vaughan <gvv@techie.com>
# Created: Thu Jul 08 10:02:26 1999
# Last Modified: Wed Jul 14 15:07:21 1999
# by: Gary V. Vaughan <gvv@techie.com>
# ----------------------------------------------------------------------
# @(#) $Id: dprintf-test,v 1.3 2000/07/27 15:46:01 bkorb Exp $
# ----------------------------------------------------------------------
# Copyright (C) 1999 Gary V. Vaughan
#
# 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 2 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; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that also links with and
# uses the libopts library from AutoGen, you may include it under
# the same distribution terms used by the libopts library.
# Code:
# Common definitions
if test -z "$srcdir"; then
srcdir=`echo "$0" | sed 's,[^/]*$,,'`
test "$srcdir" = "$0" && srcdir=.
test -z "$srcdir" && srcdir=.
test "${VERBOSE+set}" != set && VERBOSE=1
fi
. $srcdir/defs
# this is the output we should expect to see
cat <<\EOF >ok
1 string
*** dprintfv returned 8 chars.
2 string
*** dprintfv returned 8 chars.
3 string
*** dprintfv returned 8 chars.
EOF
cat <<\EOF >errok
EOF
# Run the test saving stderr to a file, and showing stdout if VERBOSE == 1
$SNPRINTFV -f dprintfv '1 string' 2>> err | tee -ai out >&2
$SNPRINTFV -f dprintfv '2 %s' string 2>> err | tee -ai out >&2
$SNPRINTFV -f dprintfv '3 %s%s' str ing 2>> err | tee -ai out >&2
# Test against expected output
if ${CMP} -s out ok; then
:
else
echo "ok:" >&2
cat ok >&2
exit 1
fi
# Munge error output to remove leading directories, `lt-' or trailing `.exe'
sed -e "s,^[^:]*[lt-]*snprintfv-test[.ex]*:,snprintfv-test:," err >sederr \
&& mv sederr err
# Show stderr if doesn't match expected output if VERBOSE == 1
if "$CMP" -s err errok; then
:
else
echo "err:" >&2
cat err >&2
echo "errok:" >&2
cat errok >&2
exit 1
fi
# dprintf-test ends here
|