xref: /titanic_53/usr/src/test/util-tests/tests/libsff/libsff.ksh (revision 59596c01ca1b980a016d25670874f53e64c27ec0)
1*59596c01SRobert Mustacchi#! /usr/bin/ksh
2*59596c01SRobert Mustacchi#
3*59596c01SRobert Mustacchi#
4*59596c01SRobert Mustacchi# This file and its contents are supplied under the terms of the
5*59596c01SRobert Mustacchi# Common Development and Distribution License ("CDDL"), version 1.0.
6*59596c01SRobert Mustacchi# You may only use this file in accordance with the terms of version
7*59596c01SRobert Mustacchi# 1.0 of the CDDL.
8*59596c01SRobert Mustacchi#
9*59596c01SRobert Mustacchi# A full copy of the text of the CDDL should have accompanied this
10*59596c01SRobert Mustacchi# source.  A copy of the CDDL is also available via the Internet at
11*59596c01SRobert Mustacchi# http://www.illumos.org/license/CDDL.
12*59596c01SRobert Mustacchi#
13*59596c01SRobert Mustacchi
14*59596c01SRobert Mustacchi#
15*59596c01SRobert Mustacchi# Copyright (c) 2017, Joyent, Inc.
16*59596c01SRobert Mustacchi#
17*59596c01SRobert Mustacchi
18*59596c01SRobert Mustacchi#
19*59596c01SRobert Mustacchi# Run all of the various libsff tests.
20*59596c01SRobert Mustacchi#
21*59596c01SRobert Mustacchi
22*59596c01SRobert Mustacchiunalias -a
23*59596c01SRobert Mustacchisff_arg0=$(basename $0)
24*59596c01SRobert Mustacchisff_origwd=
25*59596c01SRobert Mustacchisff_root=
26*59596c01SRobert Mustacchisff_tests="8472 br compliance conn enc ident lengths opts strings wave"
27*59596c01SRobert Mustacchisff_tests="$sff_tests 8636_diag 8636_extspec 8636_tech 8636_temp einval efault"
28*59596c01SRobert Mustacchisff_outfile="/tmp/$sff_arg0.out.$$"
29*59596c01SRobert Mustacchi
30*59596c01SRobert Mustacchifatal()
31*59596c01SRobert Mustacchi{
32*59596c01SRobert Mustacchi	typeset msg="$*"
33*59596c01SRobert Mustacchi	[[ -z "$msg" ]] && msg="failed"
34*59596c01SRobert Mustacchi	echo "TEST FAILED: $sff_arg0: $msg" >&2
35*59596c01SRobert Mustacchi	rm -f $sff_outfile
36*59596c01SRobert Mustacchi	exit 1
37*59596c01SRobert Mustacchi}
38*59596c01SRobert Mustacchi
39*59596c01SRobert Mustacchisff_origwd=$PWD
40*59596c01SRobert Mustacchicd $(dirname $0) || fatal "failed to cd to test root"
41*59596c01SRobert Mustacchisff_root=$PWD
42*59596c01SRobert Mustacchicd $dt_origwd || fatal "failed to return to original dir"
43*59596c01SRobert Mustacchi
44*59596c01SRobert Mustacchifor t in $sff_tests; do
45*59596c01SRobert Mustacchi	difffile=
46*59596c01SRobert Mustacchi	testfile=$sff_root/libsff_$t
47*59596c01SRobert Mustacchi
48*59596c01SRobert Mustacchi	if ! $testfile > $sff_outfile; then
49*59596c01SRobert Mustacchi		fatal "failed to run $testfile"
50*59596c01SRobert Mustacchi	fi
51*59596c01SRobert Mustacchi
52*59596c01SRobert Mustacchi	if [[ -f $testfile.out ]]; then
53*59596c01SRobert Mustacchi		if ! diff $testfile.out $sff_outfile >/dev/null; then
54*59596c01SRobert Mustacchi			fatal "$t results differ from expected values"
55*59596c01SRobert Mustacchi		fi
56*59596c01SRobert Mustacchi	fi
57*59596c01SRobert Mustacchi	printf "TEST PASSED: libsff_%s\n" $t
58*59596c01SRobert Mustacchidone
59*59596c01SRobert Mustacchi
60*59596c01SRobert Mustacchirm -f $sff_outfile || fatal "failed to remove output file"
61*59596c01SRobert Mustacchiexit 0
62