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 17 function 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 31 tester align "test (1, 2, 3, 4, 5)" 32 tester basic "test (1, 2, 3, 4)" 33 tester big-struct-ret "test (1, 2, 3, 4)" 34 tester big-struct-ret-and-spill "test (1, 2, 3, 4, 5, 6, 7, 8)" 35 tester small-struct-ret "test (1, 2, 3, 4)" 36 tester small-struct-ret-and-spill "test (1, 2, 3, 4, 5, 6, 7, 8)" 37 tester stack-spill "test (1, 2, 3, 4, 5, 6, 7, 8)"