diff --git a/lib/matplotlib/testing/__init__.py b/lib/matplotlib/testing/__init__.py index eff079efe887..f430b0609644 100644 --- a/lib/matplotlib/testing/__init__.py +++ b/lib/matplotlib/testing/__init__.py @@ -92,6 +92,13 @@ def subprocess_run_for_testing(command, env=None, timeout=60, stdout=None, """ if capture_output: stdout = stderr = subprocess.PIPE + # Add CREATE_NO_WINDOW flag on Windows to prevent console window overhead + # This is added in an attempt to fix flaky timeouts of subprocesses on Windows + if sys.platform == 'win32': + if 'creationflags' not in kwargs: + kwargs['creationflags'] = subprocess.CREATE_NO_WINDOW + else: + kwargs['creationflags'] |= subprocess.CREATE_NO_WINDOW try: proc = subprocess.run( command, env=env,