Пример #1
0
    def test_create_id(self):
        for i in range(0xFF):
            br = Baudrate(i, baudtype=Baudrate.Type.Identifier)
            self.assertEqual(br.get_bytes(), struct.pack('B', i))

        with self.assertRaises(ValueError):
            br = Baudrate(0x100, baudtype=Baudrate.Type.Identifier)
Пример #2
0
    def test_change_type(self):
        br = Baudrate(115200, baudtype=Baudrate.Type.Fixed)
        br2 = br.make_new_type(Baudrate.Type.Specific)
        self.assertEqual(br2.get_bytes(), b'\x01\xC2\x00')

        br = Baudrate(115200, baudtype=Baudrate.Type.Specific)
        br2 = br.make_new_type(Baudrate.Type.Fixed)
        self.assertEqual(br2.get_bytes(), b'\x05')
Пример #3
0
    def test_oob_values(self):
        with self.assertRaises(ValueError):
            br = Baudrate(-1)

        with self.assertRaises(ValueError):
            br = Baudrate(1, baudtype=-1)

        with self.assertRaises(ValueError):
            br = Baudrate(1, baudtype=0xFF)
Пример #4
0
 def _test_linkcontrol_verify_specific(self):
     baudrate = Baudrate(0x123456, baudtype=Baudrate.Type.Specific)
     response = self.udsclient.link_control(control_type=2,
                                            baudrate=baudrate)
     self.assertTrue(response.valid)
     self.assertTrue(response.positive)
     self.assertEqual(response.service_data.control_type_echo, 2)
Пример #5
0
 def _test_linkcontrol_verify_fixed(self):
     baudrate = Baudrate(250000, baudtype=Baudrate.Type.Fixed)
     response = self.udsclient.link_control(control_type=1,
                                            baudrate=baudrate)
     self.assertTrue(response.valid)
     self.assertTrue(response.positive)
     self.assertEqual(response.service_data.control_type_echo, 1)
Пример #6
0
    def _test_bad_param(self):
        with self.assertRaises(ValueError):
            self.udsclient.link_control(control_type='x')

        with self.assertRaises(ValueError):
            self.udsclient.link_control(control_type=0x80)

        with self.assertRaises(ValueError):
            self.udsclient.link_control(control_type=1)  # Missing Baudrate

        with self.assertRaises(ValueError):
            self.udsclient.link_control(control_type=2)  # Missing Baudrate

        with self.assertRaises(ValueError):
            self.udsclient.link_control(
                control_type=0,
                baudrate=Baudrate(500000))  # Baudrate is not needed

        with self.assertRaises(ValueError):
            self.udsclient.link_control(
                control_type=1,
                baudrate=1)  # Baudrate should be Baudrate instance

        with self.assertRaises(ValueError):
            self.udsclient.link_control(
                control_type=1,
                baudrate='x')  # Baudrate should be Baudrate instance
Пример #7
0
 def _test_linkcontrol_verify_fixed_spr(self):
     baudrate = Baudrate(250000, baudtype=Baudrate.Type.Fixed)
     with self.udsclient.suppress_positive_response:
         response = self.udsclient.link_control(control_type=1,
                                                baudrate=baudrate)
         self.assertEqual(response, None)
     self.conn.fromuserqueue.get(
         timeout=0.2)  #Avoid closing connection prematurely
Пример #8
0
    def test_create_auto(self):
        # Direct ID
        br = Baudrate(1)
        self.assertEqual(br.get_bytes(), b'\x01')

        br = Baudrate(0xFF)
        self.assertEqual(br.get_bytes(), b'\xFF')

        # Fixed baudrate
        br = Baudrate(115200)
        self.assertEqual(br.get_bytes(), b'\x05')

        br = Baudrate(500000)
        self.assertEqual(br.get_bytes(), b'\x12')

        #Specific Baudrate:
        br = Baudrate(0x123456)
        self.assertEqual(br.get_bytes(), b'\x12\x34\x56')
Пример #9
0
 def test_str_repr(self):
     br = Baudrate(115200, baudtype=Baudrate.Type.Fixed)
     str(br)
     br.__repr__()
Пример #10
0
 def test_effective_baudrate(self):
     br = Baudrate(0x12, Baudrate.Type.Identifier)  # 500kbits
     self.assertEqual(br.effective_baudrate(), 500000)
Пример #11
0
    def test_create_specific(self):
        br = Baudrate(115200, baudtype=Baudrate.Type.Specific)
        self.assertEqual(br.get_bytes(), b'\x01\xC2\x00')

        with self.assertRaises(ValueError):
            br = Baudrate(0x1000000, baudtype=Baudrate.Type.Specific)
Пример #12
0
    def test_create_fixed(self):
        br = Baudrate(115200, baudtype=Baudrate.Type.Fixed)
        self.assertEqual(br.get_bytes(), b'\x05')

        with self.assertRaises(ValueError):
            br = Baudrate(123456, baudtype=Baudrate.Type.Fixed)
Пример #13
0
 def _test_linkcontrol_verify_specific_from_fixed(self):
     baudrate = Baudrate(500000, baudtype=Baudrate.Type.Fixed)
     response = self.udsclient.link_control(control_type=2,
                                            baudrate=baudrate)
     self.assertTrue(response.valid)
     self.assertTrue(response.positive)