view usr/src/lib/libsaveargs/tests/functional/test.sh @ 13989:c97356b78587

3544 save-args matcher could be considerably more robust 3545 save-args matcher should accept saves may be out-of-order Reviewed by: Joshua M. Clulow <josh@sysmgr.org> Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Albert Lee <trisk@nexenta.com> Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com> Approved by: Gordon Ross <gwr@nexenta.com>
author Richard Lowe <richlowe@richlowe.net>
date Sat, 09 Feb 2013 17:21:16 -0500
parents
children
line wrap: on
line source

#! /usr/bin/ksh
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#

#
# Copyright 2012, Richard Lowe.
#

function tester {
    prog=${1}
    pattern=${2}

    ./$prog >/dev/null &
    pid=$!
    if (/usr/bin/amd64/pstack $pid | /usr/xpg4/bin/grep -q "${pattern}"); then
        echo "pass: ${prog}"
    else
        echo "FAIL: ${prog}"
    fi
    kill $pid
}

tester align "test (1, 2, 3, 4, 5)"
tester basic "test (1, 2, 3, 4)"
tester big-struct-ret "test (1, 2, 3, 4)"
tester big-struct-ret-and-spill "test (1, 2, 3, 4, 5, 6, 7, 8)"
tester small-struct-ret "test (1, 2, 3, 4)"
tester small-struct-ret-and-spill "test (1, 2, 3, 4, 5, 6, 7, 8)"
tester stack-spill "test (1, 2, 3, 4, 5, 6, 7, 8)"