DiamondLightSource/pythonSoftIOC

Intermittently failing test

Opened this issue · 0 comments

There seems to be an intermittent failing test, introduced in the Autosave feature. Here's the failure stack from the last failed run:

   _____________________ test_context_manager_thread_safety ______________________
  Traceback (most recent call last):
    ...
    ...
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-4d5mbdhg\cp39-win_amd64\venv-test\lib\site-packages\_pytest\python.py", line 159, in pytest_pyfunc_call
      result = testfunction(**testargs)
    File "D:\a\pythonSoftIOC\pythonSoftIOC\tests\test_autosave.py", line 443, in test_context_manager_thread_safety
      builder.aOut("PV-FROM-CM")
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-4d5mbdhg\cp39-win_amd64\venv-test\lib\site-packages\softioc\builder.py", line 59, in aOut
      return PythonDevice.ao(name, EGU = EGU, PREC = PREC, **fields)
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-4d5mbdhg\cp39-win_amd64\venv-test\lib\site-packages\softioc\pythonSoftIoc.py", line 117, in __call__
      return RecordWrapper(
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-4d5mbdhg\cp39-win_amd64\venv-test\lib\site-packages\softioc\pythonSoftIoc.py", line 36, in __init__
      record.address = '@' + record.name
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-4d5mbdhg\cp39-win_amd64\venv-test\lib\site-packages\epicsdbbuilder\recordbase.py", line 216, in __setattr__
      self.__ValidateField(fieldname, value)
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-4d5mbdhg\cp39-win_amd64\venv-test\lib\site-packages\epicsdbbuilder\recordbase.py", line 227, in __ValidateField
      self._validate.ValidFieldValue(fieldname, str(value))
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-4d5mbdhg\cp39-win_amd64\venv-test\lib\site-packages\epicsdbbuilder\dbd.py", line 91, in ValidFieldValue
      assert message is None, \
  AssertionError: Can't write "@PV-FROM-CM" to field OUT: fldDes not found

The issue appears to be coming from epicsdbbuilder, which is why I've raised this issue there.

I've attempted to investigate this issue in CI in PR #177 , but have been unable to recreate it so far.