* Use 'test.sh' script and use 'tst_*'.

* Add 'TCID' and 'TST_TOTAL' global variables.

* Use '.' instead of 'source'.

* Use 'tst_tmpdir' and 'tst_rmdir'.

* Use '$()' instead of '``'.

* Some cleanup.

Signed-off-by: Zeng Linggang <zenglg...@cn.fujitsu.com>
---
 .../kernel/security/smack/smack_file_access.sh     | 126 ++++++++-------------
 1 file changed, 50 insertions(+), 76 deletions(-)

diff --git a/testcases/kernel/security/smack/smack_file_access.sh 
b/testcases/kernel/security/smack/smack_file_access.sh
index 61db065..e6109fa 100755
--- a/testcases/kernel/security/smack/smack_file_access.sh
+++ b/testcases/kernel/security/smack/smack_file_access.sh
@@ -14,106 +14,80 @@
 #               1         2         3         4         5         6
 #      123456789012345678901234567890123456789012345678901234567890123456789
 
-source smack_common.sh
+export TCID=smack_file_access
+export TST_TOTAL=1
 
-RuleA="TheOne                  TheOther                r---"
-RuleB="TheOne                  TheOther                rw--"
+. test.sh
+
+. smack_common.sh
+
+cleanup()
+{
+       tst_rmdir
+}
+
+rule_a="TheOne                  TheOther                r---"
+rule_b="TheOne                  TheOther                rw--"
 
-Where="./testdir"
-What="testfile"
-TestFile="$Where/$What"
 CAT=/bin/cat
+testfile="testfile"
 
-if [ ! -d "$Where" ]; then
-       if [ -e "$Where" ]; then
-               echo "Test directory \"$Where\" exists but is not a directory."
-               exit 1
-       fi
-       mkdir -m 777 "$Where"
-       if [ ! -d "$Where" ]; then
-               echo "Test directory \"$Where\" can not be created."
-               exit 1
-       fi
-fi
+tst_tmpdir
+TST_CLEANUP=cleanup
 
-if [ ! -f "$TestFile" ]; then
-       if [ -e "$TestFile" ]; then
-               echo "Test file \"$TestFile\" exists but is not a file."
-               rm -rf "$Where"
-               exit 1
-       fi
-       ./notroot /bin/sh -c "echo InitialData 2>/dev/null > $TestFile"
-       if [ ! -d "$TestFile" ]; then
-               echo "Test file \"$TestFile\" can not be created."
-               rm -rf "$Where"
-               exit 1
-       fi
+notroot /bin/sh -c "echo InitialData 2>/tmp/smack_fail.log > $testfile"
+if [ ! -f "$testfile" ]; then
+       tst_brkm TFAIL "Test file \"$testfile\" can not be created."
 fi
 
-setfattr --name=security.SMACK64 --value=TheOther "$TestFile"
-SetTo=`getfattr --only-values -n security.SMACK64 -e text $TestFile`
-SetTo=`echo $SetTo`
+setfattr --name=security.SMACK64 --value=TheOther "$testfile"
+setto=$(getfattr --only-values -n security.SMACK64 -e text $testfile)
 
-if [ "TheOther" != "$SetTo" ]; then
-       echo "Test file \"$TestFile\" labeled \"$SetTo\" incorrectly."
-       rm -rf "$Where"
-       exit 1
+if [ "TheOther" != "$setto" ]; then
+       tst_brkm TFAIL "Test file \"$testfile\" labeled \"$setto\" incorrectly."
 fi
 
-OldRule=`grep "^TheOne" "$smackfsdir/load" 2>/dev/null | grep ' TheOther '`
+old_rule=$(grep "^TheOne" "$smackfsdir/load" 2>/dev/null | grep ' TheOther ')
 
-echo -n "$RuleA" > "$smackfsdir/load"
-NewRule=`grep "^TheOne" "$smackfsdir/load" 2>/dev/null | grep ' TheOther '`
-if [ "$NewRule" = "" ]; then
-       echo "Rule did not get set."
-       rm -rf "$Where"
-       exit 1
+echo -n "$rule_a" > "$smackfsdir/load"
+new_rule=$(grep "^TheOne" "$smackfsdir/load" 2>/dev/null | grep ' TheOther ')
+if [ "$new_rule" = "" ]; then
+       tst_brkm TFAIL "Rule did not get set."
 fi
-Mode=`echo $NewRule | sed -e 's/.* //'`
-if [ "$Mode" != "r" ]; then
-       echo "Rule \"$NewRule\" is not set correctly."
-       rm -rf "$Where"
-       exit 1
+mode=$(echo $new_rule | sed -e 's/.* //')
+if [ "$mode" != "r" ]; then
+       tst_brkm TFAIL "Rule \"$new_rule\" is not set correctly."
 fi
 
-OldProc=`cat /proc/self/attr/current 2>/dev/null`
-
 echo TheOne 2>/dev/null > /proc/self/attr/current
-GotRead=`./notroot $CAT "$TestFile"`
+got_read=$(smack_notroot $CAT "$testfile")
 
-if [ "$GotRead" != "InitialData" ]; then
-       echo "Read failed for \"$TestFile\" labeled \"TheOther\"."
-       rm -rf "$Where"
-       exit 1
+if [ "$got_read" != "InitialData" ]; then
+       tst_brkm TFAIL "Read failed for \"$testfile\" labeled \"TheOther\"."
 fi
 
 echo NotTheOne 2>/dev/null > /proc/self/attr/current
-GotRead=`./notroot $CAT "$TestFile"`
+got_read=$(smack_notroot $CAT "$testfile" 2> /dev/null)
 
-if [ "$GotRead" = "InitialData" ]; then
-       echo "Read should have failed for \"$TestFile\" labeled \"TheOther\"."
-       rm -rf "$Where"
-       exit 1
+if [ "$got_read" = "InitialData" ]; then
+       tst_brkm TFAIL "Read should have failed for \"$testfile\" labeled" \
+                      "\"TheOther\"."
 fi
 
-echo -n "$RuleB" 2>/dev/null > "$smackfsdir/load"
-NewRule=`grep "^TheOne" $smackfsdir/load 2>/dev/null | grep ' TheOther '`
-if [ "$NewRule" = "" ]; then
-       echo "Rule did not get set."
-       rm -rf "$Where"
-       exit 1
+echo -n "$rule_b" 2>/dev/null > "$smackfsdir/load"
+new_rule=$(grep "^TheOne" $smackfsdir/load 2>/dev/null | grep ' TheOther ')
+if [ "$new_rule" = "" ]; then
+       tst_brkm TFAIL "Rule did not get set."
 fi
-Mode=`echo $NewRule | sed -e 's/.* //'`
-if [ "$Mode" != "rw" ]; then
-       echo "Rule \"$NewRule\" is not set correctly."
-       rm -rf "$Where"
-       exit 1
+mode=$(echo $new_rule | sed -e 's/.* //')
+if [ "$mode" != "rw" ]; then
+       tst_brkm TFAIL "Rule \"$new_rule\" is not set correctly."
 fi
 
-if [ "$OldRule" != "$NewRule" ]; then
-       cat <<EOM
-Notice: Test access rule changed from "$OldRule" to "$NewRule".
-EOM
+if [ "$old_rule" != "$new_rule" ]; then
+       tst_resm TINFO "Notice: Test access rule changed from \"$old_rule\"" \
+                      "to \"$new_rule\"."
 fi
 
-rm -rf "$Where"
+tst_resm TPASS "Test \"$TCID\" success."
+tst_exit
-- 
1.9.3


------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to