Pārlūkot izejas kodu

Merge pull request #1298 from Infinity95/rename/tests

Move tests into subdirectories for better organization
Stefan Profanter 7 gadi atpakaļ
vecāks
revīzija
51427e7541

+ 3 - 3
plugins/ua_nodestore_default.c

@@ -330,9 +330,9 @@ UA_NodeMap_insertNode(void *context, UA_Node *node,
     if(tempNodeid.identifierType == UA_NODEIDTYPE_NUMERIC &&
        tempNodeid.identifier.numeric == 0) {
         /* create a random nodeid */
-		/* start at least with 50,000 to make sure we don not conflict with nodes from the spec */
-		/* E.g. adding a nodeset will create children while there are still other nodes which need to be created */
-		/* Thus the node id's may collide */
+        /* start at least with 50,000 to make sure we don not conflict with nodes from the spec */
+        /* E.g. adding a nodeset will create children while there are still other nodes which need to be created */
+        /* Thus the node id's may collide */
         UA_UInt32 identifier = 50000 + ns->count+1; // start value
         UA_UInt32 size = ns->size;
         UA_UInt32 increase = mod2(ns->count+1, size);

+ 32 - 32
src/server/ua_nodes.c

@@ -251,38 +251,38 @@ copyCommonVariableAttributes(UA_VariableNode *node,
 
     /* Copy the value */
     node->valueSource = UA_VALUESOURCE_DATA;
-	UA_NodeId extensionObject = UA_NODEID_NUMERIC(0, UA_NS0ID_STRUCTURE);
-	/* if we have an extension object which is still encoded (e.g. from the nodeset compiler)
-	 * we need to decode it and set the decoded value instead of the encoded object */
-	UA_Boolean valueSet = false;
-	if (attr->value.type != NULL && UA_NodeId_equal(&attr->value.type->typeId, &extensionObject)) {
-		const UA_ExtensionObject *obj = (const UA_ExtensionObject *)attr->value.data;
-		if (obj->encoding == UA_EXTENSIONOBJECT_ENCODED_BYTESTRING) {
-
-			const UA_DataType *type = UA_findDataTypeByBinary(&obj->content.encoded.typeId);
-
-			if (type) {
-				void *dst = UA_Array_new(attr->value.arrayLength, type);
-				uint8_t *tmpPos = (uint8_t *)dst;
-
-				for (size_t i=0; i<attr->value.arrayLength; i++) {
-					size_t offset =0;
-					const UA_ExtensionObject *curr = &((const UA_ExtensionObject *)attr->value.data)[i];
-					UA_StatusCode ret = UA_decodeBinary(&curr->content.encoded.body, &offset, tmpPos, type, 0, NULL);
-					if (ret != UA_STATUSCODE_GOOD) {
-						return ret;
-					}
-					tmpPos += type->memSize;
-				}
-
-				UA_Variant_setArray(&node->value.data.value.value, dst, attr->value.arrayLength, type);
-				valueSet = true;
-			}
-		}
-	}
-
-	if (!valueSet)
-		retval |= UA_Variant_copy(&attr->value, &node->value.data.value.value);
+    UA_NodeId extensionObject = UA_NODEID_NUMERIC(0, UA_NS0ID_STRUCTURE);
+    /* if we have an extension object which is still encoded (e.g. from the nodeset compiler)
+     * we need to decode it and set the decoded value instead of the encoded object */
+    UA_Boolean valueSet = false;
+    if (attr->value.type != NULL && UA_NodeId_equal(&attr->value.type->typeId, &extensionObject)) {
+        const UA_ExtensionObject *obj = (const UA_ExtensionObject *)attr->value.data;
+        if (obj->encoding == UA_EXTENSIONOBJECT_ENCODED_BYTESTRING) {
+
+            const UA_DataType *type = UA_findDataTypeByBinary(&obj->content.encoded.typeId);
+
+            if (type) {
+                void *dst = UA_Array_new(attr->value.arrayLength, type);
+                uint8_t *tmpPos = (uint8_t *)dst;
+
+                for (size_t i=0; i<attr->value.arrayLength; i++) {
+                    size_t offset =0;
+                    const UA_ExtensionObject *curr = &((const UA_ExtensionObject *)attr->value.data)[i];
+                    UA_StatusCode ret = UA_decodeBinary(&curr->content.encoded.body, &offset, tmpPos, type, 0, NULL);
+                    if (ret != UA_STATUSCODE_GOOD) {
+                        return ret;
+                    }
+                    tmpPos += type->memSize;
+                }
+
+                UA_Variant_setArray(&node->value.data.value.value, dst, attr->value.arrayLength, type);
+                valueSet = true;
+            }
+        }
+    }
+
+    if (!valueSet)
+        retval |= UA_Variant_copy(&attr->value, &node->value.data.value.value);
 
     node->value.data.value.hasValue = true;
 

+ 21 - 20
tests/CMakeLists.txt

@@ -5,6 +5,7 @@ include_directories(${PROJECT_SOURCE_DIR}/src/server)
 include_directories(${PROJECT_SOURCE_DIR}/plugins)
 include_directories(${PROJECT_BINARY_DIR}/src_generated)
 include_directories(${CHECK_INCLUDE_DIRS})
+include_directories(${PROJECT_SOURCE_DIR}/tests/testing-plugins)
 
 #############################
 # Compiled binaries folders #
@@ -24,12 +25,12 @@ set(LIBS subunit ${CHECK_LIBRARIES} ${open62541_LIBRARIES})
 
 # Use different plugins for testing
 set(test_plugin_sources ${PROJECT_SOURCE_DIR}/plugins/ua_network_tcp.c
-                        ${PROJECT_SOURCE_DIR}/tests/testing_clock.c
+                        ${PROJECT_SOURCE_DIR}/tests/testing-plugins/testing_clock.c
                         ${PROJECT_SOURCE_DIR}/plugins/ua_log_stdout.c
                         ${PROJECT_SOURCE_DIR}/plugins/ua_config_default.c
                         ${PROJECT_SOURCE_DIR}/plugins/ua_accesscontrol_default.c
                         ${PROJECT_SOURCE_DIR}/plugins/ua_nodestore_default.c
-                        ${PROJECT_SOURCE_DIR}/tests/testing_clock.c
+                        ${PROJECT_SOURCE_DIR}/tests/testing-plugins/testing_clock.c
                         ${PROJECT_SOURCE_DIR}/plugins/ua_securitypolicy_none.c)
 
 add_library(open62541-testplugins OBJECT ${test_plugin_sources})
@@ -81,50 +82,50 @@ add_test_valgrind(check_utils ${TESTS_BINARY_DIR}/check_utils)
 
 # Test Server
 
-add_executable(check_accesscontrol check_accesscontrol.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_accesscontrol server/check_accesscontrol.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_accesscontrol ${LIBS})
 add_test_valgrind(check_accesscontrol ${TESTS_BINARY_DIR}/check_accesscontrol)
 
-add_executable(check_services_view check_services_view.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_services_view server/check_services_view.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_services_view ${LIBS})
 add_test_valgrind(services_view ${TESTS_BINARY_DIR}/check_services_view)
 
-add_executable(check_services_attributes check_services_attributes.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_services_attributes server/check_services_attributes.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_services_attributes ${LIBS})
 add_test_valgrind(services_attributes ${TESTS_BINARY_DIR}/check_services_attributes)
 
-add_executable(check_services_nodemanagement check_services_nodemanagement.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_services_nodemanagement server/check_services_nodemanagement.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_services_nodemanagement ${LIBS})
 add_test_valgrind(services_nodemanagement ${TESTS_BINARY_DIR}/check_services_nodemanagement)
 
-add_executable(check_services_subscriptions check_services_subscriptions.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_services_subscriptions server/check_services_subscriptions.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_services_subscriptions ${LIBS})
 add_test_valgrind(check_services_subscriptions ${TESTS_BINARY_DIR}/check_services_subscriptions)
 
-add_executable(check_nodestore check_nodestore.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_nodestore server/check_nodestore.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_nodestore ${LIBS})
 add_test_valgrind(nodestore ${TESTS_BINARY_DIR}/check_nodestore)
 
-add_executable(check_session check_session.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_session server/check_session.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_session ${LIBS})
 add_test_valgrind(session ${TESTS_BINARY_DIR}/check_session)
 
-add_executable(check_server_jobs check_server_jobs.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_server_jobs server/check_server_jobs.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_server_jobs ${LIBS})
 add_test_valgrind(check_server_jobs ${TESTS_BINARY_DIR}/check_server_jobs)
 
-add_executable(check_server_userspace check_server_userspace.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_server_userspace server/check_server_userspace.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_server_userspace ${LIBS})
 add_test_valgrind(check_server_userspace ${TESTS_BINARY_DIR}/check_server_userspace)
 
 if(UA_ENABLE_DISCOVERY)
-    add_executable(check_discovery check_discovery.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+    add_executable(check_discovery server/check_discovery.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
     target_link_libraries(check_discovery ${LIBS})
     add_test_valgrind(discovery ${TESTS_BINARY_DIR}/check_discovery)
 endif()
 
 # Readspeed server
-add_executable(check_server_readspeed check_server_readspeed.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_server_readspeed server/check_server_readspeed.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_server_readspeed ${LIBS})
 add_test_valgrind(check_server_readspeed ${TESTS_BINARY_DIR}/check_server_readspeed)
 
@@ -154,7 +155,7 @@ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/client_HELOPN.bin
 add_custom_target(client_HELOPN.bin DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/client_HELOPN.bin")
 add_custom_target(client_CreateActivateSession.bin DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/client_CreateActivateSession.bin")
 
-add_executable(check_server_binary_messages check_server_binary_messages.c testing_networklayers.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_server_binary_messages server/check_server_binary_messages.c testing-plugins/testing_networklayers.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_include_directories(check_server_binary_messages PRIVATE ${PROJECT_SOURCE_DIR}/src/server)
 target_link_libraries(check_server_binary_messages ${LIBS})
 add_dependencies(check_server_binary_messages client_HELOPN.bin)
@@ -179,19 +180,19 @@ add_test_valgrind(check_server_binary_messages_write ${TESTS_BINARY_DIR}/check_s
 
 # Test Client
 
-add_executable(check_client check_client.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_client client/check_client.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_client ${LIBS})
 add_test_valgrind(check_client ${TESTS_BINARY_DIR}/check_client)
 
-add_executable(check_client_async check_client_async.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_client_async client/check_client_async.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_client_async ${LIBS})
 add_test_valgrind(check_client_async ${TESTS_BINARY_DIR}/check_client_async)
 
-add_executable(check_client_subscriptions check_client_subscriptions.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_client_subscriptions client/check_client_subscriptions.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_client_subscriptions ${LIBS})
 add_test_valgrind(check_client_subscriptions ${TESTS_BINARY_DIR}/check_client_subscriptions)
 
-add_executable(check_client_highlevel check_client_highlevel.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
+add_executable(check_client_highlevel client/check_client_highlevel.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
 target_link_libraries(check_client_highlevel ${LIBS})
 add_test_valgrind(check_client_highlevel ${TESTS_BINARY_DIR}/check_client_highlevel)
 
@@ -327,7 +328,7 @@ if (UA_ENABLE_FULL_NS0)
 
 
     add_executable(check_nodeset_compiler_adi
-                   check_nodeset_compiler_adi.c
+                   server/check_nodeset_compiler_adi.c
                    ${PROJECT_BINARY_DIR}/src_generated/tests/ua_types_di_generated.c
                    ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_di.c
                    ${PROJECT_BINARY_DIR}/src_generated/tests/ua_types_adi_generated.c
@@ -338,7 +339,7 @@ if (UA_ENABLE_FULL_NS0)
     add_test_valgrind(check_nodeset_compiler_adi ${TESTS_BINARY_DIR}/check_nodeset_compiler_adi)
 
     add_executable(check_nodeset_compiler_plc
-                   check_nodeset_compiler_plc.c
+                   server/check_nodeset_compiler_plc.c
                    ${PROJECT_BINARY_DIR}/src_generated/tests/ua_types_di_generated.c
                    ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_di.c
                    ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_plc.c

tests/check_client.c → tests/client/check_client.c


tests/check_client_async.c → tests/client/check_client_async.c


tests/check_client_highlevel.c → tests/client/check_client_highlevel.c


tests/check_client_subscriptions.c → tests/client/check_client_subscriptions.c


+ 2 - 2
tests/fuzz/CMakeLists.txt

@@ -3,7 +3,7 @@ include_directories(${PROJECT_SOURCE_DIR}/deps)
 include_directories(${PROJECT_SOURCE_DIR}/src)
 include_directories(${PROJECT_SOURCE_DIR}/src/server)
 include_directories(${PROJECT_SOURCE_DIR}/plugins)
-include_directories(${PROJECT_SOURCE_DIR}/tests)
+include_directories(${PROJECT_SOURCE_DIR}/tests/testing-plugins)
 include_directories(${PROJECT_BINARY_DIR}/src_generated)
 
 remove_definitions(-std=c99 -Wmissing-prototypes -Wstrict-prototypes)
@@ -35,7 +35,7 @@ list(APPEND LIBS "${open62541_LIBRARIES}")
 # Use different plugins for testing
 set(fuzzing_plugin_sources ${PROJECT_SOURCE_DIR}/plugins/ua_network_tcp.c
         ${PROJECT_SOURCE_DIR}/plugins/ua_clock.c
-        ${PROJECT_SOURCE_DIR}/tests/testing_networklayers.c
+        ${PROJECT_SOURCE_DIR}/tests/testing-plugins/testing_networklayers.c
         ${PROJECT_SOURCE_DIR}/plugins/ua_log_stdout.c
         ${PROJECT_SOURCE_DIR}/plugins/ua_config_default.c
         ${PROJECT_SOURCE_DIR}/plugins/ua_nodestore_default.c

tests/check_accesscontrol.c → tests/server/check_accesscontrol.c


tests/check_discovery.c → tests/server/check_discovery.c


tests/check_nodeset_compiler_adi.c → tests/server/check_nodeset_compiler_adi.c


tests/check_nodeset_compiler_plc.c → tests/server/check_nodeset_compiler_plc.c


tests/check_nodestore.c → tests/server/check_nodestore.c


tests/check_server_binary_messages.c → tests/server/check_server_binary_messages.c


tests/check_server_jobs.c → tests/server/check_server_jobs.c


tests/check_server_readspeed.c → tests/server/check_server_readspeed.c


tests/check_server_userspace.c → tests/server/check_server_userspace.c


tests/check_services_attributes.c → tests/server/check_services_attributes.c


tests/check_services_nodemanagement.c → tests/server/check_services_nodemanagement.c


tests/check_services_subscriptions.c → tests/server/check_services_subscriptions.c


tests/check_services_view.c → tests/server/check_services_view.c


tests/check_session.c → tests/server/check_session.c


tests/testing_clock.c → tests/testing-plugins/testing_clock.c


tests/testing_clock.h → tests/testing-plugins/testing_clock.h


tests/testing_networklayers.c → tests/testing-plugins/testing_networklayers.c


tests/testing_networklayers.h → tests/testing-plugins/testing_networklayers.h