13cbd6a43SSteven Rostedt (Red Hat)#!/bin/sh 23cbd6a43SSteven Rostedt (Red Hat)# description: Test creation and deletion of trace instances 33cbd6a43SSteven Rostedt (Red Hat) 43cbd6a43SSteven Rostedt (Red Hat)if [ ! -d instances ] ; then 53cbd6a43SSteven Rostedt (Red Hat) echo "no instance directory with this kernel" 63cbd6a43SSteven Rostedt (Red Hat) exit_unsupported; 73cbd6a43SSteven Rostedt (Red Hat)fi 83cbd6a43SSteven Rostedt (Red Hat) 93cbd6a43SSteven Rostedt (Red Hat)fail() { # mesg 103cbd6a43SSteven Rostedt (Red Hat) rmdir x y z 2>/dev/null 113cbd6a43SSteven Rostedt (Red Hat) echo $1 123cbd6a43SSteven Rostedt (Red Hat) set -e 133cbd6a43SSteven Rostedt (Red Hat) exit $FAIL 143cbd6a43SSteven Rostedt (Red Hat)} 153cbd6a43SSteven Rostedt (Red Hat) 163cbd6a43SSteven Rostedt (Red Hat)cd instances 173cbd6a43SSteven Rostedt (Red Hat) 183cbd6a43SSteven Rostedt (Red Hat)# we don't want to fail on error 193cbd6a43SSteven Rostedt (Red Hat)set +e 203cbd6a43SSteven Rostedt (Red Hat) 213cbd6a43SSteven Rostedt (Red Hat)mkdir x 223cbd6a43SSteven Rostedt (Red Hat)rmdir x 233cbd6a43SSteven Rostedt (Red Hat)result=$? 243cbd6a43SSteven Rostedt (Red Hat) 253cbd6a43SSteven Rostedt (Red Hat)if [ $result -ne 0 ]; then 263cbd6a43SSteven Rostedt (Red Hat) echo "instance rmdir not supported" 273cbd6a43SSteven Rostedt (Red Hat) exit_unsupported 283cbd6a43SSteven Rostedt (Red Hat)fi 293cbd6a43SSteven Rostedt (Red Hat) 303cbd6a43SSteven Rostedt (Red Hat)instance_slam() { 313cbd6a43SSteven Rostedt (Red Hat) while :; do 323cbd6a43SSteven Rostedt (Red Hat) mkdir x 333cbd6a43SSteven Rostedt (Red Hat) mkdir y 343cbd6a43SSteven Rostedt (Red Hat) mkdir z 353cbd6a43SSteven Rostedt (Red Hat) rmdir x 363cbd6a43SSteven Rostedt (Red Hat) rmdir y 373cbd6a43SSteven Rostedt (Red Hat) rmdir z 383cbd6a43SSteven Rostedt (Red Hat) done 2>/dev/null 393cbd6a43SSteven Rostedt (Red Hat)} 403cbd6a43SSteven Rostedt (Red Hat) 413cbd6a43SSteven Rostedt (Red Hat)instance_slam & 423cbd6a43SSteven Rostedt (Red Hat)x=`jobs -l` 433cbd6a43SSteven Rostedt (Red Hat)p1=`echo $x | cut -d' ' -f2` 443cbd6a43SSteven Rostedt (Red Hat)echo $p1 453cbd6a43SSteven Rostedt (Red Hat) 463cbd6a43SSteven Rostedt (Red Hat)instance_slam & 473cbd6a43SSteven Rostedt (Red Hat)x=`jobs -l | tail -1` 483cbd6a43SSteven Rostedt (Red Hat)p2=`echo $x | cut -d' ' -f2` 493cbd6a43SSteven Rostedt (Red Hat)echo $p2 503cbd6a43SSteven Rostedt (Red Hat) 513cbd6a43SSteven Rostedt (Red Hat)instance_slam & 523cbd6a43SSteven Rostedt (Red Hat)x=`jobs -l | tail -1` 533cbd6a43SSteven Rostedt (Red Hat)p3=`echo $x | cut -d' ' -f2` 543cbd6a43SSteven Rostedt (Red Hat)echo $p3 553cbd6a43SSteven Rostedt (Red Hat) 563cbd6a43SSteven Rostedt (Red Hat)instance_slam & 573cbd6a43SSteven Rostedt (Red Hat)x=`jobs -l | tail -1` 583cbd6a43SSteven Rostedt (Red Hat)p4=`echo $x | cut -d' ' -f2` 593cbd6a43SSteven Rostedt (Red Hat)echo $p4 603cbd6a43SSteven Rostedt (Red Hat) 613cbd6a43SSteven Rostedt (Red Hat)instance_slam & 623cbd6a43SSteven Rostedt (Red Hat)x=`jobs -l | tail -1` 633cbd6a43SSteven Rostedt (Red Hat)p5=`echo $x | cut -d' ' -f2` 643cbd6a43SSteven Rostedt (Red Hat)echo $p5 653cbd6a43SSteven Rostedt (Red Hat) 663cbd6a43SSteven Rostedt (Red Hat)ls -lR >/dev/null 673cbd6a43SSteven Rostedt (Red Hat)sleep 1 683cbd6a43SSteven Rostedt (Red Hat) 693cbd6a43SSteven Rostedt (Red Hat)kill -1 $p1 703cbd6a43SSteven Rostedt (Red Hat)kill -1 $p2 713cbd6a43SSteven Rostedt (Red Hat)kill -1 $p3 723cbd6a43SSteven Rostedt (Red Hat)kill -1 $p4 733cbd6a43SSteven Rostedt (Red Hat)kill -1 $p5 743cbd6a43SSteven Rostedt (Red Hat) 753cbd6a43SSteven Rostedt (Red Hat)echo "Wait for processes to finish" 763cbd6a43SSteven Rostedt (Red Hat)wait $p1 $p2 $p3 $p4 $p5 773cbd6a43SSteven Rostedt (Red Hat)echo "all processes finished, wait for cleanup" 783cbd6a43SSteven Rostedt (Red Hat) 793cbd6a43SSteven Rostedt (Red Hat)mkdir x y z 803cbd6a43SSteven Rostedt (Red Hat)ls x y z 813cbd6a43SSteven Rostedt (Red Hat)rmdir x y z 823cbd6a43SSteven Rostedt (Red Hat)for d in x y z; do 833cbd6a43SSteven Rostedt (Red Hat) if [ -d $d ]; then 843cbd6a43SSteven Rostedt (Red Hat) fail "instance $d still exists" 853cbd6a43SSteven Rostedt (Red Hat) fi 863cbd6a43SSteven Rostedt (Red Hat)done 873cbd6a43SSteven Rostedt (Red Hat) 883cbd6a43SSteven Rostedt (Red Hat)set -e 893cbd6a43SSteven Rostedt (Red Hat) 903cbd6a43SSteven Rostedt (Red Hat)exit 0 91