(self)
| 2396 | @unittest.skipUnless(hasattr(socket, "CAN_BCM"), |
| 2397 | 'socket.CAN_BCM required for this test.') |
| 2398 | def testBCM(self): |
| 2399 | bcm = socket.socket(socket.PF_CAN, socket.SOCK_DGRAM, socket.CAN_BCM) |
| 2400 | self.addCleanup(bcm.close) |
| 2401 | bcm.connect((self.interface,)) |
| 2402 | self.can_id = 0x123 |
| 2403 | self.data = bytes([0xc0, 0xff, 0xee]) |
| 2404 | self.cf = self.build_can_frame(self.can_id, self.data) |
| 2405 | opcode = socket.CAN_BCM_TX_SEND |
| 2406 | flags = 0 |
| 2407 | count = 0 |
| 2408 | ival1_seconds = ival1_usec = ival2_seconds = ival2_usec = 0 |
| 2409 | bcm_can_id = 0x0222 |
| 2410 | nframes = 1 |
| 2411 | assert len(self.cf) == 16 |
| 2412 | header = struct.pack(self.bcm_cmd_msg_fmt, |
| 2413 | opcode, |
| 2414 | flags, |
| 2415 | count, |
| 2416 | ival1_seconds, |
| 2417 | ival1_usec, |
| 2418 | ival2_seconds, |
| 2419 | ival2_usec, |
| 2420 | bcm_can_id, |
| 2421 | nframes, |
| 2422 | ) |
| 2423 | header_plus_frame = header + self.cf |
| 2424 | bytes_sent = bcm.send(header_plus_frame) |
| 2425 | self.assertEqual(bytes_sent, len(header_plus_frame)) |
| 2426 | |
| 2427 | |
| 2428 | @unittest.skipUnless(HAVE_SOCKET_CAN_ISOTP, 'CAN ISOTP required for this test.') |
nothing calls this directly
no test coverage detected