[py-svn] commit/pytest: hpk42: fix issue198 - detection of fixtures from conftest.py files in deeper nested dir structures with certain invocations

Bitbucket commits-noreply at bitbucket.org
Wed Oct 17 13:46:52 CEST 2012


1 new commit in pytest:


https://bitbucket.org/hpk42/pytest/changeset/8f712ab42644/
changeset:   8f712ab42644
user:        hpk42
date:        2012-10-17 13:42:40
summary:     fix issue198 - detection of fixtures from conftest.py files in deeper nested dir structures with certain invocations
affected #:  5 files

diff -r fbd9f89959726658746f4f17b0ba67aca8ec1939 -r 8f712ab4264478a8c6cddc4e5b60b24d546d7bda CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,8 @@
 Changes between 2.2.4 and 2.3.0.dev
 -----------------------------------
 
+- fix issue198 - conftest fixtures were not found on windows32 in some
+  circumstances with nested directory structures due to path manipulation issues
 - fix issue193 skip test functions with were parametrized with empty
   parameter sets
 - fix python3.3 compat, mostly reporting bits that previously depended


diff -r fbd9f89959726658746f4f17b0ba67aca8ec1939 -r 8f712ab4264478a8c6cddc4e5b60b24d546d7bda _pytest/__init__.py
--- a/_pytest/__init__.py
+++ b/_pytest/__init__.py
@@ -1,2 +1,2 @@
 #
-__version__ = '2.3.0.dev26'
+__version__ = '2.3.0.dev27'


diff -r fbd9f89959726658746f4f17b0ba67aca8ec1939 -r 8f712ab4264478a8c6cddc4e5b60b24d546d7bda _pytest/python.py
--- a/_pytest/python.py
+++ b/_pytest/python.py
@@ -731,6 +731,7 @@
     else:
         part = session._initialparts[0]
         nodeid = "::".join(map(str, [curdir.bestrelpath(part[0])] + part[1:]))
+        nodeid.replace(session.fspath.sep, "/")
 
     tw = py.io.TerminalWriter()
     verbose = config.getvalue("verbose")
@@ -1417,6 +1418,8 @@
         else:
             if p.basename.startswith("conftest.py"):
                 nodeid = p.dirpath().relto(self.session.fspath)
+                if p.sep != "/":
+                    nodeid.replace(p.sep, "/")
         self.parsefactories(plugin, nodeid)
         self._seenplugins.add(plugin)
 


diff -r fbd9f89959726658746f4f17b0ba67aca8ec1939 -r 8f712ab4264478a8c6cddc4e5b60b24d546d7bda setup.py
--- a/setup.py
+++ b/setup.py
@@ -24,7 +24,7 @@
         name='pytest',
         description='py.test: simple powerful testing with Python',
         long_description = long_description,
-        version='2.3.0.dev26',
+        version='2.3.0.dev27',
         url='http://pytest.org',
         license='MIT license',
         platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],


diff -r fbd9f89959726658746f4f17b0ba67aca8ec1939 -r 8f712ab4264478a8c6cddc4e5b60b24d546d7bda testing/test_python.py
--- a/testing/test_python.py
+++ b/testing/test_python.py
@@ -2974,3 +2974,19 @@
     """)
     reprec = testdir.inline_run()
     reprec.assertoutcome(passed=1)
+
+def test_fixtures_sub_subdir_normalize_sep(testdir):
+    # this makes sure that normlization of nodeids takes place
+    b = testdir.mkdir("tests").mkdir("unit")
+    b.join("conftest.py").write(py.code.Source("""
+        def pytest_funcarg__arg1():
+            pass
+    """))
+    p = b.join("test_module.py")
+    p.write("def test_func(arg1): pass")
+    result = testdir.runpytest(p, "--fixtures")
+    assert result.ret == 0
+    result.stdout.fnmatch_lines("""
+        *fixtures defined*conftest*
+        *arg1*
+    """)

Repository URL: https://bitbucket.org/hpk42/pytest/

--

This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.



More information about the pytest-commit mailing list