@@ -115,35 +115,45 @@ async def test_tx_notimplemented(monkeypatch) -> None:
115
115
@pytest .fixture (
116
116
name = "wrong_response" ,
117
117
params = [
118
- b"\x5E \x38 \x34 \x33 \x35 \x30 \x30 \x30 \x30 \x33 \x38 \x43 \x44 \x46 \x46 \x46 \x46 "
119
- b"\x32 \x43 \x46 \x39 \x30 \x32 \x30 \x30 \x39 \x37 \x30 \x31 \x36 \x32 \x30 \x30 "
120
- b"\x45 \x31 \x30 \x42 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
121
- b"\x35 \x45 \x30 \x44 \x37 \x31 \x30 \x44 \x36 \x35 \x30 \x44 \x35 \x45 \x30 \x44 "
122
- b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
123
- b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
124
- b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
125
- b"\x30 \x38 \x38 \x45 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 " , # wrong CRC
126
- b"\x5A \x38 \x34 \x33 \x35 \x30 \x30 \x30 \x30 \x33 \x38 \x43 \x44 \x46 \x46 \x46 \x46 "
127
- b"\x32 \x43 \x46 \x39 \x30 \x32 \x30 \x30 \x39 \x37 \x30 \x31 \x36 \x32 \x30 \x30 "
128
- b"\x45 \x31 \x30 \x42 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
129
- b"\x35 \x45 \x30 \x44 \x37 \x31 \x30 \x44 \x36 \x35 \x30 \x44 \x35 \x45 \x30 \x44 "
130
- b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
131
- b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
132
- b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
133
- b"\x30 \x38 \x38 \x46 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 " , # wrong SOF
134
- b"\x5E \x34 \x33 \x35 \x30 \x30 \x30 \x30 \x33 \x38 \x43 \x44 \x46 \x46 \x46 \x46 "
135
- b"\x32 \x43 \x46 \x39 \x30 \x32 \x30 \x30 \x39 \x37 \x30 \x31 \x36 \x32 \x30 \x30 "
136
- b"\x45 \x31 \x30 \x42 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
137
- b"\x35 \x45 \x30 \x44 \x37 \x31 \x30 \x44 \x36 \x35 \x30 \x44 \x35 \x45 \x30 \x44 "
138
- b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
139
- b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
140
- b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
141
- b"\x30 \x38 \x38 \x46 " , # wrong length (1st byte missing)
118
+ (
119
+ b"\x5E \x38 \x34 \x33 \x35 \x30 \x30 \x30 \x30 \x33 \x38 \x43 \x44 \x46 \x46 \x46 \x46 "
120
+ b"\x32 \x43 \x46 \x39 \x30 \x32 \x30 \x30 \x39 \x37 \x30 \x31 \x36 \x32 \x30 \x30 "
121
+ b"\x45 \x31 \x30 \x42 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
122
+ b"\x35 \x45 \x30 \x44 \x37 \x31 \x30 \x44 \x36 \x35 \x30 \x44 \x35 \x45 \x30 \x44 "
123
+ b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
124
+ b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
125
+ b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
126
+ b"\x30 \x38 \x38 \x45 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 " ,
127
+ "wrong CRC" ,
128
+ ),
129
+ (
130
+ b"\x5A \x38 \x34 \x33 \x35 \x30 \x30 \x30 \x30 \x33 \x38 \x43 \x44 \x46 \x46 \x46 \x46 "
131
+ b"\x32 \x43 \x46 \x39 \x30 \x32 \x30 \x30 \x39 \x37 \x30 \x31 \x36 \x32 \x30 \x30 "
132
+ b"\x45 \x31 \x30 \x42 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
133
+ b"\x35 \x45 \x30 \x44 \x37 \x31 \x30 \x44 \x36 \x35 \x30 \x44 \x35 \x45 \x30 \x44 "
134
+ b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
135
+ b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
136
+ b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
137
+ b"\x30 \x38 \x38 \x46 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 " ,
138
+ "wrong SOF" ,
139
+ ),
140
+ (
141
+ b"\x5E \x34 \x33 \x35 \x30 \x30 \x30 \x30 \x33 \x38 \x43 \x44 \x46 \x46 \x46 \x46 "
142
+ b"\x32 \x43 \x46 \x39 \x30 \x32 \x30 \x30 \x39 \x37 \x30 \x31 \x36 \x32 \x30 \x30 "
143
+ b"\x45 \x31 \x30 \x42 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
144
+ b"\x35 \x45 \x30 \x44 \x37 \x31 \x30 \x44 \x36 \x35 \x30 \x44 \x35 \x45 \x30 \x44 "
145
+ b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
146
+ b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
147
+ b"\x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 \x30 "
148
+ b"\x30 \x38 \x38 \x46 " ,
149
+ "wrong length" , # 1st byte missing
150
+ ),
142
151
],
152
+ ids = lambda param : param [1 ],
143
153
)
144
154
def response (request ) -> bytearray :
145
- """Return all possible BMS variants ."""
146
- return request .param
155
+ """Return faulty response frame ."""
156
+ return request .param [ 0 ]
147
157
148
158
149
159
async def test_invalid_response (monkeypatch , wrong_response ) -> None :
0 commit comments