From 35db1858c8efc5b8df356d1a78d69f3c5e94c570 Mon Sep 17 00:00:00 2001 From: Pavel Kirienko Date: Sat, 8 Mar 2014 22:03:58 +0400 Subject: [PATCH] Latest fixes to GDTR made such thing as name collisions completely impossible, so tests were fixed accordingly --- libuavcan/include/uavcan/data_type.hpp | 1 - libuavcan/src/global_data_type_registry.cpp | 2 +- libuavcan/test/global_data_type_registry.cpp | 13 ------------- 3 files changed, 1 insertion(+), 15 deletions(-) diff --git a/libuavcan/include/uavcan/data_type.hpp b/libuavcan/include/uavcan/data_type.hpp index 9c662fe35d..79c80353c2 100644 --- a/libuavcan/include/uavcan/data_type.hpp +++ b/libuavcan/include/uavcan/data_type.hpp @@ -120,7 +120,6 @@ public: bool match(DataTypeKind kind, const char* name) const; bool match(DataTypeKind kind, uint16_t id) const; - bool match(const char* name) const { return match(kind_, name); } std::string toString() const; diff --git a/libuavcan/src/global_data_type_registry.cpp b/libuavcan/src/global_data_type_registry.cpp index b1726ac462..86a928e97f 100644 --- a/libuavcan/src/global_data_type_registry.cpp +++ b/libuavcan/src/global_data_type_registry.cpp @@ -79,7 +79,7 @@ GlobalDataTypeRegistry::RegistResult GlobalDataTypeRegistry::registImpl(Entry* d { if (p->descriptor.getID() == dtd->descriptor.getID()) // ID collision return RegistResultCollision; - if (p->descriptor.match(dtd->descriptor.getFullName())) // Name collision + if (!std::strcmp(p->descriptor.getFullName(), dtd->descriptor.getFullName())) // Name collision return RegistResultCollision; p = p->getNextListNode(); } diff --git a/libuavcan/test/global_data_type_registry.cpp b/libuavcan/test/global_data_type_registry.cpp index 758365dc0e..847f290ab1 100644 --- a/libuavcan/test/global_data_type_registry.cpp +++ b/libuavcan/test/global_data_type_registry.cpp @@ -47,15 +47,6 @@ namespace static const char* getDataTypeFullName() { return "foo.DataTypeD"; } }; - struct DataTypeBNameCollision - { - enum { DefaultDataTypeID = 999 }; - enum { DataTypeKind = uavcan::DataTypeKindMessage }; - static uavcan::DataTypeSignature getDataTypeSignature() { return uavcan::DataTypeSignature(963); } - static const char* getDataTypeFullName() { return "my_namespace.DataTypeB"; } - }; - - template uavcan::DataTypeDescriptor extractDescriptor(uint16_t dtid = Type::DefaultDataTypeID) { @@ -139,10 +130,6 @@ TEST(GlobalDataTypeRegistry, Basic) ASSERT_EQ(GlobalDataTypeRegistry::RegistResultCollision, GlobalDataTypeRegistry::instance().regist(741)); // ID COLLISION - ASSERT_EQ(GlobalDataTypeRegistry::RegistResultCollision, - GlobalDataTypeRegistry::instance().regist( - DataTypeBNameCollision::DefaultDataTypeID)); // NAME COLLISION - ASSERT_EQ(GlobalDataTypeRegistry::RegistResultOk, GlobalDataTypeRegistry::instance().regist(DataTypeC::DefaultDataTypeID)); uavcan::DefaultDataTypeRegistrator reg_DataTypeD;