diff options
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_cmd_line.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py new file mode 100644 index 0000000..fc0c2d2 --- /dev/null +++ b/Lib/test/test_cmd_line.py @@ -0,0 +1,50 @@ + +import test.test_support, unittest +import sys +import popen2 + +class CmdLineTest(unittest.TestCase): + def start_python(self, cmd_line): + outfp, infp = popen2.popen4('%s %s' % (sys.executable, cmd_line)) + infp.close() + data = outfp.read() + outfp.close() + return data + + def test_directories(self): + self.assertTrue('is a directory' in self.start_python('.')) + self.assertTrue('is a directory' in self.start_python('< .')) + + def verify_valid_flag(self, cmd_line): + data = self.start_python(cmd_line) + self.assertTrue(data.endswith('\n')) + self.assertTrue('Traceback' not in data) + + def test_environment(self): + self.verify_valid_flag('-E') + + def test_optimize(self): + self.verify_valid_flag('-O') + self.verify_valid_flag('-OO') + + def test_q(self): + self.verify_valid_flag('-Qold') + self.verify_valid_flag('-Qnew') + self.verify_valid_flag('-Qwarn') + self.verify_valid_flag('-Qwarnall') + + def test_site_flag(self): + self.verify_valid_flag('-S') + + def test_usage(self): + self.assertTrue('usage' in self.start_python('-h')) + + def test_version(self): + version = 'Python %d.%d' % sys.version_info[:2] + self.assertTrue(self.start_python('-V').startswith(version)) + +def test_main(): + test.test_support.run_unittest(CmdLineTest) + +if __name__ == "__main__": + test_main() |