openenvutils/commandshell/shell/test/scripts/setopttest.sh
changeset 0 2e3d3ce01487
child 1 0fdb7f6b0309
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/openenvutils/commandshell/shell/test/scripts/setopttest.sh	Tue Feb 02 10:12:00 2010 +0200
@@ -0,0 +1,417 @@
+# 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;
+    }
+
+# Set the autocd option for the shell, so that simply typing the dir name will cd to that dir
+test_setopt1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt to automatically cd to a directory without requiring you to type cd"
+if [ -d cdtest ]
+then
+     oldcwd=`pwd`
+     setopt auto_cd
+     cdtest
+     ret=$?
+     if [ $ret = 0 ]
+     then
+         if [ $PWD = ${oldcwd}/cdtest ]
+         then
+             echo "PASS"
+             let passno=passno+1
+         else
+             echo "FAIL: Expected \"$PWD\", returned \"${oldcwd}/cdtest\""
+             let failno=failno+1
+             return
+         fi
+         cd ..
+     else
+         echo "FAIL: Expected return value 0, but  returned $ret"
+         let failno=failno+1
+         return
+     fi
+     unsetopt auto_cd
+else
+     echo "FAIL:cdtest dir missing"
+     let failno=failno+1
+fi
+}
+
+
+test_nobeep1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt nobeep"
+setopt nobeep              # i hate beeps
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt nobeep
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_noautomenu1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt noautomenu"
+setopt noautomenu          # don't cycle completions
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt noautomenu
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_autopushd1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt autopushd"
+setopt autopushd           # automatically append dirs to the push/pop list
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt autopushd
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_pushdignoredups1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt pushdignoredups"
+setopt pushdignoredups     # and don't duplicate them
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt pushdignoredups
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_checkjobs1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt checkjobs"
+setopt checkjobs           # warn me about bg processes when exiting
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt checkjobs
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_nohup1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt nohup"
+setopt nohup               # and don't kill them, either
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt nohup
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_listpacked1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt listpacked"
+setopt listpacked          # compact completion lists
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt listpacked
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_listtypes1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt listtypes"
+setopt listtypes           # show types in completion
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt listtypes
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_completeinword1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt completeinword"
+setopt completeinword      # not just at the end
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt completeinword
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_alwaystoend1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt alwaystoend"
+setopt alwaystoend         # when complete from middle, move cursor
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt alwaystoend
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_correct1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt correct"
+setopt correct             # spelling correction
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt correct
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_nopromptcr1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt nopromptcr"
+setopt nopromptcr          # don't add \r which overwrites cmd output with no \n
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt nopromptcr
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_histverify1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt histverify"
+setopt histverify          # when using ! cmds, confirm first
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt histverify
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_interactivecomments1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt interactivecomments"
+setopt interactivecomments # escape commands so i can use them later
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt interactivecomments
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_recexact1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt recexact"
+setopt recexact            # recognise exact, ambiguous matches
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt recexact
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_printexitvalue1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt printexitvalue"
+setopt printexitvalue      # alert me if something's failed
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt printexitvalue
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_glob1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt glob"
+setopt glob                # globbing support
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt glob
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_extendedglob1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt extendedglob"
+setopt extendedglob        # blah blah
+ret=$?
+if [ $ret = 0 ]
+then
+    echo "PASS"
+    let passno=passno+1
+    unsetopt extendedglob
+else
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+fi
+}
+
+test_nonomatch1()
+{
+let totalno=totalno+1
+echo "Test $totalno: setopt nonomatch"
+setopt nonomatch           # pass through any unrecognized patterns to the command
+ret=$?
+if [ $ret = 0 ]
+then
+    {
+    echo "PASS"
+    let passno=passno+1
+    unsetopt nonomatch
+    }
+else
+    {
+    echo "FAIL: Expected 0, returned $ret"
+    let failno=failno+1
+    }
+fi
+}
+
+report()
+    {
+    echo "#############################################################################"
+    echo "Total tests : $totalno"
+    echo "Passed      : $passno"
+    echo "Failed      : $failno"
+    echo "#############################################################################"
+    }
+
+init
+
+# test_setopt1
+test_nobeep1
+test_noautomenu1
+test_autopushd1
+test_pushdignoredups1
+test_checkjobs1
+test_nohup1
+test_listpacked1
+test_listtypes1
+test_completeinword1
+test_alwaystoend1
+test_correct1
+test_nopromptcr1
+test_histverify1
+test_interactivecomments1
+test_recexact1
+test_printexitvalue1
+test_glob1
+test_extendedglob1
+test_nonomatch1
+report