PageRenderTime 45ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/pypy/module/test_lib_pypy/ctypes_tests/conftest.py

https://bitbucket.org/pypy/pypy/
Python | 29 lines | 23 code | 5 blank | 1 comment | 3 complexity | 11f6f16dc9634c8b85e82e7117c79ea5 MD5 | raw file
Possible License(s): AGPL-3.0, BSD-3-Clause, Apache-2.0
  1. import py, pytest
  2. import sys
  3. def pytest_ignore_collect(path):
  4. if '__pypy__' not in sys.builtin_module_names:
  5. return True
  6. def compile_so_file():
  7. from rpython.translator.platform import platform
  8. from rpython.translator.tool.cbuild import ExternalCompilationInfo
  9. from rpython.translator import cdir
  10. udir = pytest.ensuretemp('_ctypes_test')
  11. cfile = py.path.local(__file__).dirpath().join("_ctypes_test.c")
  12. if sys.platform == 'win32':
  13. libraries = ['oleaut32']
  14. else:
  15. libraries = []
  16. eci = ExternalCompilationInfo(libraries=libraries,
  17. include_dirs=[cdir])
  18. return platform.compile([cfile], eci, str(udir.join('_ctypes_test')),
  19. standalone=False)
  20. # we need to run after the "tmpdir" plugin which installs pytest.ensuretemp
  21. @pytest.mark.trylast
  22. def pytest_configure(config):
  23. global sofile
  24. sofile = compile_so_file()