Skip to content

Commit f492111

Browse files
committed
faster perf tests, retry perf tests on except
1 parent 8b5a87e commit f492111

1 file changed

Lines changed: 29 additions & 25 deletions

File tree

tqdm/tests/tests_perf.py

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ def cpu_sleep(t):
3333

3434
def checkCpuTime(sleeptime=0.2):
3535
'''Check if cpu time works correctly'''
36+
if checkCpuTime.passed:
37+
return True
3638
# First test that sleeping does not consume cputime
3739
start1 = process_time()
3840
sleep(sleeptime)
@@ -43,7 +45,10 @@ def checkCpuTime(sleeptime=0.2):
4345
cpu_sleep(sleeptime)
4446
t2 = process_time() - start2
4547

46-
return (abs(t1) < 0.0001 and (t1 < t2 / 10))
48+
if (abs(t1) < 0.0001 and (t1 < t2 / 10)):
49+
return True
50+
raise SkipTest
51+
checkCpuTime.passed = False
4752

4853

4954
@contextmanager
@@ -60,6 +65,23 @@ def elapser(): # NOQA
6065
return spent
6166

6267

68+
def retry_on_except(n=3):
69+
def wrapper(fn):
70+
def test_inner():
71+
for i in range(1, n + 1):
72+
try:
73+
checkCpuTime()
74+
fn()
75+
except:
76+
if i >= n:
77+
raise
78+
else:
79+
return
80+
test_inner.__doc__ = fn.__doc__
81+
return test_inner
82+
return wrapper
83+
84+
6385
class MockIO(StringIO):
6486
""" Wraps StringIO to mock a file with no I/O """
6587
def write(self, data):
@@ -132,12 +154,9 @@ def update_and_yield():
132154

133155

134156
@with_setup(pretest, posttest)
157+
@retry_on_except()
135158
def test_iter_overhead():
136159
""" Test overhead of iteration based tqdm """
137-
try:
138-
assert checkCpuTime()
139-
except:
140-
raise SkipTest
141160

142161
total = int(1e6)
143162

@@ -161,12 +180,9 @@ def test_iter_overhead():
161180

162181

163182
@with_setup(pretest, posttest)
183+
@retry_on_except()
164184
def test_manual_overhead():
165185
""" Test overhead of manual tqdm """
166-
try:
167-
assert checkCpuTime()
168-
except:
169-
raise SkipTest
170186

171187
total = int(1e6)
172188

@@ -191,12 +207,9 @@ def test_manual_overhead():
191207

192208

193209
@with_setup(pretest, posttest)
210+
@retry_on_except()
194211
def test_iter_overhead_hard():
195212
""" Test overhead of iteration based tqdm (hard) """
196-
try:
197-
assert checkCpuTime()
198-
except:
199-
raise SkipTest
200213

201214
total = int(1e5)
202215

@@ -223,12 +236,9 @@ def test_iter_overhead_hard():
223236

224237

225238
@with_setup(pretest, posttest)
239+
@retry_on_except()
226240
def test_manual_overhead_hard():
227241
""" Test overhead of manual tqdm (hard) """
228-
try:
229-
assert checkCpuTime()
230-
except:
231-
raise SkipTest
232242

233243
total = int(1e5)
234244

@@ -256,12 +266,9 @@ def test_manual_overhead_hard():
256266

257267

258268
@with_setup(pretest, posttest)
269+
@retry_on_except()
259270
def test_iter_overhead_simplebar_hard():
260271
""" Test overhead of iteration based tqdm vs simple progress bar (hard) """
261-
try:
262-
assert checkCpuTime()
263-
except:
264-
raise SkipTest
265272

266273
total = int(1e4)
267274

@@ -290,12 +297,9 @@ def test_iter_overhead_simplebar_hard():
290297

291298

292299
@with_setup(pretest, posttest)
300+
@retry_on_except()
293301
def test_manual_overhead_simplebar_hard():
294302
""" Test overhead of manual tqdm vs simple progress bar (hard) """
295-
try:
296-
assert checkCpuTime()
297-
except:
298-
raise SkipTest
299303

300304
total = int(1e4)
301305

0 commit comments

Comments
 (0)