home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import unittest
- import os
- import errno
- from ctypes import *
- from ctypes.util import find_library
- import threading
-
- class Test(unittest.TestCase):
-
- def test_open(self):
- libc_name = find_library('c')
- if libc_name is not None:
- libc = CDLL(libc_name, use_errno = True)
- if os.name == 'nt':
- libc_open = libc._open
- else:
- libc_open = libc.open
- libc_open.argtypes = (c_char_p, c_int)
- self.failUnlessEqual(libc_open('', 0), -1)
- self.failUnlessEqual(get_errno(), errno.ENOENT)
- self.failUnlessEqual(set_errno(32), errno.ENOENT)
- self.failUnlessEqual(get_errno(), 32)
-
- def _worker():
- set_errno(0)
- libc = CDLL(libc_name, use_errno = False)
- if os.name == 'nt':
- libc_open = libc._open
- else:
- libc_open = libc.open
- libc_open.argtypes = (c_char_p, c_int)
- self.failUnlessEqual(libc_open('', 0), -1)
- self.failUnlessEqual(get_errno(), 0)
-
- t = threading.Thread(target = _worker)
- t.start()
- t.join()
- self.failUnlessEqual(get_errno(), 32)
- set_errno(0)
-
-
- if os.name == 'nt':
-
- def test_GetLastError(self):
- dll = WinDLL('kernel32', use_last_error = True)
- GetModuleHandle = dll.GetModuleHandleA
- GetModuleHandle.argtypes = [
- c_wchar_p]
- self.failUnlessEqual(0, GetModuleHandle('foo'))
- self.failUnlessEqual(get_last_error(), 126)
- self.failUnlessEqual(set_last_error(32), 126)
- self.failUnlessEqual(get_last_error(), 32)
-
- def _worker():
- set_last_error(0)
- dll = WinDLL('kernel32', use_last_error = False)
- GetModuleHandle = dll.GetModuleHandleW
- GetModuleHandle.argtypes = [
- c_wchar_p]
- GetModuleHandle('bar')
- self.failUnlessEqual(get_last_error(), 0)
-
- t = threading.Thread(target = _worker)
- t.start()
- t.join()
- self.failUnlessEqual(get_last_error(), 32)
- set_last_error(0)
-
-
-
- if __name__ == '__main__':
- unittest.main()
-
-