xref: /illumos-gate/usr/src/test/util-tests/cmd/utiltest.ksh (revision f34e64d88f694155255ac1c93990904dbfa28af3)
1#!/usr/bin/ksh
2
3#
4# This file and its contents are supplied under the terms of the
5# Common Development and Distribution License ("CDDL"), version 1.0.
6# You may only use this file in accordance with the terms of version
7# 1.0 of the CDDL.
8#
9# A full copy of the text of the CDDL should have accompanied this
10# source.  A copy of the CDDL is also available via the Internet at
11# http://www.illumos.org/license/CDDL.
12#
13
14#
15# Copyright (c) 2012 by Delphix. All rights reserved.
16# Copyright 2014, OmniTI Computer Consulting, Inc. All rights reserved.
17# Copyright 2014 Garrett D'Amore <garrett@damore.org>
18#
19
20export PATH="${PATH}:/opt/onbld/bin/$(uname -p)"
21export LC_ALL="C"
22export MY_TESTS="/opt/util-tests"
23runner="/opt/test-runner/bin/run"
24
25function fail
26{
27	echo $1
28	exit ${2:-1}
29}
30
31function find_runfile
32{
33	typeset distro=
34	if [[ -d /opt/delphix && -h /etc/delphix/version ]]; then
35		distro=delphix
36	elif [[ 0 -ne $(grep -c OpenIndiana /etc/release 2>/dev/null) ]]; then
37		distro=openindiana
38	elif [[ 0 -ne $(grep -c OmniOS /etc/release 2>/dev/null) ]]; then
39		distro=omnios
40	elif [[ -f $MY_TESTS/runfiles/default.run ]]; then
41		# optional catch-all
42		distro=default
43	fi
44
45	[[ -n $distro ]] && echo $MY_TESTS/runfiles/$distro.run
46}
47
48while getopts c: c; do
49	case $c in
50	'c')
51		runfile=$OPTARG
52		[[ -f $runfile ]] || fail "Cannot read file: $runfile"
53		;;
54	esac
55done
56shift $((OPTIND - 1))
57
58[[ -z $runfile ]] && runfile=$(find_runfile)
59[[ -z $runfile ]] && fail "Couldn't determine distro"
60
61$runner -c $runfile
62
63exit $?
64