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 43591e90fSMasami Hiramatsu# requires: instances 53cbd6a43SSteven Rostedt (Red Hat) 63cbd6a43SSteven Rostedt (Red Hat)fail() { # mesg 73cbd6a43SSteven Rostedt (Red Hat) rmdir x y z 2>/dev/null 83cbd6a43SSteven Rostedt (Red Hat) echo $1 93cbd6a43SSteven Rostedt (Red Hat) set -e 1042534b1fSMasami Hiramatsu exit_fail 113cbd6a43SSteven Rostedt (Red Hat)} 123cbd6a43SSteven Rostedt (Red Hat) 133cbd6a43SSteven Rostedt (Red Hat)cd instances 143cbd6a43SSteven Rostedt (Red Hat) 153cbd6a43SSteven Rostedt (Red Hat)# we don't want to fail on error 163cbd6a43SSteven Rostedt (Red Hat)set +e 173cbd6a43SSteven Rostedt (Red Hat) 183cbd6a43SSteven Rostedt (Red Hat)mkdir x 193cbd6a43SSteven Rostedt (Red Hat)rmdir x 203cbd6a43SSteven Rostedt (Red Hat)result=$? 213cbd6a43SSteven Rostedt (Red Hat) 223cbd6a43SSteven Rostedt (Red Hat)if [ $result -ne 0 ]; then 233cbd6a43SSteven Rostedt (Red Hat) echo "instance rmdir not supported" 243cbd6a43SSteven Rostedt (Red Hat) exit_unsupported 253cbd6a43SSteven Rostedt (Red Hat)fi 263cbd6a43SSteven Rostedt (Red Hat) 273cbd6a43SSteven Rostedt (Red Hat)instance_slam() { 283cbd6a43SSteven Rostedt (Red Hat) while :; do 293cbd6a43SSteven Rostedt (Red Hat) mkdir x 303cbd6a43SSteven Rostedt (Red Hat) mkdir y 313cbd6a43SSteven Rostedt (Red Hat) mkdir z 323cbd6a43SSteven Rostedt (Red Hat) rmdir x 333cbd6a43SSteven Rostedt (Red Hat) rmdir y 343cbd6a43SSteven Rostedt (Red Hat) rmdir z 353cbd6a43SSteven Rostedt (Red Hat) done 2>/dev/null 363cbd6a43SSteven Rostedt (Red Hat)} 373cbd6a43SSteven Rostedt (Red Hat) 383cbd6a43SSteven Rostedt (Red Hat)instance_slam & 399a154c89SSteven Rostedtp1=$! 403cbd6a43SSteven Rostedt (Red Hat)echo $p1 413cbd6a43SSteven Rostedt (Red Hat) 423cbd6a43SSteven Rostedt (Red Hat)instance_slam & 439a154c89SSteven Rostedtp2=$! 443cbd6a43SSteven Rostedt (Red Hat)echo $p2 453cbd6a43SSteven Rostedt (Red Hat) 463cbd6a43SSteven Rostedt (Red Hat)instance_slam & 479a154c89SSteven Rostedtp3=$! 483cbd6a43SSteven Rostedt (Red Hat)echo $p3 493cbd6a43SSteven Rostedt (Red Hat) 503cbd6a43SSteven Rostedt (Red Hat)instance_slam & 519a154c89SSteven Rostedtp4=$! 523cbd6a43SSteven Rostedt (Red Hat)echo $p4 533cbd6a43SSteven Rostedt (Red Hat) 543cbd6a43SSteven Rostedt (Red Hat)instance_slam & 559a154c89SSteven Rostedtp5=$! 563cbd6a43SSteven Rostedt (Red Hat)echo $p5 573cbd6a43SSteven Rostedt (Red Hat) 583cbd6a43SSteven Rostedt (Red Hat)ls -lR >/dev/null 593cbd6a43SSteven Rostedt (Red Hat)sleep 1 603cbd6a43SSteven Rostedt (Red Hat) 613cbd6a43SSteven Rostedt (Red Hat)kill -1 $p1 623cbd6a43SSteven Rostedt (Red Hat)kill -1 $p2 633cbd6a43SSteven Rostedt (Red Hat)kill -1 $p3 643cbd6a43SSteven Rostedt (Red Hat)kill -1 $p4 653cbd6a43SSteven Rostedt (Red Hat)kill -1 $p5 663cbd6a43SSteven Rostedt (Red Hat) 673cbd6a43SSteven Rostedt (Red Hat)echo "Wait for processes to finish" 683cbd6a43SSteven Rostedt (Red Hat)wait $p1 $p2 $p3 $p4 $p5 693cbd6a43SSteven Rostedt (Red Hat)echo "all processes finished, wait for cleanup" 703cbd6a43SSteven Rostedt (Red Hat) 713cbd6a43SSteven Rostedt (Red Hat)mkdir x y z 723cbd6a43SSteven Rostedt (Red Hat)ls x y z 733cbd6a43SSteven Rostedt (Red Hat)rmdir x y z 743cbd6a43SSteven Rostedt (Red Hat)for d in x y z; do 753cbd6a43SSteven Rostedt (Red Hat) if [ -d $d ]; then 763cbd6a43SSteven Rostedt (Red Hat) fail "instance $d still exists" 773cbd6a43SSteven Rostedt (Red Hat) fi 783cbd6a43SSteven Rostedt (Red Hat)done 793cbd6a43SSteven Rostedt (Red Hat) 803cbd6a43SSteven Rostedt (Red Hat)set -e 813cbd6a43SSteven Rostedt (Red Hat) 823cbd6a43SSteven Rostedt (Red Hat)exit 0 83