Update to 2.7.3
[profile/ivi/python.git] / Lib / test / test_startfile.py
1 # Ridiculously simple test of the os.startfile function for Windows.
2 #
3 # empty.vbs is an empty file (except for a comment), which does
4 # nothing when run with cscript or wscript.
5 #
6 # A possible improvement would be to have empty.vbs do something that
7 # we can detect here, to make sure that not only the os.startfile()
8 # call succeeded, but also the the script actually has run.
9
10 import unittest
11 from test import test_support
12 import os
13 from os import path
14 from time import sleep
15
16 startfile = test_support.get_attribute(os, 'startfile')
17
18
19 class TestCase(unittest.TestCase):
20     def test_nonexisting(self):
21         self.assertRaises(OSError, startfile, "nonexisting.vbs")
22
23     def test_nonexisting_u(self):
24         self.assertRaises(OSError, startfile, u"nonexisting.vbs")
25
26     def test_empty(self):
27         empty = path.join(path.dirname(__file__), "empty.vbs")
28         startfile(empty)
29         startfile(empty, "open")
30         # Give the child process some time to exit before we finish.
31         # Otherwise the cleanup code will not be able to delete the cwd,
32         # because it is still in use.
33         sleep(0.1)
34
35     def test_empty_u(self):
36         empty = path.join(path.dirname(__file__), "empty.vbs")
37         startfile(unicode(empty, "mbcs"))
38         startfile(unicode(empty, "mbcs"), "open")
39         sleep(0.1)
40
41 def test_main():
42     test_support.run_unittest(TestCase)
43
44 if __name__=="__main__":
45     test_main()