xref: /titanic_52/usr/src/test/util-tests/cmd/utiltest.ksh (revision a29e56d91db891741f1af9f6bbd3e3c3cac5f19b)
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 MY_TESTS="/opt/util-tests"
21runner="/opt/test-runner/bin/run"
22
23function fail
24{
25	echo $1
26	exit ${2:-1}
27}
28
29function find_runfile
30{
31	typeset distro=
32	if [[ -d /opt/delphix && -h /etc/delphix/version ]]; then
33		distro=delphix
34	elif [[ 0 -ne $(grep -c OpenIndiana /etc/release 2>/dev/null) ]]; then
35		distro=openindiana
36	elif [[ 0 -ne $(grep -c OmniOS /etc/release 2>/dev/null) ]]; then
37		distro=omnios
38	elif [[ -f $MY_TESTS/runfiles/default.run ]]; then
39		# optional catch-all
40		distro=default
41	fi
42
43	[[ -n $distro ]] && echo $MY_TESTS/runfiles/$distro.run
44}
45
46while getopts c: c; do
47	case $c in
48	'c')
49		runfile=$OPTARG
50		[[ -f $runfile ]] || fail "Cannot read file: $runfile"
51		;;
52	esac
53done
54shift $((OPTIND - 1))
55
56[[ -z $runfile ]] && runfile=$(find_runfile)
57[[ -z $runfile ]] && fail "Couldn't determine distro"
58
59$runner -c $runfile
60
61exit $?
62