1#! /usr/bin/ksh 2# 3# This file and its contents are supplied under the terms of the 4# Common Development and Distribution License ("CDDL"), version 1.0. 5# You may only use this file in accordance with the terms of version 6# 1.0 of the CDDL. 7# 8# A full copy of the text of the CDDL should have accompanied this 9# source. A copy of the CDDL is also available via the Internet at 10# http://www.illumos.org/license/CDDL. 11# 12 13# 14# Copyright 2012, Richard Lowe. 15# 16 17function tester { 18 prog=${1} 19 pattern=${2} 20 21 ./$prog >/dev/null & 22 pid=$! 23 if (/usr/bin/amd64/pstack $pid | /usr/xpg4/bin/grep -q "${pattern}"); then 24 echo "pass: ${prog}" 25 else 26 echo "FAIL: ${prog}" 27 fi 28 kill $pid 29} 30 31tester align "test (1, 2, 3, 4, 5)" 32tester basic "test (1, 2, 3, 4)" 33tester big-struct-ret "test (1, 2, 3, 4)" 34tester big-struct-ret-and-spill "test (1, 2, 3, 4, 5, 6, 7, 8)" 35tester small-struct-ret "test (1, 2, 3, 4)" 36tester small-struct-ret-and-spill "test (1, 2, 3, 4, 5, 6, 7, 8)" 37tester stack-spill "test (1, 2, 3, 4, 5, 6, 7, 8)" 38