12d4be7aaSRichard Lowe#! /usr/bin/ksh 22d4be7aaSRichard Lowe# 32d4be7aaSRichard Lowe# This file and its contents are supplied under the terms of the 42d4be7aaSRichard Lowe# Common Development and Distribution License ("CDDL"), version 1.0. 52d4be7aaSRichard Lowe# You may only use this file in accordance with the terms of version 62d4be7aaSRichard Lowe# 1.0 of the CDDL. 72d4be7aaSRichard Lowe# 82d4be7aaSRichard Lowe# A full copy of the text of the CDDL should have accompanied this 92d4be7aaSRichard Lowe# source. A copy of the CDDL is also available via the Internet at 102d4be7aaSRichard Lowe# http://www.illumos.org/license/CDDL. 112d4be7aaSRichard Lowe# 122d4be7aaSRichard Lowe 132d4be7aaSRichard Lowe# 142d4be7aaSRichard Lowe# Copyright 2012, Richard Lowe. 152d4be7aaSRichard Lowe# 162d4be7aaSRichard Lowe 172d4be7aaSRichard Lowefunction tester { 182d4be7aaSRichard Lowe prog=${1} 192d4be7aaSRichard Lowe pattern=${2} 202d4be7aaSRichard Lowe 212d4be7aaSRichard Lowe ./$prog >/dev/null & 222d4be7aaSRichard Lowe pid=$! 23*d2d52addSAlexander Pyhalov if (/usr/bin/amd64/pstack $pid | /usr/bin/grep -q "${pattern}"); then 242d4be7aaSRichard Lowe echo "pass: ${prog}" 252d4be7aaSRichard Lowe else 262d4be7aaSRichard Lowe echo "FAIL: ${prog}" 272d4be7aaSRichard Lowe fi 282d4be7aaSRichard Lowe kill $pid 292d4be7aaSRichard Lowe} 302d4be7aaSRichard Lowe 312d4be7aaSRichard Lowetester align "test (1, 2, 3, 4, 5)" 322d4be7aaSRichard Lowetester basic "test (1, 2, 3, 4)" 332d4be7aaSRichard Lowetester big-struct-ret "test (1, 2, 3, 4)" 342d4be7aaSRichard Lowetester big-struct-ret-and-spill "test (1, 2, 3, 4, 5, 6, 7, 8)" 352d4be7aaSRichard Lowetester small-struct-ret "test (1, 2, 3, 4)" 362d4be7aaSRichard Lowetester small-struct-ret-and-spill "test (1, 2, 3, 4, 5, 6, 7, 8)" 372d4be7aaSRichard Lowetester stack-spill "test (1, 2, 3, 4, 5, 6, 7, 8)" 38