forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
1016 B
82 lines
1016 B
#!/bin/sh |
|
# SPDX-License-Identifier: GPL-2.0 |
|
# description: Test creation and deletion of trace instances |
|
# requires: instances |
|
|
|
fail() { # mesg |
|
rmdir x y z 2>/dev/null |
|
echo $1 |
|
set -e |
|
exit_fail |
|
} |
|
|
|
cd instances |
|
|
|
# we don't want to fail on error |
|
set +e |
|
|
|
mkdir x |
|
rmdir x |
|
result=$? |
|
|
|
if [ $result -ne 0 ]; then |
|
echo "instance rmdir not supported" |
|
exit_unsupported |
|
fi |
|
|
|
instance_slam() { |
|
while :; do |
|
mkdir x |
|
mkdir y |
|
mkdir z |
|
rmdir x |
|
rmdir y |
|
rmdir z |
|
done 2>/dev/null |
|
} |
|
|
|
instance_slam & |
|
p1=$! |
|
echo $p1 |
|
|
|
instance_slam & |
|
p2=$! |
|
echo $p2 |
|
|
|
instance_slam & |
|
p3=$! |
|
echo $p3 |
|
|
|
instance_slam & |
|
p4=$! |
|
echo $p4 |
|
|
|
instance_slam & |
|
p5=$! |
|
echo $p5 |
|
|
|
ls -lR >/dev/null |
|
sleep 1 |
|
|
|
kill -1 $p1 |
|
kill -1 $p2 |
|
kill -1 $p3 |
|
kill -1 $p4 |
|
kill -1 $p5 |
|
|
|
echo "Wait for processes to finish" |
|
wait $p1 $p2 $p3 $p4 $p5 |
|
echo "all processes finished, wait for cleanup" |
|
|
|
mkdir x y z |
|
ls x y z |
|
rmdir x y z |
|
for d in x y z; do |
|
if [ -d $d ]; then |
|
fail "instance $d still exists" |
|
fi |
|
done |
|
|
|
set -e |
|
|
|
exit 0
|
|
|