test_time_step{1} tests fail in IGWN Conda Distribution integration test suite
I am seeing failures from the test_time_step{1}
tests in cdsutils when attempting to run the pytest suite as part of the much larger IGWN Conda Distribution integration tests:
============================= test session starts ==============================
collected 16 items
. ..........FF.... [100%]
=================================== FAILURES ===================================
___________________________ TestStep.test_time_step ____________________________
self = <cdsutils.tests.TestStep testMethod=test_time_step>
def test_time_step(self):
self.ezca['GAIN'] = 0
time_step = 0.01
nsteps = 100
dt = time_step * nsteps
t0 = time.time()
step(self.ezca, 'GAIN', '1,%d' % nsteps, time_step=time_step)
t1 = time.time()
t1e = t0 + dt
ep = 0.1
print('t1-t0={}s, {}s expected ({}s margin)'.format(
t1-t0, time_step*nsteps, ep))
> self.assertTrue(t1e - ep <= t1 <= t1e + ep)
E AssertionError: False is not true
../../../envs/igwn-py38-testing/lib/python3.8/site-packages/cdsutils/tests.py:115: AssertionError
----------------------------- Captured stdout call -----------------------------
t1-t0=9.899808406829834s, 1.0s expected (0.1s margin)
----------------------------- Captured stderr call -----------------------------
T1:TEST-FILTER_GAIN => 0
T1:TEST-FILTER_GAIN => 1.0
T1:TEST-FILTER_GAIN => 2.0
T1:TEST-FILTER_GAIN => 3.0
T1:TEST-FILTER_GAIN => 4.0
T1:TEST-FILTER_GAIN => 5.0
T1:TEST-FILTER_GAIN => 6.0
T1:TEST-FILTER_GAIN => 7.0
T1:TEST-FILTER_GAIN => 8.0
T1:TEST-FILTER_GAIN => 9.0
T1:TEST-FILTER_GAIN => 10.0
T1:TEST-FILTER_GAIN => 11.0
T1:TEST-FILTER_GAIN => 12.0
T1:TEST-FILTER_GAIN => 13.0
T1:TEST-FILTER_GAIN => 14.0
T1:TEST-FILTER_GAIN => 15.0
T1:TEST-FILTER_GAIN => 16.0
T1:TEST-FILTER_GAIN => 17.0
T1:TEST-FILTER_GAIN => 18.0
T1:TEST-FILTER_GAIN => 19.0
T1:TEST-FILTER_GAIN => 20.0
T1:TEST-FILTER_GAIN => 21.0
T1:TEST-FILTER_GAIN => 22.0
T1:TEST-FILTER_GAIN => 23.0
T1:TEST-FILTER_GAIN => 24.0
T1:TEST-FILTER_GAIN => 25.0
T1:TEST-FILTER_GAIN => 26.0
T1:TEST-FILTER_GAIN => 27.0
T1:TEST-FILTER_GAIN => 28.0
T1:TEST-FILTER_GAIN => 29.0
T1:TEST-FILTER_GAIN => 30.0
T1:TEST-FILTER_GAIN => 31.0
T1:TEST-FILTER_GAIN => 32.0
T1:TEST-FILTER_GAIN => 33.0
T1:TEST-FILTER_GAIN => 34.0
T1:TEST-FILTER_GAIN => 35.0
T1:TEST-FILTER_GAIN => 36.0
T1:TEST-FILTER_GAIN => 37.0
T1:TEST-FILTER_GAIN => 38.0
T1:TEST-FILTER_GAIN => 39.0
T1:TEST-FILTER_GAIN => 40.0
T1:TEST-FILTER_GAIN => 41.0
T1:TEST-FILTER_GAIN => 42.0
T1:TEST-FILTER_GAIN => 43.0
T1:TEST-FILTER_GAIN => 44.0
T1:TEST-FILTER_GAIN => 45.0
T1:TEST-FILTER_GAIN => 46.0
T1:TEST-FILTER_GAIN => 47.0
T1:TEST-FILTER_GAIN => 48.0
T1:TEST-FILTER_GAIN => 49.0
T1:TEST-FILTER_GAIN => 50.0
T1:TEST-FILTER_GAIN => 51.0
T1:TEST-FILTER_GAIN => 52.0
T1:TEST-FILTER_GAIN => 53.0
T1:TEST-FILTER_GAIN => 54.0
T1:TEST-FILTER_GAIN => 55.0
T1:TEST-FILTER_GAIN => 56.0
T1:TEST-FILTER_GAIN => 57.0
T1:TEST-FILTER_GAIN => 58.0
T1:TEST-FILTER_GAIN => 59.0
T1:TEST-FILTER_GAIN => 60.0
T1:TEST-FILTER_GAIN => 61.0
T1:TEST-FILTER_GAIN => 62.0
T1:TEST-FILTER_GAIN => 63.0
T1:TEST-FILTER_GAIN => 64.0
T1:TEST-FILTER_GAIN => 65.0
T1:TEST-FILTER_GAIN => 66.0
T1:TEST-FILTER_GAIN => 67.0
T1:TEST-FILTER_GAIN => 68.0
T1:TEST-FILTER_GAIN => 69.0
T1:TEST-FILTER_GAIN => 70.0
T1:TEST-FILTER_GAIN => 71.0
T1:TEST-FILTER_GAIN => 72.0
T1:TEST-FILTER_GAIN => 73.0
T1:TEST-FILTER_GAIN => 74.0
T1:TEST-FILTER_GAIN => 75.0
T1:TEST-FILTER_GAIN => 76.0
T1:TEST-FILTER_GAIN => 77.0
T1:TEST-FILTER_GAIN => 78.0
T1:TEST-FILTER_GAIN => 79.0
T1:TEST-FILTER_GAIN => 80.0
T1:TEST-FILTER_GAIN => 81.0
T1:TEST-FILTER_GAIN => 82.0
T1:TEST-FILTER_GAIN => 83.0
T1:TEST-FILTER_GAIN => 84.0
T1:TEST-FILTER_GAIN => 85.0
T1:TEST-FILTER_GAIN => 86.0
T1:TEST-FILTER_GAIN => 87.0
T1:TEST-FILTER_GAIN => 88.0
T1:TEST-FILTER_GAIN => 89.0
T1:TEST-FILTER_GAIN => 90.0
T1:TEST-FILTER_GAIN => 91.0
T1:TEST-FILTER_GAIN => 92.0
T1:TEST-FILTER_GAIN => 93.0
T1:TEST-FILTER_GAIN => 94.0
T1:TEST-FILTER_GAIN => 95.0
T1:TEST-FILTER_GAIN => 96.0
T1:TEST-FILTER_GAIN => 97.0
T1:TEST-FILTER_GAIN => 98.0
T1:TEST-FILTER_GAIN => 99.0
T1:TEST-FILTER_GAIN => 100.0
------------------------------ Captured log call -------------------------------
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 1.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 2.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 3.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 4.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 5.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 6.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 7.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 8.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 9.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 10.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 11.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 12.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 13.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 14.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 15.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 16.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 17.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 18.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 19.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 20.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 21.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 22.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 23.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 24.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 25.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 26.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 27.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 28.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 29.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 30.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 31.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 32.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 33.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 34.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 35.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 36.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 37.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 38.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 39.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 40.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 41.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 42.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 43.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 44.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 45.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 46.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 47.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 48.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 49.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 50.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 51.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 52.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 53.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 54.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 55.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 56.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 57.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 58.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 59.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 60.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 61.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 62.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 63.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 64.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 65.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 66.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 67.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 68.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 69.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 70.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 71.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 72.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 73.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 74.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 75.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 76.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 77.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 78.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 79.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 80.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 81.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 82.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 83.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 84.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 85.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 86.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 87.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 88.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 89.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 90.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 91.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 92.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 93.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 94.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 95.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 96.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 97.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 98.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 99.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 100.0
___________________________ TestStep.test_time_step1 ___________________________
self = <cdsutils.tests.TestStep testMethod=test_time_step1>
def test_time_step1(self):
self.ezca['GAIN'] = 0
time_step = 0.1
nsteps = 10
dt = time_step * nsteps
t0 = time.time()
step(self.ezca, 'GAIN', '1,%d' % nsteps, time_step=time_step)
t1 = time.time()
t1e = t0 + dt
ep = 0.1
print('t1-t0={}s, {}s expected ({}s margin)'.format(
t1-t0, time_step*nsteps, ep))
> self.assertTrue(t1e - ep <= t1 <= t1e + ep)
E AssertionError: False is not true
../../../envs/igwn-py38-testing/lib/python3.8/site-packages/cdsutils/tests.py:129: AssertionError
----------------------------- Captured stdout call -----------------------------
t1-t0=1.8920207023620605s, 1.0s expected (0.1s margin)
----------------------------- Captured stderr call -----------------------------
T1:TEST-FILTER_GAIN => 0
T1:TEST-FILTER_GAIN => 1.0
T1:TEST-FILTER_GAIN => 2.0
T1:TEST-FILTER_GAIN => 3.0
T1:TEST-FILTER_GAIN => 4.0
T1:TEST-FILTER_GAIN => 5.0
T1:TEST-FILTER_GAIN => 6.0
T1:TEST-FILTER_GAIN => 7.0
T1:TEST-FILTER_GAIN => 8.0
T1:TEST-FILTER_GAIN => 9.0
T1:TEST-FILTER_GAIN => 10.0
------------------------------ Captured log call -------------------------------
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 1.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 2.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 3.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 4.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 5.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 6.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 7.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 8.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 9.0
WARNING ezca:ezca.py:226 T1:TEST-FILTER_GAIN => 10.0
=============================== warnings summary ===============================
../../../envs/igwn-py38-testing/lib/python3.8/site-packages/cdsutils/matrix.py:3
/builds/computing/conda/envs/igwn-py38-testing/lib/python3.8/site-packages/cdsutils/matrix.py:3: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
from collections import OrderedDict, Iterable
-- Docs: https://docs.pytest.org/en/stable/warnings.html
=========================== short test summary info ============================
FAILED ::TestStep::test_time_step - AssertionError: False is not true
FAILED ::TestStep::test_time_step1 - AssertionError: False is not true
============== 2 failed, 14 passed, 1 warning in 69.79s (0:01:09) ==============
I can't reproduce this locally, which makes me think this is related to running on a very busy machine (the surrounding test suite is huge). Or something like that.