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