Added performance tests and creation permission flags
This commit is contained in:
6
test/stress.bash
Executable file
6
test/stress.bash
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
count=$1
|
||||
for i in $(seq $count); do
|
||||
$2 ./protected/haystack/
|
||||
done
|
@@ -10,7 +10,7 @@ chmod 777 ./protected/perm777 ./protected/perm000
|
||||
echo "Free code, free world." >./protected/motto
|
||||
|
||||
mkdir protected/haystack
|
||||
for i in {1..10}; do
|
||||
for i in {1..100}; do
|
||||
touch "./protected/haystack/hay$i"
|
||||
done
|
||||
touch ./protected/haystack/needle
|
||||
@@ -22,7 +22,7 @@ make -C ./opener || (
|
||||
echo "Could not make the opener program."
|
||||
exit 1
|
||||
)
|
||||
for i in {1..10}; do
|
||||
for i in {1..12}; do
|
||||
cp ./opener/opener "./openers/opener$i"
|
||||
ln --symbolic "$(realpath "./openers/opener$i")" "./openers/symlinked_opener$i"
|
||||
done
|
||||
@@ -43,6 +43,12 @@ if [[ $1 == "--setuid" ]]; then
|
||||
echo "Valgrind will not be used due to setuid compatibility issues."
|
||||
../build/icfs -o default_permissions ./protected ./.pt.db &
|
||||
sleep 1
|
||||
elif [[ $1 == "--performance" ]]; then
|
||||
echo "Database protection will not be tested due to the lack of setuid capabilites."
|
||||
echo "To test it, run this script with '--setuid'."
|
||||
echo "valgrind won't be used to make performance measurements more accurate."
|
||||
../build/icfs -o default_permissions ./protected ./.pt.db &
|
||||
sleep 5
|
||||
else
|
||||
echo "Database protection will not be tested due to the lack of setuid capabilites."
|
||||
echo "To test it, run this script with '--setuid'."
|
||||
@@ -205,9 +211,36 @@ else
|
||||
echo "[ICFS-TEST]: permanent permissions database access was not tested due to the lack of seuid bit setting capabilites. To test this, run the script with '--setuid' flag"
|
||||
fi
|
||||
|
||||
RUNS_NUM=500
|
||||
|
||||
if [[ $1 == '--performance' ]]; then
|
||||
|
||||
#warmup
|
||||
icfs_dialogue --set-fake-response yes
|
||||
parallel -j8 ::: "./stress.bash $RUNS_NUM openers/opener10"
|
||||
|
||||
icfs_dialogue --set-fake-response yes
|
||||
echo "[ICFS-TEST]: temp permissions"
|
||||
time parallel -j8 ::: "./stress.bash $RUNS_NUM openers/opener7"
|
||||
|
||||
icfs_dialogue --set-fake-response yes_perm
|
||||
echo "[ICFS-TEST]: perm permissions"
|
||||
time parallel -j8 ::: "./stress.bash $RUNS_NUM openers/opener8"
|
||||
|
||||
fi
|
||||
|
||||
# unmount
|
||||
|
||||
sleep 0.5
|
||||
#lsof +f -- $(realpath ./protected)
|
||||
umount "$(realpath ./protected)"
|
||||
sleep 2
|
||||
sleep 3
|
||||
|
||||
if [[ $1 == '--performance' ]]; then
|
||||
|
||||
#warmup
|
||||
parallel -j8 ::: "./stress.bash $RUNS_NUM openers/opener9"
|
||||
|
||||
echo "[ICFS-TEST]: bare filesystem"
|
||||
time parallel -j8 ::: "./stress.bash $RUNS_NUM openers/opener9"
|
||||
fi
|
||||
|
Reference in New Issue
Block a user