xref: /titanic_41/usr/src/test/libc-tests/cmd/libctest.ksh (revision 3ecb07e488de89fd5a51a630f598c1e8f7542ff7)
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/libc-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	fi
39
40	if [[ ! -f $MY_TESTS/runfiles/$distro.run ]] && \
41	   [[ -f $MY_TESTS/runfiles/default.run ]]; then
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