Skip to content

Commit

Permalink
Add test for pn531 cascade tag removal
Browse files Browse the repository at this point in the history
  • Loading branch information
nehpetsde committed Mar 21, 2017
1 parent e314d0c commit 2637208
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/nfc/clf/pn531.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ def sense_tta(self, target):
if len(target.sdd_res) == 8:
target.sdd_res = target.sdd_res[1:]
elif len(target.sdd_res) == 12:
target.sdd_res = target.sdd_res[1:4] + target.sdd_res[4:]
target.sdd_res = target.sdd_res[1:4] + target.sdd_res[5:]
# Also the SENS_RES bytes are reversed compared to PN532/533
target.sens_res = bytearray(reversed(target.sens_res))
return target
Expand Down
21 changes: 21 additions & 0 deletions tests/test_clf_pn531.py
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,27 @@ def test_sense_tta_target_is_tt2(self, device):
CMD('08 63037f'), # WriteRegister
]]

@pytest.mark.parametrize("sdd, sdd_res", [
('088801020304050607', '01020304050607'),
('0c880102038804050607080910', '01020304050607080910'),
])
def test_sense_tta_target_tt2_ct1(self, device, sdd, sdd_res):
device.chipset.transport.read.side_effect = [
ACK(), RSP('4B 01 01 0044 00' + sdd), # InListPassiveTarget
ACK(), self.reg_rsp('FF'), # ReadRegister
ACK(), RSP('09 00'), # WriteRegister
]
target = device.sense_tta(nfc.clf.RemoteTarget('106A'))
assert isinstance(target, nfc.clf.RemoteTarget)
assert target.sel_res == HEX('00')
assert target.sdd_res == HEX(sdd_res)
assert target.sens_res == HEX('0044') # reversed for PN531
assert device.chipset.transport.write.mock_calls == [call(_) for _ in [
CMD('4A 0100'), # InListPassiveTarget
CMD('06 6303'), # ReadRegister
CMD('08 63037f'), # WriteRegister
]]

def test_sense_ttb_is_not_supported(self, device):
with pytest.raises(nfc.clf.UnsupportedTargetError) as excinfo:
device.sense_ttb(nfc.clf.RemoteTarget('106B'))
Expand Down

0 comments on commit 2637208

Please sign in to comment.