|
@@ -1,33 +1,6 @@
|
|
|
file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/src_generated/tests")
|
|
|
include_directories("${PROJECT_BINARY_DIR}/src_generated/tests")
|
|
|
|
|
|
-macro(generate_dataset xml source)
|
|
|
- add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/src_generated/tests/${source}.c
|
|
|
- ${PROJECT_BINARY_DIR}/src_generated/tests/${source}.h
|
|
|
- PRE_BUILD
|
|
|
- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodeset_compiler.py
|
|
|
- --types-array=UA_TYPES
|
|
|
- --existing ${UA_FILE_NS0}
|
|
|
- --xml ${xml}
|
|
|
- ${PROJECT_BINARY_DIR}/src_generated/tests/${source}
|
|
|
- DEPENDS ${UA_FILE_NS0} ${xml}
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodeset_compiler.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodeset.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/datatypes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/backend_open62541.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/backend_open62541_nodes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/backend_open62541_datatypes.py)
|
|
|
-endmacro()
|
|
|
-
|
|
|
-# Check ObjectType
|
|
|
-generate_dataset(${PROJECT_SOURCE_DIR}/tests/nodeset-compiler/objecttype.xml check_nodeset_objecttype_generated)
|
|
|
-add_executable(check_nodeset_objecttype check_nodeset_objecttype.c
|
|
|
- ${PROJECT_BINARY_DIR}/src_generated/tests/check_nodeset_objecttype_generated.c
|
|
|
- $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
|
|
|
-target_link_libraries(check_nodeset_objecttype ${LIBS})
|
|
|
-add_test_valgrind(nodeset_objecttype ${TESTS_BINARY_DIR}/check_nodeset_objecttype)
|
|
|
-
|
|
|
###############################################
|
|
|
# Test Companion Specs that need the full NS0 #
|
|
|
###############################################
|
|
@@ -55,85 +28,43 @@ if(UA_NAMESPACE_ZERO STREQUAL "FULL")
|
|
|
)
|
|
|
|
|
|
# generate DI namespace
|
|
|
- add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_di.c
|
|
|
- ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_di.h
|
|
|
- PRE_BUILD
|
|
|
- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodeset_compiler.py
|
|
|
- --internal-headers
|
|
|
- --types-array=UA_TYPES
|
|
|
- --types-array=UA_TYPES_DI
|
|
|
- --existing ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml
|
|
|
- --xml ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml
|
|
|
- ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_di
|
|
|
- DEPENDS ${UA_NAMESPACE0_XML}
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodeset_compiler.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodeset.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/datatypes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/backend_open62541.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/backend_open62541_nodes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/backend_open62541_datatypes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml
|
|
|
- ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml
|
|
|
- )
|
|
|
- add_custom_target(open62541-generator-tests-ns-di DEPENDS ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_di.c)
|
|
|
- add_dependencies(open62541-generator-tests-ns-di open62541-generator-tests-types-di)
|
|
|
+ ua_generate_nodeset(
|
|
|
+ NAME "tests-di"
|
|
|
+ FILE "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml"
|
|
|
+ TYPES_ARRAY "UA_TYPES_DI"
|
|
|
+ INTERNAL
|
|
|
+ DEPENDS_TYPES "UA_TYPES"
|
|
|
+ DEPENDS_NS "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml"
|
|
|
+ DEPENDS_TARGET "open62541-generator-tests-types-di"
|
|
|
+ )
|
|
|
+
|
|
|
+ # generate PLCopen namespace which is using DI
|
|
|
+ ua_generate_nodeset(
|
|
|
+ NAME "tests-adi"
|
|
|
+ FILE "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/ADI/Opc.Ua.Adi.NodeSet2.xml"
|
|
|
+ TYPES_ARRAY "UA_TYPES_ADI"
|
|
|
+ INTERNAL
|
|
|
+ DEPENDS_TYPES
|
|
|
+ "UA_TYPES" "UA_TYPES_DI"
|
|
|
+ DEPENDS_NS
|
|
|
+ "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml"
|
|
|
+ "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml"
|
|
|
+ DEPENDS_TARGET "open62541-generator-ns-tests-di" "open62541-generator-tests-types-adi"
|
|
|
+ )
|
|
|
|
|
|
- # generate ADI namespace which is using DI
|
|
|
- add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_adi.c
|
|
|
- ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_adi.h
|
|
|
- PRE_BUILD
|
|
|
- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodeset_compiler.py
|
|
|
- --internal-headers
|
|
|
- --types-array=UA_TYPES
|
|
|
- --types-array=UA_TYPES_DI
|
|
|
- --types-array=UA_TYPES_ADI
|
|
|
- --existing ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml
|
|
|
- --existing ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml
|
|
|
- --xml ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/ADI/Opc.Ua.Adi.NodeSet2.xml
|
|
|
- ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_adi
|
|
|
- DEPENDS ${UA_NAMESPACE0_XML}
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodeset_compiler.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodeset.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/datatypes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/backend_open62541.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/backend_open62541_nodes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/backend_open62541_datatypes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml
|
|
|
- ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml
|
|
|
- ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/ADI/Opc.Ua.Adi.NodeSet2.xml
|
|
|
- )
|
|
|
- add_custom_target(open62541-generator-tests-ns-adi DEPENDS ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_adi.c)
|
|
|
- add_dependencies(open62541-generator-tests-ns-adi open62541-generator-tests-types-adi open62541-generator-tests-ns-di)
|
|
|
|
|
|
# generate PLCopen namespace which is using DI
|
|
|
- add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_plc.c
|
|
|
- ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_plc.h
|
|
|
- PRE_BUILD
|
|
|
- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodeset_compiler.py
|
|
|
- --internal-headers
|
|
|
- --types-array=UA_TYPES
|
|
|
- --types-array=UA_TYPES_DI
|
|
|
- # PLCopen has no specific type definition, thus use the default UA_TYPES to ignore it
|
|
|
- --types-array=UA_TYPES
|
|
|
- --existing ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml
|
|
|
- --existing ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml
|
|
|
- --xml ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/PLCopen/Opc.Ua.Plc.NodeSet2.xml
|
|
|
- ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_plc
|
|
|
- DEPENDS ${UA_NAMESPACE0_XML}
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodeset_compiler.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/nodeset.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/datatypes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/backend_open62541.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/backend_open62541_nodes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/tools/nodeset_compiler/backend_open62541_datatypes.py
|
|
|
- ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml
|
|
|
- ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/PLCopen/Opc.Ua.Plc.NodeSet2.xml
|
|
|
- )
|
|
|
- add_custom_target(open62541-generator-tests-ns-plc DEPENDS ${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_plc.c)
|
|
|
- add_dependencies(open62541-generator-tests-ns-plc open62541-generator-tests-ns-di)
|
|
|
+ ua_generate_nodeset(
|
|
|
+ NAME "tests-plc"
|
|
|
+ FILE "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/PLCopen/Opc.Ua.Plc.NodeSet2.xml"
|
|
|
+ INTERNAL
|
|
|
+ DEPENDS_TYPES
|
|
|
+ "UA_TYPES" "UA_TYPES_DI"
|
|
|
+ DEPENDS_NS
|
|
|
+ "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml"
|
|
|
+ "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml"
|
|
|
+ DEPENDS_TARGET "open62541-generator-ns-di"
|
|
|
+ )
|
|
|
|
|
|
add_executable(check_nodeset_compiler_adi check_nodeset_compiler_adi.c
|
|
|
${PROJECT_BINARY_DIR}/src_generated/tests/ua_types_di_generated.c
|
|
@@ -141,7 +72,7 @@ if(UA_NAMESPACE_ZERO STREQUAL "FULL")
|
|
|
${PROJECT_BINARY_DIR}/src_generated/tests/ua_types_adi_generated.c
|
|
|
${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_adi.c
|
|
|
$<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
|
|
|
- add_dependencies(check_nodeset_compiler_adi open62541-generator-tests-ns-adi)
|
|
|
+ add_dependencies(check_nodeset_compiler_adi open62541-generator-ns-tests-adi)
|
|
|
target_link_libraries(check_nodeset_compiler_adi ${LIBS})
|
|
|
add_test_valgrind(nodeset_compiler_adi ${TESTS_BINARY_DIR}/check_nodeset_compiler_adi)
|
|
|
|
|
@@ -150,7 +81,7 @@ if(UA_NAMESPACE_ZERO STREQUAL "FULL")
|
|
|
${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_di.c
|
|
|
${PROJECT_BINARY_DIR}/src_generated/tests/ua_namespace_plc.c
|
|
|
$<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
|
|
|
- add_dependencies(check_nodeset_compiler_plc open62541-generator-tests-ns-plc)
|
|
|
+ add_dependencies(check_nodeset_compiler_plc open62541-generator-ns-tests-plc)
|
|
|
target_link_libraries(check_nodeset_compiler_plc ${LIBS})
|
|
|
add_test_valgrind(nodeset_compiler_plc ${TESTS_BINARY_DIR}/check_nodeset_compiler_plc)
|
|
|
endif()
|