xref: /illumos-gate/usr/src/test/libsec-tests/cmd/libsectest.ksh (revision 42920ac8f798accb1375a7faa38ddefa674abf63)
1*42920ac8SGordon Ross#!/usr/bin/ksh
2*42920ac8SGordon Ross
3*42920ac8SGordon Ross#
4*42920ac8SGordon Ross# This file and its contents are supplied under the terms of the
5*42920ac8SGordon Ross# Common Development and Distribution License ("CDDL"), version 1.0.
6*42920ac8SGordon Ross# You may only use this file in accordance with the terms of version
7*42920ac8SGordon Ross# 1.0 of the CDDL.
8*42920ac8SGordon Ross#
9*42920ac8SGordon Ross# A full copy of the text of the CDDL should have accompanied this
10*42920ac8SGordon Ross# source.  A copy of the CDDL is also available via the Internet at
11*42920ac8SGordon Ross# http://www.illumos.org/license/CDDL.
12*42920ac8SGordon Ross#
13*42920ac8SGordon Ross
14*42920ac8SGordon Ross#
15*42920ac8SGordon Ross# Copyright 2019 Joyent, Inc.
16*42920ac8SGordon Ross# Copyright 2024 RackTop Systems, Inc.
17*42920ac8SGordon Ross#
18*42920ac8SGordon Ross
19*42920ac8SGordon Rossexport LIBSEC_TESTS="/opt/libsec-tests"
20*42920ac8SGordon Rossrunner="/opt/test-runner/bin/run"
21*42920ac8SGordon Ross
22*42920ac8SGordon Rossfunction fail
23*42920ac8SGordon Ross{
24*42920ac8SGordon Ross	echo $1 >&2
25*42920ac8SGordon Ross	exit ${2:-1}
26*42920ac8SGordon Ross}
27*42920ac8SGordon Ross
28*42920ac8SGordon Rossfunction find_runfile
29*42920ac8SGordon Ross{
30*42920ac8SGordon Ross	typeset distro=
31*42920ac8SGordon Ross	if [[ -f $LIBSEC_TESTS/runfiles/default.run ]]; then
32*42920ac8SGordon Ross		distro=default
33*42920ac8SGordon Ross	fi
34*42920ac8SGordon Ross
35*42920ac8SGordon Ross	[[ -n $distro ]] && echo $LIBSEC_TESTS/runfiles/$distro.run
36*42920ac8SGordon Ross}
37*42920ac8SGordon Ross
38*42920ac8SGordon Rosswhile getopts c: c; do
39*42920ac8SGordon Ross	case $c in
40*42920ac8SGordon Ross	'c')
41*42920ac8SGordon Ross		runfile=$OPTARG
42*42920ac8SGordon Ross		[[ -f $runfile ]] || fail "Cannot read file: $runfile"
43*42920ac8SGordon Ross		;;
44*42920ac8SGordon Ross	esac
45*42920ac8SGordon Rossdone
46*42920ac8SGordon Rossshift $((OPTIND - 1))
47*42920ac8SGordon Ross
48*42920ac8SGordon Ross[[ -z $runfile ]] && runfile=$(find_runfile)
49*42920ac8SGordon Ross[[ -z $runfile ]] && fail "Couldn't determine distro"
50*42920ac8SGordon Ross
51*42920ac8SGordon Ross$runner -c $runfile
52*42920ac8SGordon Ross
53*42920ac8SGordon Rossexit $?
54