diff --git a/Lib/test/empty.vbs b/Lib/test/empty.vbs new file mode 100644 index 00000000000..f35f076fdb9 --- /dev/null +++ b/Lib/test/empty.vbs @@ -0,0 +1 @@ +'Empty VBS file, does nothing. Helper for Lib\test\test_startfile.py. \ No newline at end of file diff --git a/Lib/test/test_startfile.py b/Lib/test/test_startfile.py new file mode 100644 index 00000000000..2b198e4a441 --- /dev/null +++ b/Lib/test/test_startfile.py @@ -0,0 +1,36 @@ +# Ridiculously simple test of the os.startfile function for Windows. +# +# empty.vbs is an empty file (except for a comment), which does +# nothing when run with cscript or wscript. +# +# A possible improvement would be to have empty.vbs do something that +# we can detect here, to make sure that not only the os.startfile() +# call succeeded, but also the the script actually has run. + +import unittest +from test import test_support +import os + + +class TestCase(unittest.TestCase): + def test_nonexisting(self): + self.assertRaises(OSError, os.startfile, "nonexisting.vbs") + + def test_nonexisting_u(self): + self.assertRaises(OSError, os.startfile, u"nonexisting.vbs") + + def test_empty(self): + empty = os.path.join(os.path.dirname(__file__), "empty.vbs") + os.startfile(empty) + os.startfile(empty, "open") + + def test_empty_u(self): + empty = os.path.join(os.path.dirname(__file__), "empty.vbs") + os.startfile(unicode(empty, "mbcs")) + os.startfile(unicode(empty, "mbcs"), "open") + +def test_main(): + test_support.run_unittest(TestCase) + +if __name__=="__main__": + test_main()