t_execsnoop.sh revision 1.1
11.1Sjruoho# $NetBSD: t_execsnoop.sh,v 1.1 2020/06/30 14:30:49 jruoho Exp $ 21.1Sjruoho# 31.1Sjruoho# Copyright (c) 2020 The NetBSD Foundation, Inc. 41.1Sjruoho# All rights reserved. 51.1Sjruoho# 61.1Sjruoho# This code is derived from software contributed to The NetBSD Foundation 71.1Sjruoho# by Jukka Ruohonen. 81.1Sjruoho# 91.1Sjruoho# Redistribution and use in source and binary forms, with or without 101.1Sjruoho# modification, are permitted provided that the following conditions 111.1Sjruoho# are met: 121.1Sjruoho# 1. Redistributions of source code must retain the above copyright 131.1Sjruoho# notice, this list of conditions and the following disclaimer. 141.1Sjruoho# 2. Redistributions in binary form must reproduce the above copyright 151.1Sjruoho# notice, this list of conditions and the following disclaimer in the 161.1Sjruoho# documentation and/or other materials provided with the distribution. 171.1Sjruoho# 181.1Sjruoho# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 191.1Sjruoho# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 201.1Sjruoho# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 211.1Sjruoho# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 221.1Sjruoho# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 231.1Sjruoho# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 241.1Sjruoho# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 251.1Sjruoho# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 261.1Sjruoho# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 271.1Sjruoho# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 281.1Sjruoho# POSSIBILITY OF SUCH DAMAGE. 291.1Sjruoho# 301.1Sjruohotmp="/tmp/execsnoop" 311.1Sjruoho 321.1Sjruohoatf_test_case basic cleanup 331.1Sjruohobasic_head() { 341.1Sjruoho atf_set "require.user" "root" 351.1Sjruoho atf_set "require.progs" "execsnoop" 361.1Sjruoho atf_set "descr" "Test that DTrace's execsnoop works (cf. kern/53417)" 371.1Sjruoho} 381.1Sjruoho 391.1Sjruohobasic_body() { 401.1Sjruoho 411.1Sjruoho n=10 421.1Sjruoho atf_check -s exit:0 -o ignore -e empty -x "execsnoop > $tmp &" 431.1Sjruoho sleep 1 441.1Sjruoho 451.1Sjruoho while [ $n -gt 0 ]; do 461.1Sjruoho whoami 471.1Sjruoho n=$(expr $n - 1) 481.1Sjruoho done 491.1Sjruoho 501.1Sjruoho sleep 1 511.1Sjruoho pkill -9 execsnoop 521.1Sjruoho 531.1Sjruoho if [ ! $(cat $tmp | grep "whoami" | wc -l) -eq 10 ]; then 541.1Sjruoho atf_fail "execsnoop does not work" 551.1Sjruoho fi 561.1Sjruoho 571.1Sjruoho atf_pass 581.1Sjruoho} 591.1Sjruoho 601.1Sjruohobasic_cleanup() { 611.1Sjruoho 621.1Sjruoho if [ -f $tmp ]; then 631.1Sjruoho rm $tmp 641.1Sjruoho fi 651.1Sjruoho} 661.1Sjruoho 671.1Sjruohoatf_init_test_cases() { 681.1Sjruoho atf_add_test_case basic 691.1Sjruoho} 70