def test_listen_dep_not_atr_and_then_ioerror(self, device):
atr_req = 'D4FF 30313233343536373839 00000000'
atr_res = 'D501 d0d1d2d3d4d5d6d7d8d9 0000000800'
device.chipset.transport.read.side_effect = [
ACK(), RSP('09 00'), # WriteRegister
ACK(), RSP('8D 05 11' + atr_req), # TgInitAsTarget
ACK(), IOError(errno.ETIMEDOUT, ""), # TgInitAsTarget
ACK(), IOError(errno.EIO, ""), # TgInitAsTarget
]
target = nfc.clf.LocalTarget()
target.sensf_res = HEX("01 01fe010203040506 0000000000000000 0000")
target.sens_res = HEX("0101")
target.sel_res = HEX("40")
target.sdd_res = HEX("08010203")
target.atr_res = HEX(atr_res)
with pytest.raises(IOError):
device.listen_dep(target, 1.0)
assert device.chipset.transport.read.call_count == 8
评论列表
文章目录