diff options
Diffstat (limited to '')
-rw-r--r-- | src/jaegertracing/thrift/lib/c_glib/test/CMakeLists.txt | 202 |
1 files changed, 202 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/lib/c_glib/test/CMakeLists.txt b/src/jaegertracing/thrift/lib/c_glib/test/CMakeLists.txt new file mode 100644 index 000000000..318b57629 --- /dev/null +++ b/src/jaegertracing/thrift/lib/c_glib/test/CMakeLists.txt @@ -0,0 +1,202 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + + +set(TEST_PREFIX "c_glib") + +# include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) + +#Make sure gen-cpp and gen-c_glib files can be included +include_directories("${CMAKE_CURRENT_BINARY_DIR}") + +# Create the thrift C test library +set(testgenc_SOURCES + gen-c_glib/t_test_debug_proto_test_types.c + gen-c_glib/t_test_enum_test_types.c + gen-c_glib/t_test_enum_test_service.c + gen-c_glib/t_test_empty_service.c + gen-c_glib/t_test_inherited.c + gen-c_glib/t_test_optional_required_test_types.c + gen-c_glib/t_test_reverse_order_service.c + gen-c_glib/t_test_second_service.c + gen-c_glib/t_test_service_for_exception_with_a_map.c + gen-c_glib/t_test_srv.c + gen-c_glib/t_test_thrift_test.c + gen-c_glib/t_test_thrift_test_types.c + gen-c_glib/t_test_debug_proto_test_types.h + gen-c_glib/t_test_enum_test_types.h + gen-c_glib/t_test_enum_test_service.h + gen-c_glib/t_test_empty_service.h + gen-c_glib/t_test_inherited.h + gen-c_glib/t_test_optional_required_test_types.h + gen-c_glib/t_test_reverse_order_service.h + gen-c_glib/t_test_second_service.h + gen-c_glib/t_test_service_for_exception_with_a_map.h + gen-c_glib/t_test_srv.h + gen-c_glib/t_test_thrift_test.h + gen-c_glib/t_test_thrift_test_types.h +) + +add_library(testgenc STATIC ${testgenc_SOURCES}) +LINK_AGAINST_THRIFT_LIBRARY(testgenc thrift_c_glib) + + +add_executable(testserialization testserialization.c) +target_link_libraries(testserialization testgenc) +LINK_AGAINST_THRIFT_LIBRARY(testserialization thrift_c_glib) +add_test(NAME testserialization COMMAND testserialization) + +add_executable(testapplicationexception testapplicationexception.c) +LINK_AGAINST_THRIFT_LIBRARY(testapplicationexception thrift_c_glib) +add_test(NAME testapplicationexception COMMAND testapplicationexception) + +add_executable(testtransportsocket testtransportsocket.c) +LINK_AGAINST_THRIFT_LIBRARY(testtransportsocket thrift_c_glib) +add_test(NAME testtransportsocket COMMAND testtransportsocket) + +add_executable(testbinaryprotocol testbinaryprotocol.c) +LINK_AGAINST_THRIFT_LIBRARY(testbinaryprotocol thrift_c_glib) +add_test(NAME testbinaryprotocol COMMAND testbinaryprotocol) + +add_executable(testcompactprotocol testcompactprotocol.c) +LINK_AGAINST_THRIFT_LIBRARY(testcompactprotocol thrift_c_glib) +add_test(NAME testcompactprotocol COMMAND testcompactprotocol) + +add_executable(testbufferedtransport testbufferedtransport.c) +LINK_AGAINST_THRIFT_LIBRARY(testbufferedtransport thrift_c_glib) +add_test(NAME testbufferedtransport COMMAND testbufferedtransport) + +add_executable(testframedtransport testframedtransport.c) +LINK_AGAINST_THRIFT_LIBRARY(testframedtransport thrift_c_glib) +add_test(NAME testframedtransport COMMAND testframedtransport) + +add_executable(testfdtransport testfdtransport.c) +LINK_AGAINST_THRIFT_LIBRARY(testfdtransport thrift_c_glib) +add_test(NAME testfdtransport COMMAND testfdtransport) + +add_executable(testmemorybuffer testmemorybuffer.c) +LINK_AGAINST_THRIFT_LIBRARY(testmemorybuffer thrift_c_glib) +add_test(NAME testmemorybuffer COMMAND testmemorybuffer) + +add_executable(testsimpleserver testsimpleserver.c) +LINK_AGAINST_THRIFT_LIBRARY(testsimpleserver thrift_c_glib) +add_test(NAME testsimpleserver COMMAND testsimpleserver) + +add_executable(testdebugproto testdebugproto.c) +target_link_libraries(testdebugproto testgenc) +add_test(NAME testdebugproto COMMAND testdebugproto) + +add_executable(testoptionalrequired testoptionalrequired.c) +target_link_libraries(testoptionalrequired testgenc) +add_test(NAME testoptionalrequired COMMAND testoptionalrequired) + +include_directories("${PROJECT_SOURCE_DIR}/test/c_glib/src" "${CMAKE_CURRENT_BINARY_DIR}/gen-c_glib") + +add_executable(testthrifttest testthrifttest.c + ${PROJECT_SOURCE_DIR}/test/c_glib/src/thrift_test_handler.c + ${PROJECT_SOURCE_DIR}/test/c_glib/src/thrift_test_handler.h + ${PROJECT_SOURCE_DIR}/test/c_glib/src/thrift_second_service_handler.c + ${PROJECT_SOURCE_DIR}/test/c_glib/src/thrift_second_service_handler.h + gen-c_glib/t_test_thrift_test_types.h) +target_link_libraries(testthrifttest testgenc) +add_test(NAME testthrifttest COMMAND testthrifttest) + + +if(BUILD_CPP) + + include_directories("${PROJECT_SOURCE_DIR}/lib/cpp/src") + + # Create the thrift C++ test library + set(testgenc_cpp_SOURCES + gen-cpp/ThriftTest.cpp + gen-cpp/ThriftTest_constants.cpp + gen-cpp/ThriftTest_types.cpp + gen-cpp/ThriftTest.h + gen-cpp/ThriftTest_constants.h + gen-cpp/ThriftTest_types.h + ) + + add_library(testgenc_cpp STATIC ${testgenc_cpp_SOURCES}) + LINK_AGAINST_THRIFT_LIBRARY(testgenc_cpp thrift) + + #HACK: testthrifttestclient.cpp includes ThriftTest.h without gen-*/ prefixes + # so we include it here + include_directories("${CMAKE_CURRENT_BINARY_DIR}/gen-cpp" "${CMAKE_CURRENT_BINARY_DIR}/gen-c_glib") + + add_executable(testthrifttestclient testthrifttestclient.cpp) + target_link_libraries(testthrifttestclient testgenc testgenc_cpp ${ZLIB_LIBRARIES}) + add_test(NAME testthrifttestclient COMMAND testthrifttestclient) + +endif(BUILD_CPP) + +# +# Common thrift code generation rules +# + +add_custom_command(OUTPUT + gen-c_glib/t_test_debug_proto_test_types.c + gen-c_glib/t_test_debug_proto_test_types.h + gen-c_glib/t_test_empty_service.c + gen-c_glib/t_test_empty_service.h + gen-c_glib/t_test_inherited.c + gen-c_glib/t_test_inherited.h + gen-c_glib/t_test_reverse_order_service.c + gen-c_glib/t_test_reverse_order_service.h + gen-c_glib/t_test_service_for_exception_with_a_map.c + gen-c_glib/t_test_service_for_exception_with_a_map.h + gen-c_glib/t_test_srv.c + gen-c_glib/t_test_srv.h + COMMAND ${THRIFT_COMPILER} --gen c_glib ${PROJECT_SOURCE_DIR}/test/DebugProtoTest.thrift +) + +add_custom_command(OUTPUT + gen-c_glib/t_test_enum_test_types.c + gen-c_glib/t_test_enum_test_types.h + gen-c_glib/t_test_enum_test_service.c + gen-c_glib/t_test_enum_test_service.h + COMMAND ${THRIFT_COMPILER} --gen c_glib ${PROJECT_SOURCE_DIR}/test/EnumTest.thrift +) + +add_custom_command(OUTPUT + gen-c_glib/t_test_optional_required_test_types.c + gen-c_glib/t_test_optional_required_test_types.h + COMMAND ${THRIFT_COMPILER} --gen c_glib ${PROJECT_SOURCE_DIR}/test/OptionalRequiredTest.thrift +) + +add_custom_command(OUTPUT + gen-c_glib/t_test_second_service.c + gen-c_glib/t_test_thrift_test.c + gen-c_glib/t_test_thrift_test_types.c + gen-c_glib/t_test_second_service.h + gen-c_glib/t_test_thrift_test.h + gen-c_glib/t_test_thrift_test_types.h + COMMAND ${THRIFT_COMPILER} --gen c_glib ${PROJECT_SOURCE_DIR}/test/ThriftTest.thrift +) + +add_custom_command(OUTPUT + gen-cpp/ThriftTest.cpp + gen-cpp/ThriftTest_constants.cpp + gen-cpp/ThriftTest_types.cpp + gen-cpp/ThriftTest.h + gen-cpp/ThriftTest_constants.h + gen-cpp/ThriftTest_types.h + COMMAND ${THRIFT_COMPILER} --gen cpp ${PROJECT_SOURCE_DIR}/test/ThriftTest.thrift +) + +# TODO: Add memory checks using ctest_memcheck or similar |