Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Collecting tests from Python modules not generated by Python files #2369
I'm a core developer of the Hy programming language, which is a Lisp syntax for Python, and I'm trying to migrate its test suite from Nose to pytest. The repository has a lot of tests written in Python but also tests written in Hy. Hy itself is implemented in Python and provides a meta-importer so that a Python program can import a Hy module just like a Python module. So in theory, pytest should be able to collect tests from Hy files just as well as Python files, so long as Hy's meta-importer is active. Once a Hy file is loaded, there's basically no difference between Hy and Python; a Hy module is in fact a Python module.
I found a hacky way to run the Hy tests, using this conftest.py, which calls
Is there a better way to do this? If not, perhaps you should remove the assertion.
I'm using pytest 3.0.7. Hy is intended to support, and is tested on, Python 2.7 and Python 3.3 and up.
Sorry, here's an example of the backtraces I get when running pytest on my repository without the module-name spoof:
for node in chain: if isinstance(node, Instance): continue name = node.name if isinstance(node, Module): assert name.endswith(".py") name = name[:-3] if stopatmodule: if includemodule: parts.append(name) break parts.append(name)
I think the assertion is there just because of the
Would you care to give it a shot @Kodiologist?