From 4710c53dcad1ebf3755f3efb9e80ac24bd72a9b2 Mon Sep 17 00:00:00 2001 From: darylm503 Date: Mon, 16 Apr 2012 22:12:42 +0000 Subject: AppPkg/Applications/Python: Add Python 2.7.2 sources since the release of Python 2.7.3 made them unavailable from the python.org web site. These files are a subset of the python-2.7.2.tgz distribution from python.org. Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution. Signed-off-by: daryl.mcdaniel@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Python/Python-2.7.2/Lib/test/test_cmd.py | 217 +++++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_cmd.py (limited to 'AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_cmd.py') diff --git a/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_cmd.py b/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_cmd.py new file mode 100644 index 0000000000..8660a55baa --- /dev/null +++ b/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_cmd.py @@ -0,0 +1,217 @@ +#!/usr/bin/env python +""" +Test script for the 'cmd' module +Original by Michael Schneider +""" + + +import cmd +import sys +from test import test_support +import re +import unittest +import StringIO + +class samplecmdclass(cmd.Cmd): + """ + Instance the sampleclass: + >>> mycmd = samplecmdclass() + + Test for the function parseline(): + >>> mycmd.parseline("") + (None, None, '') + >>> mycmd.parseline("?") + ('help', '', 'help ') + >>> mycmd.parseline("?help") + ('help', 'help', 'help help') + >>> mycmd.parseline("!") + ('shell', '', 'shell ') + >>> mycmd.parseline("!command") + ('shell', 'command', 'shell command') + >>> mycmd.parseline("func") + ('func', '', 'func') + >>> mycmd.parseline("func arg1") + ('func', 'arg1', 'func arg1') + + + Test for the function onecmd(): + >>> mycmd.onecmd("") + >>> mycmd.onecmd("add 4 5") + 9 + >>> mycmd.onecmd("") + 9 + >>> mycmd.onecmd("test") + *** Unknown syntax: test + + Test for the function emptyline(): + >>> mycmd.emptyline() + *** Unknown syntax: test + + Test for the function default(): + >>> mycmd.default("default") + *** Unknown syntax: default + + Test for the function completedefault(): + >>> mycmd.completedefault() + This is the completedefault methode + >>> mycmd.completenames("a") + ['add'] + + Test for the function completenames(): + >>> mycmd.completenames("12") + [] + >>> mycmd.completenames("help") + ['help'] + + Test for the function complete_help(): + >>> mycmd.complete_help("a") + ['add'] + >>> mycmd.complete_help("he") + ['help'] + >>> mycmd.complete_help("12") + [] + >>> sorted(mycmd.complete_help("")) + ['add', 'exit', 'help', 'shell'] + + Test for the function do_help(): + >>> mycmd.do_help("testet") + *** No help on testet + >>> mycmd.do_help("add") + help text for add + >>> mycmd.onecmd("help add") + help text for add + >>> mycmd.do_help("") + + Documented commands (type help ): + ======================================== + add + + Undocumented commands: + ====================== + exit help shell + + + Test for the function print_topics(): + >>> mycmd.print_topics("header", ["command1", "command2"], 2 ,10) + header + ====== + command1 + command2 + + + Test for the function columnize(): + >>> mycmd.columnize([str(i) for i in xrange(20)]) + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 + >>> mycmd.columnize([str(i) for i in xrange(20)], 10) + 0 7 14 + 1 8 15 + 2 9 16 + 3 10 17 + 4 11 18 + 5 12 19 + 6 13 + + This is a interactive test, put some commands in the cmdqueue attribute + and let it execute + This test includes the preloop(), postloop(), default(), emptyline(), + parseline(), do_help() functions + >>> mycmd.use_rawinput=0 + >>> mycmd.cmdqueue=["", "add", "add 4 5", "help", "help add","exit"] + >>> mycmd.cmdloop() + Hello from preloop + help text for add + *** invalid number of arguments + 9 + + Documented commands (type help ): + ======================================== + add + + Undocumented commands: + ====================== + exit help shell + + help text for add + Hello from postloop + """ + + def preloop(self): + print "Hello from preloop" + + def postloop(self): + print "Hello from postloop" + + def completedefault(self, *ignored): + print "This is the completedefault methode" + return + + def complete_command(self): + print "complete command" + return + + def do_shell(self, s): + pass + + def do_add(self, s): + l = s.split() + if len(l) != 2: + print "*** invalid number of arguments" + return + try: + l = [int(i) for i in l] + except ValueError: + print "*** arguments should be numbers" + return + print l[0]+l[1] + + def help_add(self): + print "help text for add" + return + + def do_exit(self, arg): + return True + + +class TestAlternateInput(unittest.TestCase): + + class simplecmd(cmd.Cmd): + + def do_print(self, args): + print >>self.stdout, args + + def do_EOF(self, args): + return True + + def test_file_with_missing_final_nl(self): + input = StringIO.StringIO("print test\nprint test2") + output = StringIO.StringIO() + cmd = self.simplecmd(stdin=input, stdout=output) + cmd.use_rawinput = False + cmd.cmdloop() + self.assertMultiLineEqual(output.getvalue(), + ("(Cmd) test\n" + "(Cmd) test2\n" + "(Cmd) ")) + + +def test_main(verbose=None): + from test import test_cmd + test_support.run_doctest(test_cmd, verbose) + test_support.run_unittest(TestAlternateInput) + +def test_coverage(coverdir): + trace = test_support.import_module('trace') + tracer=trace.Trace(ignoredirs=[sys.prefix, sys.exec_prefix,], + trace=0, count=1) + tracer.run('reload(cmd);test_main()') + r=tracer.results() + print "Writing coverage results..." + r.write_results(show_missing=True, summary=True, coverdir=coverdir) + +if __name__ == "__main__": + if "-c" in sys.argv: + test_coverage('/tmp/cmd.cover') + elif "-i" in sys.argv: + samplecmdclass().cmdloop() + else: + test_main() -- cgit v1.2.3