Merge branch 'master' into vendor-pluggy
This commit is contained in:
		
						commit
						a13f23d218
					
				|  | @ -1,7 +1,7 @@ | |||
| sudo: false | ||||
| language: python | ||||
| python: | ||||
|     - '3.5.0b3' | ||||
|     - '3.5' | ||||
| # command to install dependencies | ||||
| install: "pip install -U tox" | ||||
| # # command to run tests | ||||
|  |  | |||
|  | @ -1,6 +1,10 @@ | |||
| 2.8.0.dev (compared to 2.7.X) | ||||
| ----------------------------- | ||||
| 
 | ||||
| - "-r" option now accepts "a" to include all possible reports, similar | ||||
|   to passing "fEsxXw" explicitly (isse960). | ||||
|   Thanks Abhijeet Kasurde for the PR. | ||||
| 
 | ||||
| - fix issue562: @nose.tools.istest now fully respected. | ||||
| 
 | ||||
| - fix issue934: when string comparison fails and a diff is too large to display | ||||
|  |  | |||
|  | @ -72,6 +72,7 @@ class monkeypatch: | |||
|         self._setattr = [] | ||||
|         self._setitem = [] | ||||
|         self._cwd = None | ||||
|         self._savesyspath = None | ||||
| 
 | ||||
|     def setattr(self, target, name, value=notset, raising=True): | ||||
|         """ Set attribute value on target, memorizing the old value. | ||||
|  | @ -173,7 +174,7 @@ class monkeypatch: | |||
| 
 | ||||
|     def syspath_prepend(self, path): | ||||
|         """ Prepend ``path`` to ``sys.path`` list of import locations. """ | ||||
|         if not hasattr(self, '_savesyspath'): | ||||
|         if self._savesyspath is None: | ||||
|             self._savesyspath = sys.path[:] | ||||
|         sys.path.insert(0, str(path)) | ||||
| 
 | ||||
|  | @ -217,9 +218,9 @@ class monkeypatch: | |||
|             else: | ||||
|                 dictionary[name] = value | ||||
|         self._setitem[:] = [] | ||||
|         if hasattr(self, '_savesyspath'): | ||||
|         if self._savesyspath is not None: | ||||
|             sys.path[:] = self._savesyspath | ||||
|             del self._savesyspath | ||||
|             self._savesyspath = None | ||||
| 
 | ||||
|         if self._cwd is not None: | ||||
|             os.chdir(self._cwd) | ||||
|  |  | |||
|  | @ -22,7 +22,7 @@ def pytest_addoption(parser): | |||
|     group._addoption('-r', | ||||
|          action="store", dest="reportchars", default=None, metavar="chars", | ||||
|          help="show extra test summary info as specified by chars (f)ailed, " | ||||
|               "(E)error, (s)skipped, (x)failed, (X)passed (w)warnings.") | ||||
|               "(E)error, (s)skipped, (x)failed, (X)passed (w)warnings (a)all.") | ||||
|     group._addoption('-l', '--showlocals', | ||||
|          action="store_true", dest="showlocals", default=False, | ||||
|          help="show locals in tracebacks (disabled by default).") | ||||
|  | @ -67,8 +67,10 @@ def getreportopt(config): | |||
|     reportchars = config.option.reportchars | ||||
|     if reportchars: | ||||
|         for char in reportchars: | ||||
|             if char not in reportopts: | ||||
|             if char not in reportopts and char != 'a': | ||||
|                 reportopts += char | ||||
|             elif char == 'a': | ||||
|                 reportopts = 'fEsxXw' | ||||
|     return reportopts | ||||
| 
 | ||||
| def pytest_report_teststatus(report): | ||||
|  |  | |||
							
								
								
									
										10
									
								
								appveyor.yml
								
								
								
								
							
							
						
						
									
										10
									
								
								appveyor.yml
								
								
								
								
							|  | @ -1,10 +1,4 @@ | |||
| environment: | ||||
|   global: | ||||
|     # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the | ||||
|     # /E:ON and /V:ON options are not enabled in the batch script intepreter | ||||
|     # See: http://stackoverflow.com/a/13751649/163740 | ||||
|     CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\appveyor\\run_with_env.cmd" | ||||
| 
 | ||||
|   matrix: | ||||
| 
 | ||||
|     # Pre-installed Python versions, which Appveyor may upgrade to | ||||
|  | @ -73,10 +67,10 @@ install: | |||
|   # compiled extensions and are not provided as pre-built wheel packages, | ||||
|   # pip will build them from source using the MSVC compiler matching the | ||||
|   # target Python version and architecture | ||||
|   - "%CMD_IN_ENV% pip install tox" | ||||
|   - C:\Python27\python -m pip install tox | ||||
| 
 | ||||
| build: false  # Not a C# project, build stuff at the test step instead. | ||||
| 
 | ||||
| test_script: | ||||
|   # Build the compiled extension and run the project tests | ||||
|   - "%CMD_IN_ENV% tox -e %TESTENV%" | ||||
|   - C:\Python27\python -m tox -e %TESTENV% | ||||
|  |  | |||
|  | @ -1,47 +0,0 @@ | |||
| :: To build extensions for 64 bit Python 3, we need to configure environment | ||||
| :: variables to use the MSVC 2010 C++ compilers from GRMSDKX_EN_DVD.iso of: | ||||
| :: MS Windows SDK for Windows 7 and .NET Framework 4 (SDK v7.1) | ||||
| :: | ||||
| :: To build extensions for 64 bit Python 2, we need to configure environment | ||||
| :: variables to use the MSVC 2008 C++ compilers from GRMSDKX_EN_DVD.iso of: | ||||
| :: MS Windows SDK for Windows 7 and .NET Framework 3.5 (SDK v7.0) | ||||
| :: | ||||
| :: 32 bit builds do not require specific environment configurations. | ||||
| :: | ||||
| :: Note: this script needs to be run with the /E:ON and /V:ON flags for the | ||||
| :: cmd interpreter, at least for (SDK v7.0) | ||||
| :: | ||||
| :: More details at: | ||||
| :: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows | ||||
| :: http://stackoverflow.com/a/13751649/163740 | ||||
| :: | ||||
| :: Author: Olivier Grisel | ||||
| :: License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/ | ||||
| @ECHO OFF | ||||
| 
 | ||||
| SET COMMAND_TO_RUN=%* | ||||
| SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows | ||||
| 
 | ||||
| SET MAJOR_PYTHON_VERSION="%PYTHON_VERSION:~0,1%" | ||||
| IF %MAJOR_PYTHON_VERSION% == "2" ( | ||||
|     SET WINDOWS_SDK_VERSION="v7.0" | ||||
| ) ELSE IF %MAJOR_PYTHON_VERSION% == "3" ( | ||||
|     SET WINDOWS_SDK_VERSION="v7.1" | ||||
| ) ELSE ( | ||||
|     ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%" | ||||
|     EXIT 1 | ||||
| ) | ||||
| 
 | ||||
| IF "%PYTHON_ARCH%"=="64" ( | ||||
|     ECHO Configuring Windows SDK %WINDOWS_SDK_VERSION% for Python %MAJOR_PYTHON_VERSION% on a 64 bit architecture | ||||
|     SET DISTUTILS_USE_SDK=1 | ||||
|     SET MSSdk=1 | ||||
|     "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION% | ||||
|     "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release | ||||
|     ECHO Executing: %COMMAND_TO_RUN% | ||||
|     call %COMMAND_TO_RUN% || EXIT 1 | ||||
| ) ELSE ( | ||||
|     ECHO Using default MSVC build environment for 32 bit architecture | ||||
|     ECHO Executing: %COMMAND_TO_RUN% | ||||
|     call %COMMAND_TO_RUN% || EXIT 1 | ||||
| ) | ||||
|  | @ -549,6 +549,43 @@ def test_reportchars_error(testdir): | |||
|         'ERROR*test_foo*', | ||||
|     ]) | ||||
| 
 | ||||
| def test_reportchars_all(testdir): | ||||
|     testdir.makepyfile(""" | ||||
|         import pytest | ||||
|         def test_1(): | ||||
|             assert 0 | ||||
|         @pytest.mark.xfail | ||||
|         def test_2(): | ||||
|             assert 0 | ||||
|         @pytest.mark.xfail | ||||
|         def test_3(): | ||||
|             pass | ||||
|         def test_4(): | ||||
|             pytest.skip("four") | ||||
|     """) | ||||
|     result = testdir.runpytest("-ra") | ||||
|     result.stdout.fnmatch_lines([ | ||||
|         "FAIL*test_1*", | ||||
|         "SKIP*four*", | ||||
|         "XFAIL*test_2*", | ||||
|         "XPASS*test_3*", | ||||
|     ]) | ||||
| 
 | ||||
| def test_reportchars_all_error(testdir): | ||||
|     testdir.makepyfile( | ||||
|         conftest=""" | ||||
|         def pytest_runtest_teardown(): | ||||
|             assert 0 | ||||
|         """, | ||||
|         test_simple=""" | ||||
|         def test_foo(): | ||||
|             pass | ||||
|         """) | ||||
|     result = testdir.runpytest('-ra') | ||||
|     result.stdout.fnmatch_lines([ | ||||
|         'ERROR*test_foo*', | ||||
|     ]) | ||||
| 
 | ||||
| @pytest.mark.xfail("hasattr(sys, 'pypy_version_info')") | ||||
| def test_errors_in_xfail_skip_expressions(testdir): | ||||
|     testdir.makepyfile(""" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue