diff -r 000000000000 -r 2e3d3ce01487 openenvutils/commandshell/shell/test/scripts/setopttest.sh --- /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