xref: /titanic_51/usr/src/test/os-tests/cmd/ostest.ksh (revision cf988fac1debd92859f8068ee3d3e53782043469)
1d583b39bSJohn Wren Kennedy#!/usr/bin/ksh
2d583b39bSJohn Wren Kennedy
3d583b39bSJohn Wren Kennedy#
4d583b39bSJohn Wren Kennedy# This file and its contents are supplied under the terms of the
5d583b39bSJohn Wren Kennedy# Common Development and Distribution License ("CDDL"), version 1.0.
6d583b39bSJohn Wren Kennedy# You may only use this file in accordance with the terms of version
7d583b39bSJohn Wren Kennedy# 1.0 of the CDDL.
8d583b39bSJohn Wren Kennedy#
9d583b39bSJohn Wren Kennedy# A full copy of the text of the CDDL should have accompanied this
10d583b39bSJohn Wren Kennedy# source.  A copy of the CDDL is also available via the Internet at
11d583b39bSJohn Wren Kennedy# http://www.illumos.org/license/CDDL.
12d583b39bSJohn Wren Kennedy#
13d583b39bSJohn Wren Kennedy
14d583b39bSJohn Wren Kennedy#
15d583b39bSJohn Wren Kennedy# Copyright (c) 2012 by Delphix. All rights reserved.
16*cf988facSDan McDonald# Copyright 2014, OmniTI Computer Consulting, Inc. All rights reserved.
17d583b39bSJohn Wren Kennedy#
18d583b39bSJohn Wren Kennedy
19d583b39bSJohn Wren Kennedyexport OS_TESTS="/opt/os-tests"
20d583b39bSJohn Wren Kennedyrunner="/opt/test-runner/bin/run"
21d583b39bSJohn Wren Kennedy
22d583b39bSJohn Wren Kennedyfunction fail
23d583b39bSJohn Wren Kennedy{
24d583b39bSJohn Wren Kennedy	echo $1
25d583b39bSJohn Wren Kennedy	exit ${2:-1}
26d583b39bSJohn Wren Kennedy}
27d583b39bSJohn Wren Kennedy
28d583b39bSJohn Wren Kennedyfunction find_runfile
29d583b39bSJohn Wren Kennedy{
30d583b39bSJohn Wren Kennedy	typeset distro=
31d583b39bSJohn Wren Kennedy	if [[ -d /opt/delphix && -h /etc/delphix/version ]]; then
32d583b39bSJohn Wren Kennedy		distro=delphix
33d583b39bSJohn Wren Kennedy	elif [[ 0 -ne $(grep -c OpenIndiana /etc/release 2>/dev/null) ]]; then
34d583b39bSJohn Wren Kennedy		distro=openindiana
35*cf988facSDan McDonald	elif [[ 0 -ne $(grep -c OmniOS /etc/release 2>/dev/null) ]]; then
36*cf988facSDan McDonald		distro=omnios
37d583b39bSJohn Wren Kennedy	fi
38d583b39bSJohn Wren Kennedy
39d583b39bSJohn Wren Kennedy	[[ -n $distro ]] && echo $OS_TESTS/runfiles/$distro.run
40d583b39bSJohn Wren Kennedy}
41d583b39bSJohn Wren Kennedy
42d583b39bSJohn Wren Kennedywhile getopts c: c; do
43d583b39bSJohn Wren Kennedy	case $c in
44d583b39bSJohn Wren Kennedy	'c')
45d583b39bSJohn Wren Kennedy		runfile=$OPTARG
46d583b39bSJohn Wren Kennedy		[[ -f $runfile ]] || fail "Cannot read file: $runfile"
47d583b39bSJohn Wren Kennedy		;;
48d583b39bSJohn Wren Kennedy	esac
49d583b39bSJohn Wren Kennedydone
50d583b39bSJohn Wren Kennedyshift $((OPTIND - 1))
51d583b39bSJohn Wren Kennedy
52d583b39bSJohn Wren Kennedy[[ -z $runfile ]] && runfile=$(find_runfile)
53d583b39bSJohn Wren Kennedy[[ -z $runfile ]] && fail "Couldn't determine distro"
54d583b39bSJohn Wren Kennedy
55d583b39bSJohn Wren Kennedy$runner -c $runfile
56d583b39bSJohn Wren Kennedy
57d583b39bSJohn Wren Kennedyexit $?
58