1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 3*4882a593Smuzhiyun# description: Test creation and deletion of trace instances 4*4882a593Smuzhiyun# requires: instances 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunfail() { # mesg 7*4882a593Smuzhiyun rmdir x y z 2>/dev/null 8*4882a593Smuzhiyun echo $1 9*4882a593Smuzhiyun set -e 10*4882a593Smuzhiyun exit_fail 11*4882a593Smuzhiyun} 12*4882a593Smuzhiyun 13*4882a593Smuzhiyuncd instances 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun# we don't want to fail on error 16*4882a593Smuzhiyunset +e 17*4882a593Smuzhiyun 18*4882a593Smuzhiyunmkdir x 19*4882a593Smuzhiyunrmdir x 20*4882a593Smuzhiyunresult=$? 21*4882a593Smuzhiyun 22*4882a593Smuzhiyunif [ $result -ne 0 ]; then 23*4882a593Smuzhiyun echo "instance rmdir not supported" 24*4882a593Smuzhiyun exit_unsupported 25*4882a593Smuzhiyunfi 26*4882a593Smuzhiyun 27*4882a593Smuzhiyuninstance_slam() { 28*4882a593Smuzhiyun while :; do 29*4882a593Smuzhiyun mkdir x 30*4882a593Smuzhiyun mkdir y 31*4882a593Smuzhiyun mkdir z 32*4882a593Smuzhiyun rmdir x 33*4882a593Smuzhiyun rmdir y 34*4882a593Smuzhiyun rmdir z 35*4882a593Smuzhiyun done 2>/dev/null 36*4882a593Smuzhiyun} 37*4882a593Smuzhiyun 38*4882a593Smuzhiyuninstance_slam & 39*4882a593Smuzhiyunp1=$! 40*4882a593Smuzhiyunecho $p1 41*4882a593Smuzhiyun 42*4882a593Smuzhiyuninstance_slam & 43*4882a593Smuzhiyunp2=$! 44*4882a593Smuzhiyunecho $p2 45*4882a593Smuzhiyun 46*4882a593Smuzhiyuninstance_slam & 47*4882a593Smuzhiyunp3=$! 48*4882a593Smuzhiyunecho $p3 49*4882a593Smuzhiyun 50*4882a593Smuzhiyuninstance_slam & 51*4882a593Smuzhiyunp4=$! 52*4882a593Smuzhiyunecho $p4 53*4882a593Smuzhiyun 54*4882a593Smuzhiyuninstance_slam & 55*4882a593Smuzhiyunp5=$! 56*4882a593Smuzhiyunecho $p5 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunls -lR >/dev/null 59*4882a593Smuzhiyunsleep 1 60*4882a593Smuzhiyun 61*4882a593Smuzhiyunkill -1 $p1 62*4882a593Smuzhiyunkill -1 $p2 63*4882a593Smuzhiyunkill -1 $p3 64*4882a593Smuzhiyunkill -1 $p4 65*4882a593Smuzhiyunkill -1 $p5 66*4882a593Smuzhiyun 67*4882a593Smuzhiyunecho "Wait for processes to finish" 68*4882a593Smuzhiyunwait $p1 $p2 $p3 $p4 $p5 69*4882a593Smuzhiyunecho "all processes finished, wait for cleanup" 70*4882a593Smuzhiyun 71*4882a593Smuzhiyunmkdir x y z 72*4882a593Smuzhiyunls x y z 73*4882a593Smuzhiyunrmdir x y z 74*4882a593Smuzhiyunfor d in x y z; do 75*4882a593Smuzhiyun if [ -d $d ]; then 76*4882a593Smuzhiyun fail "instance $d still exists" 77*4882a593Smuzhiyun fi 78*4882a593Smuzhiyundone 79*4882a593Smuzhiyun 80*4882a593Smuzhiyunset -e 81*4882a593Smuzhiyun 82*4882a593Smuzhiyunexit 0 83