def test_pycc_ctypes_lib(self): """ Test creating a C shared library object using pycc. """ source = os.path.join(base_path, 'compile_with_pycc.py') cdll_modulename = 'test_dll_legacy' + find_shared_ending() cdll_path = os.path.join(self.tmpdir, cdll_modulename) if os.path.exists(cdll_path): os.unlink(cdll_path) main(args=['--debug', '-o', cdll_path, source]) lib = CDLL(cdll_path) lib.mult.argtypes = [POINTER(c_double), c_void_p, c_double, c_double] lib.mult.restype = c_int lib.multf.argtypes = [POINTER(c_float), c_void_p, c_float, c_float] lib.multf.restype = c_int res = c_double() lib.mult(byref(res), None, 123, 321) self.assertEqual(res.value, 123 * 321) res = c_float() lib.multf(byref(res), None, 987, 321) self.assertEqual(res.value, 987 * 321)