Skip to content

Commit f6816b9

Browse files
committed
Implement test for replay with error frames
1 parent c41845f commit f6816b9

File tree

2 files changed

+38
-2
lines changed

2 files changed

+38
-2
lines changed

test/data/logfile_errorframes.asc

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
date Sam Sep 30 15:06:13.191 2017
2+
base hex timestamps absolute
3+
internal events logged
4+
// version 9.0.0
5+
Begin Triggerblock Sam Sep 30 15:06:13.191 2017
6+
0.000000 Start of measurement
7+
0.015991 CAN 1 Status:chip status error passive - TxErr: 132 RxErr: 0
8+
0.015991 CAN 2 Status:chip status error active
9+
2.501000 1 ErrorFrame
10+
2.501010 1 ErrorFrame ECC: 10100010
11+
2.501020 2 ErrorFrame Flags = 0xe CodeExt = 0x20a2 Code = 0x82 ID = 0 DLC = 0 Position = 5 Length = 11300
12+
2.520002 3 200 Tx r Length = 1704000 BitCount = 145 ID = 88888888x
13+
2.584921 4 300 Tx r 8 Length = 1704000 BitCount = 145 ID = 88888888x
14+
3.098426 1 18EBFF00x Rx d 8 01 A0 0F A6 60 3B D1 40 Length = 273910 BitCount = 141 ID = 418119424x
15+
3.197693 1 18EBFF00x Rx d 8 03 E1 00 4B FF FF 3C 0F Length = 283910 BitCount = 146 ID = 418119424x
16+
17.876976 1 6F8 Rx d 8 FF 00 0C FE 00 00 00 00 Length = 239910 BitCount = 124 ID = 1784
17+
20.105214 2 18EBFF00x Rx d 8 01 A0 0F A6 60 3B D1 40 Length = 273925 BitCount = 141 ID = 418119424x
18+
20.155119 2 18EBFF00x Rx d 8 02 1F DE 80 25 DF C0 2B Length = 272152 BitCount = 140 ID = 418119424x
19+
20.204671 2 18EBFF00x Rx d 8 03 E1 00 4B FF FF 3C 0F Length = 283910 BitCount = 146 ID = 418119424x
20+
20.248887 2 18EBFF00x Rx d 8 04 00 4B FF FF FF FF FF Length = 283925 BitCount = 146 ID = 418119424x
21+
End TriggerBlock

test/test_player.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,25 @@ def test_play_virtual_exit(self):
6666
self.assertEqual(self.MockSleep.call_count, 2)
6767
self.assertSuccessfullCleanup()
6868

69+
def test_play_skip_error_frame(self):
70+
logfile = os.path.join(
71+
os.path.dirname(__file__), "data", "logfile_errorframes.asc"
72+
)
73+
sys.argv = self.baseargs + ["-v", logfile]
74+
can.player.main()
75+
self.assertEqual(self.mock_virtual_bus.send.call_count, 9)
76+
self.assertEqual(self.MockSleep.call_count, 12)
77+
self.assertSuccessfullCleanup()
78+
6979
def test_play_error_frame(self):
70-
# TODO: implement
71-
sys.argv = self.baseargs + ["--error-frames", self.logfile]
80+
logfile = os.path.join(
81+
os.path.dirname(__file__), "data", "logfile_errorframes.asc"
82+
)
83+
sys.argv = self.baseargs + ["-v", "--error-frames", logfile]
7284
can.player.main()
85+
self.assertEqual(self.mock_virtual_bus.send.call_count, 12)
86+
self.assertEqual(self.MockSleep.call_count, 12)
87+
self.assertSuccessfullCleanup()
7388

7489

7590
if __name__ == "__main__":

0 commit comments

Comments
 (0)