Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
python-poetry
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
python-poetry
Commits
b6fb3a39
Unverified
Commit
b6fb3a39
authored
Feb 27, 2023
by
Randy Döring
Committed by
GitHub
Feb 27, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: don't merge sources into config (#7560)
parent
a3f6437b
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
80 additions
and
39 deletions
+80
-39
src/poetry/console/commands/source/add.py
+1
-5
src/poetry/factory.py
+12
-12
src/poetry/installation/chef.py
+7
-8
src/poetry/installation/executor.py
+1
-1
tests/console/commands/self/conftest.py
+8
-2
tests/console/commands/test_config.py
+39
-0
tests/installation/test_chef.py
+7
-4
tests/installation/test_executor.py
+5
-7
No files found.
src/poetry/console/commands/source/add.py
View file @
b6fb3a39
...
@@ -83,13 +83,9 @@ class SourceAddCommand(Command):
...
@@ -83,13 +83,9 @@ class SourceAddCommand(Command):
self
.
line
(
f
"Adding source with name <c1>{name}</c1>."
)
self
.
line
(
f
"Adding source with name <c1>{name}</c1>."
)
sources
.
append
(
source_to_table
(
new_source
))
sources
.
append
(
source_to_table
(
new_source
))
self
.
poetry
.
config
.
merge
(
{
"sources"
:
{
source
[
"name"
]:
source
for
source
in
sources
}}
)
# ensure new source is valid. eg: invalid name etc.
# ensure new source is valid. eg: invalid name etc.
try
:
try
:
pool
=
Factory
.
create_pool
(
self
.
poetry
.
config
,
NullIO
())
pool
=
Factory
.
create_pool
(
self
.
poetry
.
config
,
sources
,
NullIO
())
pool
.
repository
(
name
)
pool
.
repository
(
name
)
except
ValueError
as
e
:
except
ValueError
as
e
:
self
.
line_error
(
self
.
line_error
(
...
...
src/poetry/factory.py
View file @
b6fb3a39
...
@@ -23,6 +23,7 @@ from poetry.poetry import Poetry
...
@@ -23,6 +23,7 @@ from poetry.poetry import Poetry
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
collections.abc
import
Iterable
from
pathlib
import
Path
from
pathlib
import
Path
from
cleo.io.io
import
IO
from
cleo.io.io
import
IO
...
@@ -89,16 +90,14 @@ class Factory(BaseFactory):
...
@@ -89,16 +90,14 @@ class Factory(BaseFactory):
disable_cache
,
disable_cache
,
)
)
# Configuring sources
poetry
.
set_pool
(
config
.
merge
(
self
.
create_pool
(
{
config
,
"sources"
:
{
poetry
.
local_config
.
get
(
"source"
,
[]),
source
[
"name"
]:
source
io
,
for
source
in
poetry
.
local_config
.
get
(
"source"
,
[])
disable_cache
=
disable_cache
,
}
)
}
)
)
poetry
.
set_pool
(
self
.
create_pool
(
config
,
io
,
disable_cache
=
disable_cache
))
plugin_manager
=
PluginManager
(
Plugin
.
group
,
disable_plugins
=
disable_plugins
)
plugin_manager
=
PluginManager
(
Plugin
.
group
,
disable_plugins
=
disable_plugins
)
plugin_manager
.
load_plugins
()
plugin_manager
.
load_plugins
()
...
@@ -114,7 +113,8 @@ class Factory(BaseFactory):
...
@@ -114,7 +113,8 @@ class Factory(BaseFactory):
@classmethod
@classmethod
def
create_pool
(
def
create_pool
(
cls
,
cls
,
config
:
Config
,
auth_config
:
Config
,
sources
:
Iterable
[
dict
[
str
,
Any
]]
=
(),
io
:
IO
|
None
=
None
,
io
:
IO
|
None
=
None
,
disable_cache
:
bool
=
False
,
disable_cache
:
bool
=
False
,
)
->
RepositoryPool
:
)
->
RepositoryPool
:
...
@@ -128,9 +128,9 @@ class Factory(BaseFactory):
...
@@ -128,9 +128,9 @@ class Factory(BaseFactory):
pool
=
RepositoryPool
()
pool
=
RepositoryPool
()
for
source
in
config
.
get
(
"sources"
,
{})
.
values
()
:
for
source
in
sources
:
repository
=
cls
.
create_package_source
(
repository
=
cls
.
create_package_source
(
source
,
config
,
disable_cache
=
disable_cache
source
,
auth_
config
,
disable_cache
=
disable_cache
)
)
is_default
=
source
.
get
(
"default"
,
False
)
is_default
=
source
.
get
(
"default"
,
False
)
is_secondary
=
source
.
get
(
"secondary"
,
False
)
is_secondary
=
source
.
get
(
"secondary"
,
False
)
...
...
src/poetry/installation/chef.py
View file @
b6fb3a39
...
@@ -30,6 +30,7 @@ if TYPE_CHECKING:
...
@@ -30,6 +30,7 @@ if TYPE_CHECKING:
from
poetry.core.packages.utils.link
import
Link
from
poetry.core.packages.utils.link
import
Link
from
poetry.config.config
import
Config
from
poetry.config.config
import
Config
from
poetry.repositories
import
RepositoryPool
from
poetry.utils.env
import
Env
from
poetry.utils.env
import
Env
...
@@ -42,9 +43,9 @@ class ChefBuildError(ChefError):
...
@@ -42,9 +43,9 @@ class ChefBuildError(ChefError):
class
IsolatedEnv
(
BaseIsolatedEnv
):
class
IsolatedEnv
(
BaseIsolatedEnv
):
def
__init__
(
self
,
env
:
Env
,
config
:
Config
)
->
None
:
def
__init__
(
self
,
env
:
Env
,
pool
:
RepositoryPool
)
->
None
:
self
.
_env
=
env
self
.
_env
=
env
self
.
_
config
=
config
self
.
_
pool
=
pool
@property
@property
def
executable
(
self
)
->
str
:
def
executable
(
self
)
->
str
:
...
@@ -60,7 +61,6 @@ class IsolatedEnv(BaseIsolatedEnv):
...
@@ -60,7 +61,6 @@ class IsolatedEnv(BaseIsolatedEnv):
from
poetry.core.packages.project_package
import
ProjectPackage
from
poetry.core.packages.project_package
import
ProjectPackage
from
poetry.config.config
import
Config
from
poetry.config.config
import
Config
from
poetry.factory
import
Factory
from
poetry.installation.installer
import
Installer
from
poetry.installation.installer
import
Installer
from
poetry.packages.locker
import
Locker
from
poetry.packages.locker
import
Locker
from
poetry.repositories.installed_repository
import
InstalledRepository
from
poetry.repositories.installed_repository
import
InstalledRepository
...
@@ -72,13 +72,12 @@ class IsolatedEnv(BaseIsolatedEnv):
...
@@ -72,13 +72,12 @@ class IsolatedEnv(BaseIsolatedEnv):
dependency
=
Dependency
.
create_from_pep_508
(
requirement
)
dependency
=
Dependency
.
create_from_pep_508
(
requirement
)
package
.
add_dependency
(
dependency
)
package
.
add_dependency
(
dependency
)
pool
=
Factory
.
create_pool
(
self
.
_config
)
installer
=
Installer
(
installer
=
Installer
(
NullIO
(),
NullIO
(),
self
.
_env
,
self
.
_env
,
package
,
package
,
Locker
(
self
.
_env
.
path
.
joinpath
(
"poetry.lock"
),
{}),
Locker
(
self
.
_env
.
path
.
joinpath
(
"poetry.lock"
),
{}),
pool
,
self
.
_
pool
,
Config
.
create
(),
Config
.
create
(),
InstalledRepository
.
load
(
self
.
_env
),
InstalledRepository
.
load
(
self
.
_env
),
)
)
...
@@ -87,9 +86,9 @@ class IsolatedEnv(BaseIsolatedEnv):
...
@@ -87,9 +86,9 @@ class IsolatedEnv(BaseIsolatedEnv):
class
Chef
:
class
Chef
:
def
__init__
(
self
,
config
:
Config
,
env
:
Env
)
->
None
:
def
__init__
(
self
,
config
:
Config
,
env
:
Env
,
pool
:
RepositoryPool
)
->
None
:
self
.
_config
=
config
self
.
_env
=
env
self
.
_env
=
env
self
.
_pool
=
pool
self
.
_cache_dir
=
(
self
.
_cache_dir
=
(
Path
(
config
.
get
(
"cache-dir"
))
.
expanduser
()
.
joinpath
(
"artifacts"
)
Path
(
config
.
get
(
"cache-dir"
))
.
expanduser
()
.
joinpath
(
"artifacts"
)
)
)
...
@@ -113,7 +112,7 @@ class Chef:
...
@@ -113,7 +112,7 @@ class Chef:
from
subprocess
import
CalledProcessError
from
subprocess
import
CalledProcessError
with
ephemeral_environment
(
self
.
_env
.
python
)
as
venv
:
with
ephemeral_environment
(
self
.
_env
.
python
)
as
venv
:
env
=
IsolatedEnv
(
venv
,
self
.
_
config
)
env
=
IsolatedEnv
(
venv
,
self
.
_
pool
)
builder
=
ProjectBuilder
(
builder
=
ProjectBuilder
(
directory
,
directory
,
python_executable
=
env
.
executable
,
python_executable
=
env
.
executable
,
...
...
src/poetry/installation/executor.py
View file @
b6fb3a39
...
@@ -79,7 +79,7 @@ class Executor:
...
@@ -79,7 +79,7 @@ class Executor:
self
.
_authenticator
=
Authenticator
(
self
.
_authenticator
=
Authenticator
(
config
,
self
.
_io
,
disable_cache
=
disable_cache
,
pool_size
=
self
.
_max_workers
config
,
self
.
_io
,
disable_cache
=
disable_cache
,
pool_size
=
self
.
_max_workers
)
)
self
.
_chef
=
Chef
(
config
,
self
.
_env
)
self
.
_chef
=
Chef
(
config
,
self
.
_env
,
pool
)
self
.
_chooser
=
Chooser
(
pool
,
self
.
_env
,
config
)
self
.
_chooser
=
Chooser
(
pool
,
self
.
_env
,
config
)
self
.
_executor
=
ThreadPoolExecutor
(
max_workers
=
self
.
_max_workers
)
self
.
_executor
=
ThreadPoolExecutor
(
max_workers
=
self
.
_max_workers
)
...
...
tests/console/commands/self/conftest.py
View file @
b6fb3a39
from
__future__
import
annotations
from
__future__
import
annotations
from
typing
import
TYPE_CHECKING
from
typing
import
TYPE_CHECKING
from
typing
import
Any
from
typing
import
Callable
from
typing
import
Callable
import
pytest
import
pytest
...
@@ -14,6 +15,8 @@ from poetry.utils.env import EnvManager
...
@@ -14,6 +15,8 @@ from poetry.utils.env import EnvManager
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
collections.abc
import
Iterable
import
httpretty
import
httpretty
from
cleo.io.io
import
IO
from
cleo.io.io
import
IO
...
@@ -44,9 +47,12 @@ def pool(repo: TestRepository) -> RepositoryPool:
...
@@ -44,9 +47,12 @@ def pool(repo: TestRepository) -> RepositoryPool:
def
create_pool_factory
(
def
create_pool_factory
(
repo
:
Repository
,
repo
:
Repository
,
)
->
Callable
[[
Config
,
IO
,
bool
],
RepositoryPool
]:
)
->
Callable
[[
Config
,
I
terable
[
dict
[
str
,
Any
]],
I
O
,
bool
],
RepositoryPool
]:
def
_create_pool
(
def
_create_pool
(
config
:
Config
,
io
:
IO
,
disable_cache
:
bool
=
False
config
:
Config
,
sources
:
Iterable
[
dict
[
str
,
Any
]]
=
(),
io
:
IO
|
None
=
None
,
disable_cache
:
bool
=
False
,
)
->
RepositoryPool
:
)
->
RepositoryPool
:
pool
=
RepositoryPool
()
pool
=
RepositoryPool
()
pool
.
add_repository
(
repo
)
pool
.
add_repository
(
repo
)
...
...
tests/console/commands/test_config.py
View file @
b6fb3a39
...
@@ -24,6 +24,7 @@ if TYPE_CHECKING:
...
@@ -24,6 +24,7 @@ if TYPE_CHECKING:
from
poetry.config.dict_config_source
import
DictConfigSource
from
poetry.config.dict_config_source
import
DictConfigSource
from
tests.types
import
CommandTesterFactory
from
tests.types
import
CommandTesterFactory
from
tests.types
import
FixtureDirGetter
from
tests.types
import
FixtureDirGetter
from
tests.types
import
ProjectFactory
@pytest.fixture
()
@pytest.fixture
()
...
@@ -156,6 +157,44 @@ virtualenvs.prompt = "{{project_name}}-py{{python_version}}"
...
@@ -156,6 +157,44 @@ virtualenvs.prompt = "{{project_name}}-py{{python_version}}"
assert
tester
.
io
.
fetch_output
()
==
expected
assert
tester
.
io
.
fetch_output
()
==
expected
def
test_list_must_not_display_sources_from_pyproject_toml
(
project_factory
:
ProjectFactory
,
fixture_dir
:
FixtureDirGetter
,
command_tester_factory
:
CommandTesterFactory
,
config
:
Config
,
config_cache_dir
:
Path
,
):
source
=
fixture_dir
(
"with_non_default_source"
)
pyproject_content
=
(
source
/
"pyproject.toml"
)
.
read_text
(
encoding
=
"utf-8"
)
poetry
=
project_factory
(
"foo"
,
pyproject_content
=
pyproject_content
)
tester
=
command_tester_factory
(
"config"
,
poetry
=
poetry
)
tester
.
execute
(
"--list"
)
cache_dir
=
json
.
dumps
(
str
(
config_cache_dir
))
venv_path
=
json
.
dumps
(
os
.
path
.
join
(
"{cache-dir}"
,
"virtualenvs"
))
expected
=
f
"""cache-dir = {cache_dir}
experimental.new-installer = true
experimental.system-git-client = false
installer.max-workers = null
installer.modern-installation = true
installer.no-binary = null
installer.parallel = true
repositories.foo.url = "https://foo.bar/simple/"
virtualenvs.create = true
virtualenvs.in-project = null
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.no-setuptools = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = {venv_path} # {config_cache_dir / 'virtualenvs'}
virtualenvs.prefer-active-python = false
virtualenvs.prompt = "{{project_name}}-py{{python_version}}"
"""
assert
tester
.
io
.
fetch_output
()
==
expected
def
test_set_pypi_token
(
tester
:
CommandTester
,
auth_config_source
:
DictConfigSource
):
def
test_set_pypi_token
(
tester
:
CommandTester
,
auth_config_source
:
DictConfigSource
):
tester
.
execute
(
"pypi-token.pypi mytoken"
)
tester
.
execute
(
"pypi-token.pypi mytoken"
)
tester
.
execute
(
"--list"
)
tester
.
execute
(
"--list"
)
...
...
tests/installation/test_chef.py
View file @
b6fb3a39
...
@@ -63,6 +63,7 @@ def test_get_cached_archive_for_link(
...
@@ -63,6 +63,7 @@ def test_get_cached_archive_for_link(
Tag
(
"py3"
,
"none"
,
"any"
),
Tag
(
"py3"
,
"none"
,
"any"
),
],
],
),
),
Factory
.
create_pool
(
config
),
)
)
mocker
.
patch
.
object
(
mocker
.
patch
.
object
(
...
@@ -87,6 +88,7 @@ def test_get_cached_archives_for_link(config: Config, mocker: MockerFixture):
...
@@ -87,6 +88,7 @@ def test_get_cached_archives_for_link(config: Config, mocker: MockerFixture):
MockEnv
(
MockEnv
(
marker_env
=
{
"interpreter_name"
:
"cpython"
,
"interpreter_version"
:
"3.8.3"
}
marker_env
=
{
"interpreter_name"
:
"cpython"
,
"interpreter_version"
:
"3.8.3"
}
),
),
Factory
.
create_pool
(
config
),
)
)
distributions
=
Path
(
__file__
)
.
parent
.
parent
.
joinpath
(
"fixtures/distributions"
)
distributions
=
Path
(
__file__
)
.
parent
.
parent
.
joinpath
(
"fixtures/distributions"
)
...
@@ -110,6 +112,7 @@ def test_get_cache_directory_for_link(config: Config, config_cache_dir: Path):
...
@@ -110,6 +112,7 @@ def test_get_cache_directory_for_link(config: Config, config_cache_dir: Path):
MockEnv
(
MockEnv
(
marker_env
=
{
"interpreter_name"
:
"cpython"
,
"interpreter_version"
:
"3.8.3"
}
marker_env
=
{
"interpreter_name"
:
"cpython"
,
"interpreter_version"
:
"3.8.3"
}
),
),
Factory
.
create_pool
(
config
),
)
)
directory
=
chef
.
get_cache_directory_for_link
(
directory
=
chef
.
get_cache_directory_for_link
(
...
@@ -125,7 +128,7 @@ def test_get_cache_directory_for_link(config: Config, config_cache_dir: Path):
...
@@ -125,7 +128,7 @@ def test_get_cache_directory_for_link(config: Config, config_cache_dir: Path):
def
test_prepare_sdist
(
config
:
Config
,
config_cache_dir
:
Path
)
->
None
:
def
test_prepare_sdist
(
config
:
Config
,
config_cache_dir
:
Path
)
->
None
:
chef
=
Chef
(
config
,
EnvManager
.
get_system_env
())
chef
=
Chef
(
config
,
EnvManager
.
get_system_env
()
,
Factory
.
create_pool
(
config
)
)
archive
=
(
archive
=
(
Path
(
__file__
)
Path
(
__file__
)
...
@@ -142,7 +145,7 @@ def test_prepare_sdist(config: Config, config_cache_dir: Path) -> None:
...
@@ -142,7 +145,7 @@ def test_prepare_sdist(config: Config, config_cache_dir: Path) -> None:
def
test_prepare_directory
(
config
:
Config
,
config_cache_dir
:
Path
):
def
test_prepare_directory
(
config
:
Config
,
config_cache_dir
:
Path
):
chef
=
Chef
(
config
,
EnvManager
.
get_system_env
())
chef
=
Chef
(
config
,
EnvManager
.
get_system_env
()
,
Factory
.
create_pool
(
config
)
)
archive
=
Path
(
__file__
)
.
parent
.
parent
.
joinpath
(
"fixtures/simple_project"
)
.
resolve
()
archive
=
Path
(
__file__
)
.
parent
.
parent
.
joinpath
(
"fixtures/simple_project"
)
.
resolve
()
...
@@ -155,7 +158,7 @@ def test_prepare_directory_with_extensions(
...
@@ -155,7 +158,7 @@ def test_prepare_directory_with_extensions(
config
:
Config
,
config_cache_dir
:
Path
config
:
Config
,
config_cache_dir
:
Path
)
->
None
:
)
->
None
:
env
=
EnvManager
.
get_system_env
()
env
=
EnvManager
.
get_system_env
()
chef
=
Chef
(
config
,
env
)
chef
=
Chef
(
config
,
env
,
Factory
.
create_pool
(
config
)
)
archive
=
(
archive
=
(
Path
(
__file__
)
Path
(
__file__
)
...
@@ -169,7 +172,7 @@ def test_prepare_directory_with_extensions(
...
@@ -169,7 +172,7 @@ def test_prepare_directory_with_extensions(
def
test_prepare_directory_editable
(
config
:
Config
,
config_cache_dir
:
Path
):
def
test_prepare_directory_editable
(
config
:
Config
,
config_cache_dir
:
Path
):
chef
=
Chef
(
config
,
EnvManager
.
get_system_env
())
chef
=
Chef
(
config
,
EnvManager
.
get_system_env
()
,
Factory
.
create_pool
(
config
)
)
archive
=
Path
(
__file__
)
.
parent
.
parent
.
joinpath
(
"fixtures/simple_project"
)
.
resolve
()
archive
=
Path
(
__file__
)
.
parent
.
parent
.
joinpath
(
"fixtures/simple_project"
)
.
resolve
()
...
...
tests/installation/test_executor.py
View file @
b6fb3a39
...
@@ -202,7 +202,7 @@ def test_execute_executes_a_batch_of_operations(
...
@@ -202,7 +202,7 @@ def test_execute_executes_a_batch_of_operations(
config
.
merge
({
"cache-dir"
:
tmp_dir
})
config
.
merge
({
"cache-dir"
:
tmp_dir
})
prepare_spy
=
mocker
.
spy
(
Chef
,
"_prepare"
)
prepare_spy
=
mocker
.
spy
(
Chef
,
"_prepare"
)
chef
=
Chef
(
config
,
env
)
chef
=
Chef
(
config
,
env
,
Factory
.
create_pool
(
config
)
)
chef
.
set_directory_wheel
([
copy_wheel
(),
copy_wheel
()])
chef
.
set_directory_wheel
([
copy_wheel
(),
copy_wheel
()])
chef
.
set_sdist_wheel
(
copy_wheel
())
chef
.
set_sdist_wheel
(
copy_wheel
())
...
@@ -661,7 +661,7 @@ def test_executor_should_write_pep610_url_references_for_directories(
...
@@ -661,7 +661,7 @@ def test_executor_should_write_pep610_url_references_for_directories(
"demo"
,
"0.1.2"
,
source_type
=
"directory"
,
source_url
=
url
.
as_posix
()
"demo"
,
"0.1.2"
,
source_type
=
"directory"
,
source_url
=
url
.
as_posix
()
)
)
chef
=
Chef
(
config
,
tmp_venv
)
chef
=
Chef
(
config
,
tmp_venv
,
Factory
.
create_pool
(
config
)
)
chef
.
set_directory_wheel
(
wheel
)
chef
.
set_directory_wheel
(
wheel
)
executor
=
Executor
(
tmp_venv
,
pool
,
config
,
io
)
executor
=
Executor
(
tmp_venv
,
pool
,
config
,
io
)
...
@@ -692,7 +692,7 @@ def test_executor_should_write_pep610_url_references_for_editable_directories(
...
@@ -692,7 +692,7 @@ def test_executor_should_write_pep610_url_references_for_editable_directories(
develop
=
True
,
develop
=
True
,
)
)
chef
=
Chef
(
config
,
tmp_venv
)
chef
=
Chef
(
config
,
tmp_venv
,
Factory
.
create_pool
(
config
)
)
chef
.
set_directory_wheel
(
wheel
)
chef
.
set_directory_wheel
(
wheel
)
executor
=
Executor
(
tmp_venv
,
pool
,
config
,
io
)
executor
=
Executor
(
tmp_venv
,
pool
,
config
,
io
)
...
@@ -756,7 +756,7 @@ def test_executor_should_write_pep610_url_references_for_git(
...
@@ -756,7 +756,7 @@ def test_executor_should_write_pep610_url_references_for_git(
source_url
=
"https://github.com/demo/demo.git"
,
source_url
=
"https://github.com/demo/demo.git"
,
)
)
chef
=
Chef
(
config
,
tmp_venv
)
chef
=
Chef
(
config
,
tmp_venv
,
Factory
.
create_pool
(
config
)
)
chef
.
set_directory_wheel
(
wheel
)
chef
.
set_directory_wheel
(
wheel
)
executor
=
Executor
(
tmp_venv
,
pool
,
config
,
io
)
executor
=
Executor
(
tmp_venv
,
pool
,
config
,
io
)
...
@@ -794,7 +794,7 @@ def test_executor_should_write_pep610_url_references_for_git_with_subdirectories
...
@@ -794,7 +794,7 @@ def test_executor_should_write_pep610_url_references_for_git_with_subdirectories
source_subdirectory
=
"two"
,
source_subdirectory
=
"two"
,
)
)
chef
=
Chef
(
config
,
tmp_venv
)
chef
=
Chef
(
config
,
tmp_venv
,
Factory
.
create_pool
(
config
)
)
chef
.
set_directory_wheel
(
wheel
)
chef
.
set_directory_wheel
(
wheel
)
executor
=
Executor
(
tmp_venv
,
pool
,
config
,
io
)
executor
=
Executor
(
tmp_venv
,
pool
,
config
,
io
)
...
@@ -950,8 +950,6 @@ def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess(
...
@@ -950,8 +950,6 @@ def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess(
mock_file_downloads
:
None
,
mock_file_downloads
:
None
,
env
:
MockEnv
,
env
:
MockEnv
,
):
):
mocker
.
patch
.
object
(
Factory
,
"create_pool"
,
return_value
=
pool
)
error
=
BuildBackendException
(
error
=
BuildBackendException
(
CalledProcessError
(
1
,
[
"pip"
],
output
=
b
"Error on stdout"
)
CalledProcessError
(
1
,
[
"pip"
],
output
=
b
"Error on stdout"
)
)
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment