FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

gh-130727: Retry test_wmi on TimeoutError by vstinner · Pull Request #130832 · python/cpython · GitHub

Repository navigation

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension .py  (1) All 1 file type selected
Viewed files
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Unified
Split
Hide whitespace
Diff view
Unified
Split
Hide whitespace
24 changes: 13 additions & 11 deletions Lib/test/test_wmi.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@

import time
import unittest
from test.support import import_helper, requires_resource, LOOPBACK_TIMEOUT
from test import support
from test.support import import_helper


# Do this first so test will be skipped if module doesn't exist
Expand All @@ -12,15 +13,16 @@

def wmi_exec_query(query):
# gh-112278: WMI maybe slow response when first call.
try:
return _wmi.exec_query(query)
except BrokenPipeError:
pass
except WindowsError as e:
if e.winerror != 258:
raise
time.sleep(LOOPBACK_TIMEOUT)
return _wmi.exec_query(query)
for _ in support.sleeping_retry(support.LONG_TIMEOUT):
try:
return _wmi.exec_query(query)
except BrokenPipeError:
pass
# retry on pipe error
except WindowsError as exc:
if exc.winerror != 258:
raise
# retry on timeout


class WmiTests(unittest.TestCase):
Expand Down Expand Up @@ -58,7 +60,7 @@ def test_wmi_query_not_select(self):
with self.assertRaises(ValueError):
wmi_exec_query("not select, just in case someone tries something")

@requires_resource('cpu')
@support.requires_resource('cpu')
def test_wmi_query_overflow(self):
# Ensure very big queries fail
# Test multiple times to ensure consistency
Expand Down

Back | FazBrowse Home | New Git URL