Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
self.assertEqual(
str(cm.exception),
'Invalid syntax at line 2, column 19: "BO_ 546 EMV_Stati '
'>>!<<8 EMV_Statusmeldungen"')
# Missing frame id in message comment.
with self.assertRaises(textparser.ParseError) as cm:
cantools.db.formats.dbc.load_string('CM_ BO_ "Foo.";')
self.assertEqual(
str(cm.exception),
'Invalid syntax at line 1, column 9: "CM_ BO_ >>!<<"Foo.";"')
# Missing frame id in message comment, using load_string().
with self.assertRaises(cantools.db.UnsupportedDatabaseFormatError) as cm:
cantools.db.load_string('CM_ BO_ "Foo.";')
self.assertEqual(
str(cm.exception),
"DBC: \"Invalid syntax at line 1, column 9: \"CM_ BO_ >>!<<\"Foo."
"\";\"\", KCD: \"syntax error: line 1, column 0\", SYM: \"Only SYM "
def test_invalid_kcd(self):
with self.assertRaises(cantools.db.UnsupportedDatabaseFormatError) as cm:
cantools.db.load_string('',
database_format='kcd')
self.assertEqual(
str(cm.exception),
'KCD: "Expected root element tag '
'{http://kayak.2codeornot2code.org/1.0}NetworkDefinition, but '
def test_invalid_kcd(self):
with self.assertRaises(cantools.db.UnsupportedDatabaseFormatError) as cm:
cantools.db.load_string('',
database_format='kcd')
self.assertEqual(
str(cm.exception),
'KCD: "Expected root element tag '
'{http://kayak.2codeornot2code.org/1.0}NetworkDefinition, but '
self.assertEqual(
str(cm.exception),
'Invalid syntax at line 2, column 19: "BO_ 546 EMV_Stati '
'>>!<<8 EMV_Statusmeldungen"')
# Missing frame id in message comment.
with self.assertRaises(textparser.ParseError) as cm:
cantools.db.formats.dbc.load_string('CM_ BO_ "Foo.";')
self.assertEqual(
str(cm.exception),
'Invalid syntax at line 1, column 9: "CM_ BO_ >>!<<"Foo.";"')
# Missing frame id in message comment, using load_string().
with self.assertRaises(cantools.db.UnsupportedDatabaseFormatError) as cm:
cantools.db.load_string('CM_ BO_ "Foo.";')
self.assertEqual(
str(cm.exception),
"DBC: \"Invalid syntax at line 1, column 9: \"CM_ BO_ >>!<<\"Foo."
"\";\"\", KCD: \"syntax error: line 1, column 0\", SYM: \"Only SYM "
def test_extended_id_dump(self):
filename = os.path.join('tests', 'files', 'test_extended_id_dump.dbc')
db = cantools.db.load_file(filename)
dumped_db = cantools.db.load_string(db.as_dbc_string())
reg_id_msg = dumped_db.get_message_by_frame_id(0x100)
ext_id_msg = dumped_db.get_message_by_frame_id(0x1c2a2a2a)
self.assertEqual(reg_id_msg.is_extended_frame, False)
self.assertEqual(ext_id_msg.is_extended_frame, True)
def test_string_attribute_definition_dump(self):
filename = os.path.join('tests', 'files', 'test_multiplex_dump.dbc')
db = cantools.db.load_file(filename)
dumped_db = cantools.db.load_string(db.as_dbc_string())
attribute = dumped_db.dbc.attribute_definitions
self.assertEqual(attribute['BusType'].type_name, "STRING")
def test_string_attribute_definition_dump(self):
filename = os.path.join('tests', 'files', 'test_multiplex_dump.dbc')
db = cantools.db.load_file(filename)
dumped_db = cantools.db.load_string(db.as_dbc_string())
attribute = dumped_db.dbc.attribute_definitions
self.assertEqual(attribute['BusType'].type_name, "STRING")
def test_multiplex_dump(self):
filename = os.path.join('tests', 'files', 'test_multiplex_dump.dbc')
db = cantools.db.load_file(filename)
dumped_db = cantools.db.load_string(db.as_dbc_string())
dumped_msg = dumped_db.get_message_by_frame_id(0x100)
self.assertEqual(dumped_msg.signals[0].name, "MultiplexorSig")
self.assertEqual(dumped_msg.signals[0].is_multiplexer, True)
self.assertEqual(dumped_msg.signals[0].multiplexer_ids, None)
self.assertEqual(dumped_msg.signals[1].name, "MultiplexedSig")
self.assertEqual(dumped_msg.signals[1].is_multiplexer, False)
self.assertEqual(dumped_msg.signals[1].multiplexer_ids[0], 0x2a)
self.assertEqual(dumped_msg.signals[2].name, "UnmultiplexedSig")
self.assertEqual(dumped_msg.signals[2].multiplexer_ids, None)
self.assertEqual(dumped_msg.signals[2].is_multiplexer, False)
def test_multiplex_dump(self):
filename = os.path.join('tests', 'files', 'test_multiplex_dump.dbc')
db = cantools.db.load_file(filename)
dumped_db = cantools.db.load_string(db.as_dbc_string())
dumped_msg = dumped_db.get_message_by_frame_id(0x100)
self.assertEqual(dumped_msg.signals[0].name, "MultiplexorSig")
self.assertEqual(dumped_msg.signals[0].is_multiplexer, True)
self.assertEqual(dumped_msg.signals[0].multiplexer_ids, None)
self.assertEqual(dumped_msg.signals[1].name, "MultiplexedSig")
self.assertEqual(dumped_msg.signals[1].is_multiplexer, False)
self.assertEqual(dumped_msg.signals[1].multiplexer_ids[0], 0x2a)
self.assertEqual(dumped_msg.signals[2].name, "UnmultiplexedSig")
self.assertEqual(dumped_msg.signals[2].multiplexer_ids, None)
self.assertEqual(dumped_msg.signals[2].is_multiplexer, False)