コード例 #1
0
    def testLoadsModuleAndUnloadsOnDispose(self):
        mapper = PythonMapper(DLL_PATH)
        try:
            origcwd = os.getcwd()
            mapper.LoadModule(os.path.join("tests", "data", "setvalue.pyd"), "some.module")
            self.assertEquals(os.getcwd(), origcwd, "failed to restore working directory")
            self.assertNotEquals(Unmanaged.GetModuleHandle("setvalue.pyd"), IntPtr.Zero,
                                 "library not mapped by construction")

            mapper.Dispose()
            self.assertEquals(Unmanaged.GetModuleHandle("setvalue.pyd"), IntPtr.Zero,
                              "library not unmapped by Dispose")
            self.assertEquals(Unmanaged.GetModuleHandle(PYTHON_DLL), IntPtr.Zero,
                              "library not unmapped by Dispose")
        finally:
            mapper.Dispose()