summaryrefslogtreecommitdiffstats
path: root/third_party/python/pytest/testing/test_modimport.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/pytest/testing/test_modimport.py')
-rw-r--r--third_party/python/pytest/testing/test_modimport.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/third_party/python/pytest/testing/test_modimport.py b/third_party/python/pytest/testing/test_modimport.py
new file mode 100644
index 0000000000..f7b92a0b6f
--- /dev/null
+++ b/third_party/python/pytest/testing/test_modimport.py
@@ -0,0 +1,29 @@
+import py
+import subprocess
+import sys
+import pytest
+import _pytest
+
+MODSET = [
+ x
+ for x in py.path.local(_pytest.__file__).dirpath().visit("*.py")
+ if x.purebasename != "__init__"
+]
+
+
+@pytest.mark.parametrize("modfile", MODSET, ids=lambda x: x.purebasename)
+def test_fileimport(modfile):
+ # this test ensures all internal packages can import
+ # without needing the pytest namespace being set
+ # this is critical for the initialization of xdist
+
+ res = subprocess.call(
+ [
+ sys.executable,
+ "-c",
+ "import sys, py; py.path.local(sys.argv[1]).pyimport()",
+ modfile.strpath,
+ ]
+ )
+ if res:
+ pytest.fail("command result %s" % res)