Merge branch 'master' into master

This commit is contained in:
Dan Ryan
2018-06-29 16:59:27 -04:00
committed by GitHub
3 changed files with 83 additions and 23 deletions
+73 -16
View File
@@ -1,24 +1,40 @@
build: off
version: 1.0.{build}
skip_branch_with_pr: true
init:
- ps: >-
git config --global core.sharedRepository true
git config --global core.longpaths true
git config --global core.autocrlf input
if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
Write-Host "There are newer queued builds for this pull request, skipping build."
Exit-AppveyorBuild
}
If (($env:SKIP_NOTAG -eq "true") -and ($env:APPVEYOR_REPO_TAG -ne "true")) {
Write-Host "Skipping build, not at a tag."
Exit-AppveyorBuild
}
- git config --global core.sharedRepository true
- git config --global core.longpaths true
- git config --global core.autocrlf input
environment:
PYPI_VENDOR_DIR: '.\tests\pypi\'
GIT_ASK_YESNO: 'false'
APPVEYOR_SAVE_CACHE_ON_ERROR: 'true'
APPVEYOR_SKIP_FINALIZE_ON_EXIT: 'true'
SHELL: 'windows'
PYTHON_ARCH: '64'
PYTHONIOENCODING: 'utf-8'
matrix:
- PYTHON: 'C:\Python27-x64'
PYTHON_VERSION: '2.7.x'
TEST_SUITE: 'not install'
@@ -39,19 +55,60 @@ environment:
PYTEST_ADDOPTS: '--cache-clear'
RUN_INTEGRATION_TESTS: 'True'
- PYTHON: 'C:\Python37-x64'
PYTHON_VERSION: '3.7.x'
TEST_SUITE: 'not install'
- PYTHON: 'C:\Python37-x64'
PYTHON_VERSION: '3.7.x'
TEST_SUITE: 'install'
PYTEST_ADDOPTS: '--cache-clear'
RUN_INTEGRATION_TESTS: 'True'
install:
- 'set PATH=%PYTHON%;%PYTHON%\Scripts;%PATH%'
- '%PYTHON%\python.exe -m pip install --upgrade pip'
- '%PYTHON%\python.exe -m pip install -e .'
- '%PYTHON%\python.exe -m pipenv run pip install -e .'
- '%PYTHON%\python.exe -m pipenv install --dev'
- '%PYTHON%\python.exe -m pipenv --venv'
- '%PYTHON%\python.exe -m pipenv --py'
- '%PYTHON%\python.exe -m pipenv run python --version'
- ps: >-
$script_path = Join-Path -path $env:PYTHON -childpath Scripts
$py_exe = Join-Path -path $env:PYTHON -childpath python.exe
$pipenv_exe = Join-Path -path $script_path -childpath pipenv.exe
$env:PATH = "$py_path;$script_path;$env:PATH"
Invoke-Expression "$py_exe -m pip install --upgrade pip invoke"
Invoke-Expression "$py_exe -m pip install -e ."
Invoke-Expression "$pipenv_exe install --dev"
Invoke-Expression "$pipenv_exe --venv"
Invoke-Expression "$pipenv_exe --py"
cache:
- '%LocalAppData%\pip\cache'
- '%LocalAppData%\pip\cache'
- '%LocalAppData%\pipenv\cache'
test_script:
- 'if "%RUN_INTEGRATION_TESTS%" == "True" (rmdir /s /q %LocalAppData%\pip\cache)'
- '%PYTHON%\python.exe -m pipenv run pytest -v -n 4 -m "%TEST_SUITE%" tests'
- ps: >-
$script_path = Join-Path -path $env:PYTHON -childpath Scripts
$py_exe = Join-Path -path $env:PYTHON -childpath python.exe
$pipenv_exe = Join-Path -path $script_path -childpath pipenv.exe
$env:PATH = "$py_path;$script_path;$env:PATH"
$invoke_path = Join-Path -path $script_path -childpath invoke.exe
Invoke-Expression "$pipenv_exe run pytest -v -n 4 --ignore=pipenv\patched --ignore=pipenv\vendor -m `"$env:TEST_SUITE`" tests"
If ($env:RUN_INTEGRATION_TESTS -and ($env:PYTHON_VERSION -eq "3.6.x")) {
Invoke-Expression "$py_exe -m pip install invoke parver"
Invoke-Expression "$invoke_path vendoring.update"
}
+5
View File
@@ -19,6 +19,7 @@ if [[ ! -z "$TEST_SUITE" ]]; then
fi
export PATH="~/.local/bin:$PATH"
pip uninstall -y pipenv
echo "Installing Pipenv…"
pip install -e "$(pwd)" --upgrade
pipenv install --deploy --dev
@@ -50,5 +51,9 @@ echo "$ pipenv run time pytest -v -n auto tests -m \"$TEST_SUITE\""
# Better to run them sequentially.
PIPENV_PYTHON=2.7 pipenv run time pytest -v -n auto tests -m "$TEST_SUITE"
PIPENV_PYTHON=3.6 pipenv run time pytest -v -n auto tests -m "$TEST_SUITE"
# test revendoring
pip3 install --upgrade invoke requests parver
python3 -m invoke vendoring.update
# Cleanup junk.
rm -fr .venv
+5 -7
View File
@@ -4,11 +4,12 @@ XXX: Try our best to reduce tests in this file.
"""
import os
from tempfile import gettempdir, mkdtemp
from tempfile import mkdtemp
import mock
import pytest
from pipenv.utils import temp_environ
from pipenv.project import Project
from pipenv.vendor import delegator
from pipenv._compat import Path
@@ -94,14 +95,11 @@ def test_proper_names_unamanged_virtualenv(PipenvInstance, pypi):
def test_directory_with_leading_dash(PipenvInstance):
def mocked_mkdtemp(suffix, prefix, dir):
if suffix == '-project':
temp_dir = Path(gettempdir()) / '-dir-with-leading-dash'
temp_dir.mkdir()
return str(temp_dir)
else:
return mkdtemp(suffix, prefix, dir)
prefix = '-dir-with-leading-dash'
return mkdtemp(suffix, prefix, dir)
with mock.patch('pipenv._compat.mkdtemp', side_effect=mocked_mkdtemp):
with PipenvInstance(chdir=True) as p:
with temp_environ(), PipenvInstance(chdir=True) as p:
# This environment variable is set in the context manager and will
# cause pipenv to use virtualenv, not pew.
del os.environ['PIPENV_VENV_IN_PROJECT']