pytest-dev / py

Python development support library (note: maintenance only)
MIT License
67 stars 106 forks source link

Fix windows #157

Closed nicoddemus closed 6 years ago

nicoddemus commented 6 years ago

Trying to make the Windows CI work again.

nicoddemus commented 6 years ago

Had to skip a lot of tests on Windows to get the suite to pass: #161 and #162. Also skipping one of the tests which was failing under xdist (#160).

I want to have the suite passing on Windows specially for the parts which are still used by pytest: for example, the "x" flag being passed to py.path would break pytest on Windows immediately upon release.

nicoddemus commented 6 years ago

Pushed a new commit with the file locking fix for Windows as suggested by @aurzenligl in #143, kudos to him. 👍

nicoddemus commented 6 years ago

I'm hitting this bug when running on Python 2.6 on Windows:

AssertionError    prepare(preparation_data)
  File "D:\Programming\Python26\Lib\multiprocessing\forking.py", line 449, in prepare
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\Programming\Python26\Lib\multiprocessing\forking.py", line 341, in main
:     _assert main_name not in sys.modules, main_name
Traceback (most recent call last):
_main__AssertionError:
  File "<string>", line 1, in <module>
    _prepare(preparation_data)
_main__
  File "D:\Programming\Python26\Lib\multiprocessing\forking.py", line 449, in prepare
  File "D:\Programming\Python26\Lib\multiprocessing\forking.py", line 341, in main
        assert main_name not in sys.modules, main_name
prepare(preparation_data)
AssertionError  File "D:\Programming\Python26\Lib\multiprocessing\forking.py", line 449, in prepare
: _    _main__assert main_name not in sys.modules, main_name

AssertionError: __main__

This is the reason why the py26 environments are all timing out.

I could trace it to this bug which has been fixed in Python 2.7.11. The bug is related to the fact that Windows does not have fork functionality.

My suggestion is to just skip that test in Python 2.6 and Windows for now, given that we plan to remove 2.6 and 3.3 support soon anyway (#159).

RonnyPfannschmidt commented 6 years ago

i agree