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	fi
41
42	if [[ ! -f $MY_TESTS/runfiles/$distro.run ]] && \
43	   [[ -f $MY_TESTS/runfiles/default.run ]]; then
44		distro=default
45	fi
46
47	[[ -n $distro ]] && echo $MY_TESTS/runfiles/$distro.run
48}
49
50while getopts c: c; do
51	case $c in
52	'c')
53		runfile=$OPTARG
54		[[ -f $runfile ]] || fail "Cannot read file: $runfile"
55		;;
56	esac
57done
58shift $((OPTIND - 1))
59
60[[ -z $runfile ]] && runfile=$(find_runfile)
61[[ -z $runfile ]] && fail "Couldn't determine distro"
62
63$runner -c $runfile
64
65exit $?
66