Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 2 additions & 11 deletions src/contraqctor/qc/harp/harp_device.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,15 +112,7 @@ def test_read_dump_is_complete(self):
"""
Check if the read dump from an harp device is complete
"""
expected_regs = self.harp_device.device_reader.device.registers.keys()
ds = [stream for stream in self.harp_device]
missing_regs = [reg_name for reg_name in expected_regs if reg_name not in [r.name for r in ds]]
if len(missing_regs) > 0:
return self.fail_test(
False,
"Read dump is not complete. Some registers are missing.",
context={"missing_registers": missing_regs},
)

def _try_get_last_read(r: HarpRegister) -> t.Optional[pd.DataFrame]:
"""We will assume that all data is loaded. If not we will return None
Expand All @@ -130,9 +122,8 @@ def _try_get_last_read(r: HarpRegister) -> t.Optional[pd.DataFrame]:
except ValueError:
return None

missing_read_dump = [
r.name for r in ds if not (r.name in expected_regs and (_try_get_last_read(r) is not None))
]
missing_read_dump = [r.name for r in ds if not (_try_get_last_read(r) is not None)]

return (
self.pass_test(True, "Read dump is complete")
if len(missing_read_dump) == 0
Expand Down
6 changes: 5 additions & 1 deletion tests/test_qc/harp/test_harp.py
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,11 @@ def test_read_dump_is_complete(self, mock_harp_device):
result = suite.test_read_dump_is_complete()
assert result.status == Status.PASSED

suite.harp_device.device_reader.device.registers["MissingReg"] = {}
no_read_df = pd.DataFrame(
{"NoReadReg": [1], "MessageType": ["WRITE"]},
index=pd.Index([1.0], name="Seconds"),
)
suite.harp_device._registers["NoReadReg"] = MockHarpRegister("NoReadReg", no_read_df)
result = suite.test_read_dump_is_complete()
assert result.status == Status.FAILED
assert "missing_registers" in result.context
Expand Down
Loading