DiamondLightSource / DiamondLightSource/pythonSoftIOC

Intermittently failing test

未关闭
#178 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
bug
主要语言
Python
星标
46
派生
15
平均合并
1 天 18 小时
30 天内合并 PR
1

描述

There seems to be an intermittent failing test, introduced in the Autosave feature. Here's the failure stack from the[ last failed run](https://github.com/DiamondLightSource/pythonSoftIOC/actions/runs/12115105099/job/33772826165):

```
_____________________ 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.](https://github.com/DiamondLightSource/epicsdbbuilder/issues/32)

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

贡献指南

打开贡献指南

调研方向

Start with tests/test_autosave.py::test_context_manager_thread_safety and reproduce the Windows CI failure from the linked run. Compare the Autosave-related behavior with epicsdbbuilder issue #32 and PR #177; done means identifying the intermittent cause, making the test pass reliably in CI, and confirming the failure no longer occurs.

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
testing
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
30/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。