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