--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_commands.py Fri Jul 31 15:01:17 2009 +0100
@@ -0,0 +1,69 @@
+'''
+ Tests for commands module
+ Nick Mathewson
+'''
+import unittest
+import os, tempfile, re
+import warnings
+
+warnings.filterwarnings('ignore', r".*commands.getstatus.. is deprecated",
+ DeprecationWarning)
+
+from test.test_support import TestSkipped, run_unittest, reap_children
+from commands import *
+
+# The module says:
+# "NB This only works (and is only relevant) for UNIX."
+#
+# Actually, getoutput should work on any platform with an os.popen, but
+# I'll take the comment as given, and skip this suite.
+
+if os.name != 'posix':
+ raise TestSkipped('Not posix; skipping test_commands')
+
+
+class CommandTests(unittest.TestCase):
+
+ def test_getoutput(self):
+ self.assertEquals(getoutput('echo xyzzy'), 'xyzzy')
+ self.assertEquals(getstatusoutput('echo xyzzy'), (0, 'xyzzy'))
+
+ # we use mkdtemp in the next line to create an empty directory
+ # under our exclusive control; from that, we can invent a pathname
+ # that we _know_ won't exist. This is guaranteed to fail.
+ dir = None
+ try:
+ dir = tempfile.mkdtemp()
+ name = os.path.join(dir, "foo")
+
+ status, output = getstatusoutput('cat ' + name)
+ self.assertNotEquals(status, 0)
+ finally:
+ if dir is not None:
+ os.rmdir(dir)
+
+ def test_getstatus(self):
+ # This pattern should match 'ls -ld /.' on any posix
+ # system, however perversely configured. Even on systems
+ # (e.g., Cygwin) where user and group names can have spaces:
+ # drwxr-xr-x 15 Administ Domain U 4096 Aug 12 12:50 /
+ # drwxr-xr-x 15 Joe User My Group 4096 Aug 12 12:50 /
+ # Note that the first case above has a space in the group name
+ # while the second one has a space in both names.
+ pat = r'''d......... # It is a directory.
+ \+? # It may have ACLs.
+ \s+\d+ # It has some number of links.
+ [^/]* # Skip user, group, size, and date.
+ /\. # and end with the name of the file.
+ '''
+
+ self.assert_(re.match(pat, getstatus("/."), re.VERBOSE))
+
+
+def test_main():
+ run_unittest(CommandTests)
+ reap_children()
+
+
+if __name__ == "__main__":
+ test_main()