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