diff options
author | Bernat Gabor <bgabor8@bloomberg.net> | 2020-08-24 07:25:15 +0100 |
---|---|---|
committer | Bernat Gabor <bgabor8@bloomberg.net> | 2020-08-24 08:05:06 +0100 |
commit | 380c2b5e757fbdc3aa36f30198a19c27507de126 (patch) | |
tree | b78a33ed9ca5d79156ee9ca26e4384663ea5e31e | |
parent | 6c098d8daa3ed2b34723b62eef9411bded6460b0 (diff) | |
download | virtualenv-fix/1818.tar.gz |
Avoid showing new windows on Windowsfix/1818
Signed-off-by: Bernat Gabor <bgabor8@bloomberg.net>
-rw-r--r-- | docs/changelog/1928.bugfix.rst | 1 | ||||
-rw-r--r-- | src/virtualenv/seed/wheels/periodic_update.py | 4 | ||||
-rw-r--r-- | src/virtualenv/util/subprocess/__init__.py | 4 | ||||
-rw-r--r-- | tests/unit/seed/wheels/test_periodic_update.py | 4 |
4 files changed, 7 insertions, 6 deletions
diff --git a/docs/changelog/1928.bugfix.rst b/docs/changelog/1928.bugfix.rst new file mode 100644 index 0000000..36a849c --- /dev/null +++ b/docs/changelog/1928.bugfix.rst @@ -0,0 +1 @@ +Avoid spawning new windows when doing seed package upgrades in the background on Windows - by :user:`gaborbernat`. diff --git a/src/virtualenv/seed/wheels/periodic_update.py b/src/virtualenv/seed/wheels/periodic_update.py index 4a8e8bc..b68248c 100644 --- a/src/virtualenv/seed/wheels/periodic_update.py +++ b/src/virtualenv/seed/wheels/periodic_update.py @@ -22,7 +22,7 @@ from six.moves.urllib.request import urlopen from virtualenv.app_data import AppDataDiskFolder from virtualenv.info import PY2 from virtualenv.util.path import Path -from virtualenv.util.subprocess import DETACHED_PROCESS, Popen +from virtualenv.util.subprocess import CREATE_NO_WINDOW, Popen from ..wheels.embed import BUNDLE_SUPPORT from ..wheels.util import Wheel @@ -186,7 +186,7 @@ def trigger_update(distribution, for_py_version, wheel, search_dirs, app_data, p pipe = None if debug else subprocess.PIPE kwargs = {"stdout": pipe, "stderr": pipe} if not debug and sys.platform == "win32": - kwargs["creationflags"] = DETACHED_PROCESS + kwargs["creationflags"] = CREATE_NO_WINDOW process = Popen(cmd, **kwargs) logging.info( "triggered periodic upgrade of %s%s (for python %s) via background process having PID %d", diff --git a/src/virtualenv/util/subprocess/__init__.py b/src/virtualenv/util/subprocess/__init__.py index 22006da..bbb12a9 100644 --- a/src/virtualenv/util/subprocess/__init__.py +++ b/src/virtualenv/util/subprocess/__init__.py @@ -13,7 +13,7 @@ else: Popen = subprocess.Popen -DETACHED_PROCESS = 0x00000008 +CREATE_NO_WINDOW = 0x80000000 def run_cmd(cmd): @@ -32,5 +32,5 @@ __all__ = ( "subprocess", "Popen", "run_cmd", - "DETACHED_PROCESS", + "CREATE_NO_WINDOW", ) diff --git a/tests/unit/seed/wheels/test_periodic_update.py b/tests/unit/seed/wheels/test_periodic_update.py index fab1876..458e8e5 100644 --- a/tests/unit/seed/wheels/test_periodic_update.py +++ b/tests/unit/seed/wheels/test_periodic_update.py @@ -29,7 +29,7 @@ from virtualenv.seed.wheels.periodic_update import ( trigger_update, ) from virtualenv.util.path import Path -from virtualenv.util.subprocess import DETACHED_PROCESS +from virtualenv.util.subprocess import CREATE_NO_WINDOW @pytest.fixture(autouse=True) @@ -224,7 +224,7 @@ def test_trigger_update_no_debug(for_py_version, session_app_data, tmp_path, moc assert args == ([sys.executable, "-c", cmd],) expected = {"stdout": subprocess.PIPE, "stderr": subprocess.PIPE} if sys.platform == "win32": - expected["creationflags"] = DETACHED_PROCESS + expected["creationflags"] = CREATE_NO_WINDOW assert kwargs == expected assert process.communicate.call_count == 0 |