1272343Sngie# $NetBSD: t_fdpass.sh,v 1.2 2012/08/16 08:39:43 martin Exp $ 2272343Sngie# 3272343Sngie# Copyright (c) 2012 The NetBSD Foundation, Inc. 4272343Sngie# All rights reserved. 5272343Sngie# 6272343Sngie# This code is derived from software contributed to The NetBSD Foundation 7272343Sngie# by Christos Zoulas 8272343Sngie# 9272343Sngie# Redistribution and use in source and binary forms, with or without 10272343Sngie# modification, are permitted provided that the following conditions 11272343Sngie# are met: 12272343Sngie# 1. Redistributions of source code must retain the above copyright 13272343Sngie# notice, this list of conditions and the following disclaimer. 14272343Sngie# 2. Redistributions in binary form must reproduce the above copyright 15272343Sngie# notice, this list of conditions and the following disclaimer in the 16272343Sngie# documentation and/or other materials provided with the distribution. 17272343Sngie# 18272343Sngie# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 19272343Sngie# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20272343Sngie# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21272343Sngie# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 22272343Sngie# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23272343Sngie# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24272343Sngie# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25272343Sngie# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26272343Sngie# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27272343Sngie# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28272343Sngie# POSSIBILITY OF SUCH DAMAGE. 29272343Sngie# 30272343Sngie 31272343Sngiehave32() { 32272343Sngie local src="$(atf_get_srcdir)" 33272343Sngie if cmp "${src}/fdpass64" "${src}/fdpass32" > /dev/null 34272343Sngie then 35272343Sngie # echo "no -m32 support" 36272343Sngie return 1 37272343Sngie else 38272343Sngie return 0 39272343Sngie fi 40272343Sngie} 41272343Sngie 42272343Sngieatf_test_case fdpass_normal 43272343Sngie 44272343Sngiefdpass_normal_head() { 45272343Sngie atf_set "descr" "Test file descriptor passing (default)" 46272343Sngie} 47272343Sngie 48272343Sngiefdpass_normal_body() { 49272343Sngie local src="$(atf_get_srcdir)" 50272343Sngie atf_check "${src}/fdpass64" 51272343Sngie} 52272343Sngie 53272343Sngie 54272343Sngieatf_test_case fdpass_compat 55272343Sngie 56272343Sngiefdpass_compat_head() { 57272343Sngie atf_set "descr" "Test file descriptor passing (compat)" 58272343Sngie} 59272343Sngie 60272343Sngiefdpass_compat_body() { 61272343Sngie local src="$(atf_get_srcdir)" 62272343Sngie have32 && atf_check "${src}/fdpass32" 63272343Sngie} 64272343Sngie 65272343Sngie 66272343Sngieatf_test_case fdpass_normal_compat 67272343Sngie 68272343Sngiefdpass_normal_compat_head() { 69272343Sngie atf_set "descr" "Test file descriptor passing (normal->compat)" 70272343Sngie} 71272343Sngie 72272343Sngiefdpass_normal_compat_body() { 73272343Sngie local src="$(atf_get_srcdir)" 74272343Sngie have32 && atf_check "${src}/fdpass64" -p "${src}/fdpass32" 75272343Sngie} 76272343Sngie 77272343Sngie 78272343Sngieatf_test_case fdpass_compat_normal 79272343Sngie 80272343Sngiefdpass_compat_normal_head() { 81272343Sngie atf_set "descr" "Test file descriptor passing (normal->compat)" 82272343Sngie} 83272343Sngie 84272343Sngiefdpass_compat_normal_body() { 85272343Sngie local src="$(atf_get_srcdir)" 86272343Sngie have32 && atf_check "${src}/fdpass32" -p "${src}/fdpass64" 87272343Sngie} 88272343Sngie 89272343Sngie 90272343Sngieatf_init_test_cases() 91272343Sngie{ 92272343Sngie atf_add_test_case fdpass_normal 93272343Sngie if have32 94272343Sngie then 95272343Sngie atf_add_test_case fdpass_compat 96272343Sngie atf_add_test_case fdpass_compat_normal 97272343Sngie atf_add_test_case fdpass_normal_compat 98272343Sngie fi 99272343Sngie} 100