[Pytest-commit] Issue #470: Crashes when too many things fail? (hpk42/pytest)

kwpolska issues-reply at bitbucket.org
Tue Feb 25 20:51:36 CET 2014


New issue 470: Crashes when too many things fail?
https://bitbucket.org/hpk42/pytest/issue/470/crashes-when-too-many-things-fail

kwpolska:

I’m testing [Nikola](http://getnikola.com/).  I tried [this file](https://github.com/getnikola/nikola/blob/master/tests/test_integration.py):

```
$ py.test tests/test_integration.py
============================= test session starts ==============================
platform linux2 -- Python 2.7.6 -- py-1.4.20 -- pytest-2.5.2
collected 53 items 

tests/test_integration.py .....................................................

========================== 53 passed in 97.54 seconds ==========================
```


Then I broke something.  Specifically, [commented out the building part](https://github.com/getnikola/nikola/blob/master/tests/test_integration.py#L41).  

```
============================= test session starts ==============================
platform linux2 -- Python 2.7.6 -- py-1.4.20 -- pytest-2.5.2
collected 53 items 

tests/test_integration.py FFFFFFFFFFFFFF.FFFFFFFF..FFF..FFF..FFFFFF$ echo $?
3
```

It just crashes.  No idea why.  I included the debug log, it says something to the effect of the CWD being inexistent.

Then I asked --verbose.  It crashes at this:

```
tests/test_integration.py:108: RelativeLinkTest2.test_avoid_double_slash_in_rss
```

I tried to isolate it.  Here’s the fun part: when I removed everything that was not this test case or what it inherited from, I got a build that actually finished:

```
============================= test session starts ==============================
platform linux2 -- Python 2.7.6 -- py-1.4.20 -- pytest-2.5.2 -- /home/kwpolska/virtualenvs/nikola-py2/bin/python2
collected 8 items 

tests/test_integration.py:80: EmptyBuildTest.test_build FAILED
tests/test_integration.py:108: DemoBuildTest.test_avoid_double_slash_in_rss FAILED                                                                              
tests/test_integration.py:80: DemoBuildTest.test_build FAILED
tests/test_integration.py:103: DemoBuildTest.test_index_in_sitemap FAILED
tests/test_integration.py:108: RelativeLinkTest2.test_avoid_double_slash_in_rss FAILED                                                                          
tests/test_integration.py:80: RelativeLinkTest2.test_build FAILED
tests/test_integration.py:147: RelativeLinkTest2.test_index_in_sitemap FAILED
tests/test_integration.py:133: RelativeLinkTest2.test_relative_links FAILED

=================================== FAILURES ===================================
…snip…
_______________ RelativeLinkTest2.test_avoid_double_slash_in_rss _______________

self = <tests.test_integration.RelativeLinkTest2 testMethod=test_avoid_double_slash_in_rss>

    def test_avoid_double_slash_in_rss(self):
        rss_path = os.path.join(self.target_dir, "output", "rss.xml")
>       rss_data = codecs.open(rss_path, "r", "utf8").read()

tests/test_integration.py:110: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

filename = '/tmp/tmpk9BlUY/target/output/rss.xml', mode = 'rb'
encoding = 'utf8', errors = 'strict', buffering = 1

    def open(filename, mode='rb', encoding=None, errors='strict', buffering=1):
    
        """ Open an encoded file using the given mode and return
            a wrapped version providing transparent encoding/decoding.
    
…snip…
    
        """
        if encoding is not None:
            if 'U' in mode:
                # No automatic conversion of '\n' is done on reading and writing
                mode = mode.strip().replace('U', '')
                if mode[:1] not in set('rwa'):
                    mode = 'r' + mode
            if 'b' not in mode:
                # Force opening of the file in binary mode
                mode = mode + 'b'
>       file = __builtin__.open(filename, mode, buffering)
E       IOError: [Errno 2] No such file or directory: u'/tmp/tmpk9BlUY/target/output/rss.xml'

../../virtualenvs/nikola-py2/lib/python2.7/codecs.py:881: IOError
…snip…
=========================== 8 failed in 0.51 seconds ===========================
```

What might be causing this?




More information about the pytest-commit mailing list