openenvutils/commandshell/shell/test/scripts/unhashtest.sh
changeset 0 2e3d3ce01487
child 1 0fdb7f6b0309
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/openenvutils/commandshell/shell/test/scripts/unhashtest.sh	Tue Feb 02 10:12:00 2010 +0200
@@ -0,0 +1,150 @@
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+init()
+    {
+    let totalno=0;
+    let passno=0;
+    let failno=0;
+    }
+
+# unhash command to try removing a nonexisting command from hash table
+test_unhash2()
+{
+let totalno=totalno+1
+echo "Test $totalno: unhash with no options and with a nonexisting hashtable entry"
+unhash dispdirs 
+ret=$?
+if [ $ret = 1 ]
+then
+     {
+     echo "PASS"
+     let passno=passno+1
+     }
+else
+     {
+     echo "FAIL: Expected return value 1, but  returned $ret"
+     let failno=failno+1
+     }
+fi
+}
+
+test_unhash3()
+{
+let totalno=totalno+1
+echo "Test $totalno: unhash with -d option and with a variable which is cdable"
+setopt cdablevars
+foo=/dirstest
+cd foo
+unhash -d foo
+ret=$?
+if [ $ret = 0 ]
+then
+     {
+     echo "PASS"
+     let passno=passno+1
+     }
+     else
+     {
+     echo "FAIL: Expected return value 0, but  returned $ret"
+     let failno=failno+1
+     }
+fi
+unsetopt cdablevars
+}
+
+# unhash command to try removing a nonexisting command from hash table
+test_unhash4()
+{
+let totalno=totalno+1
+echo "Test $totalno: unhash with -m option and with a nonexisting hashtable entry pattern"
+unhash -m xdghsd
+ret=$?
+if [ $ret = 1 ]
+then
+     {
+     echo "PASS"
+     let passno=passno+1
+     }
+else
+     {
+     echo "FAIL: Expected return value 1, but  returned $ret"
+     let failno=failno+1
+     }
+fi
+}
+
+func1()
+{
+}
+
+# unhash command to try removing an existing patterned entries from hash table without using correct option -f alongside
+test_unhash5()
+{
+let totalno=totalno+1
+echo "Test $totalno: unhash with -m option and with an existing hashtable entry pattern for function"
+unhash -m func1
+ret=$?
+if [ $ret = 1 ]
+then
+     {
+     echo "PASS"
+     let passno=passno+1
+     }
+else
+     {
+     echo "FAIL: Expected return value 1, but  returned $ret"
+     let failno=failno+1
+     }
+fi
+}
+
+# unhash command to try removing an existing patterned entries from hash table with right option -f
+test_unhash6()
+{
+let totalno=totalno+1
+echo "Test $totalno: unhash with -mf option and with an existing hashtable entry pattern for function"
+unhash -mf func1
+ret=$?
+if [ $ret = 0 ]
+then
+     {
+     echo "PASS"
+     let passno=passno+1
+     }
+else
+     {
+     echo "FAIL: Expected return value 0, but  returned $ret"
+     let failno=failno+1
+     }
+fi
+}
+
+report()
+    {
+    echo "#############################################################################"
+    echo "Total tests : $totalno"
+    echo "Passed      : $passno"
+    echo "Failed      : $failno"
+    echo "#############################################################################"
+    }
+
+init
+test_unhash2
+test_unhash3
+test_unhash4
+test_unhash5
+test_unhash6
+report