def test_cc_properties(self): cc = self._test_module.cc self.assertEqual(cc.name, 'pycc_test_simple') # Inferred output directory d = self._test_module.cc.output_dir self.assertTrue(os.path.isdir(d), d) # Inferred output filename f = self._test_module.cc.output_file self.assertFalse(os.path.exists(f), f) self.assertTrue(os.path.basename(f).startswith('pycc_test_simple.'), f) if sys.platform.startswith('linux'): self.assertTrue(f.endswith('.so'), f) self.assertIn(find_pyext_ending(), f)
def test_pycc_pymodule(self): """ Test creating a CPython extension module using pycc. """ self.skipTest("lack of environment can make the extension crash") source = os.path.join(base_path, "compile_with_pycc.py") modulename = "test_pyext_legacy" out_modulename = os.path.join(self.tmpdir, modulename + find_pyext_ending()) if os.path.exists(out_modulename): os.unlink(out_modulename) main(args=["--debug", "--python", "-o", out_modulename, source]) with self.check_c_ext(self.tmpdir, modulename) as lib: res = lib.multi(123, 321) self.assertPreciseEqual(res, 123 * 321) res = lib.multf(987, 321) self.assertPreciseEqual(res, 987.0 * 321.0)
def test_pycc_pymodule(self): """ Test creating a CPython extension module using pycc. """ self.skipTest("lack of environment can make the extension crash") source = os.path.join(base_path, 'compile_with_pycc.py') modulename = 'test_pyext_legacy' out_modulename = os.path.join(self.tmpdir, modulename + find_pyext_ending()) if os.path.exists(out_modulename): os.unlink(out_modulename) main(args=['--debug', '--python', '-o', out_modulename, source]) with self.check_c_ext(self.tmpdir, modulename) as lib: res = lib.multi(123, 321) self.assertPreciseEqual(res, 123 * 321) res = lib.multf(987, 321) self.assertPreciseEqual(res, 987.0 * 321.0)