summaryrefslogtreecommitdiffstats
path: root/fluent-bit/tests/internal/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'fluent-bit/tests/internal/CMakeLists.txt')
-rw-r--r--fluent-bit/tests/internal/CMakeLists.txt216
1 files changed, 216 insertions, 0 deletions
diff --git a/fluent-bit/tests/internal/CMakeLists.txt b/fluent-bit/tests/internal/CMakeLists.txt
new file mode 100644
index 00000000..5288004d
--- /dev/null
+++ b/fluent-bit/tests/internal/CMakeLists.txt
@@ -0,0 +1,216 @@
+find_package(Threads REQUIRED)
+
+include_directories(cutest/)
+
+set(UNIT_TESTS_FILES
+ pack.c
+ pipe.c
+ sds.c
+ sds_list.c
+ hmac.c
+ crypto.c
+ hash.c
+ slist.c
+ router.c
+ network.c
+ unit_sizes.c
+ hashtable.c
+ http_client.c
+ utils.c
+ gzip.c
+ random.c
+ config_map.c
+ mp.c
+ input_chunk.c
+ flb_time.c
+ file.c
+ csv.c
+ multiline.c
+ typecast.c
+ base64.c
+ bucket_queue.c
+ flb_event_loop.c
+ ring_buffer.c
+ regex.c
+ parser_json.c
+ parser_ltsv.c
+ parser_regex.c
+ parser_logfmt.c
+ env.c
+ log.c
+ log_event_decoder.c
+ processor.c
+ uri.c
+ )
+
+# Config format
+set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ config_format.c
+ config_format_fluentbit.c
+)
+
+if(FLB_HAVE_LIBYAML)
+ set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ config_format_yaml.c
+ )
+endif()
+
+if (NOT WIN32)
+ set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ gelf.c
+ fstore.c
+ reload.c
+ )
+endif()
+
+if(FLB_PARSER)
+ set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ parser.c
+ )
+endif()
+
+if(FLB_STREAM_PROCESSOR)
+ set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ stream_processor.c
+ )
+endif()
+
+if(FLB_RECORD_ACCESSOR)
+ set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ record_accessor.c
+ )
+endif()
+
+if(FLB_METRICS)
+ set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ metrics.c
+ )
+endif()
+
+if(FLB_SIGNV4)
+ set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ signv4.c
+ )
+endif()
+
+if(FLB_AVRO_ENCODER)
+ set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ avro.c
+ )
+endif()
+
+if(FLB_AWS)
+ set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ aws_util.c
+ aws_compress.c
+ aws_credentials.c
+ aws_credentials_ec2.c
+ aws_credentials_sts.c
+ aws_credentials_http.c
+ aws_credentials_profile.c
+ )
+ if(FLB_HAVE_AWS_CREDENTIAL_PROCESS)
+ set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ aws_credentials_process.c
+ )
+ endif()
+endif()
+
+if(FLB_AWS_ERROR_REPORTER)
+ set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ error_reporter.c
+ )
+endif()
+
+if(FLB_LUAJIT)
+ set(UNIT_TESTS_FILES
+ ${UNIT_TESTS_FILES}
+ lua.c
+ )
+endif()
+
+set(UNIT_TESTS_DATA
+ data/tls/certificate.pem
+ data/tls/private_key.pem
+ data/pack/json_single_map_001.json
+ data/pack/json_single_map_002.json
+ data/parser/json.conf
+ data/parser/regex.conf
+ data/input_chunk/log/a_thousand_plus_one_bytes.log
+ data/input_chunk/log/test_buffer_valid.log
+ )
+
+set(FLB_TESTS_DATA_PATH ${CMAKE_CURRENT_SOURCE_DIR}/)
+configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/flb_tests_internal.h.in"
+ "${CMAKE_CURRENT_SOURCE_DIR}/flb_tests_internal.h"
+ )
+
+# Move data files to the path the test binaries can find them
+macro(FLB_TEST_COPY_DATA path)
+ configure_file(${path} ${CMAKE_CURRENT_BINARY_DIR}/${path} COPYONLY)
+endmacro()
+
+foreach(test_data ${UNIT_TESTS_DATA})
+ FLB_TEST_COPY_DATA(${test_data})
+endforeach()
+
+# Prepare list of unit tests function
+function(prepare_unit_tests TEST_PREFIX SOURCEFILES)
+ foreach(source_file ${SOURCEFILES})
+ get_filename_component(source_file_we ${source_file} NAME_WE)
+ set(source_file_we ${TEST_PREFIX}${source_file_we})
+ if(FLB_WITHOUT_${source_file_we})
+ message("Skipping test ${source_file_we}")
+ else()
+ add_executable(
+ ${source_file_we}
+ ${source_file}
+ )
+ add_sanitizers(${source_file_we})
+
+ if(FLB_JEMALLOC)
+ target_link_libraries(${source_file_we} libjemalloc ${CMAKE_THREAD_LIBS_INIT})
+ else()
+ target_link_libraries(${source_file_we} ${CMAKE_THREAD_LIBS_INIT})
+ endif()
+
+ if(FLB_AWS)
+ target_link_libraries(${source_file_we} flb-aws)
+ endif()
+
+ if(FLB_STREAM_PROCESSOR)
+ target_link_libraries(${source_file_we} flb-sp)
+ endif()
+
+ target_link_libraries(${source_file_we} fluent-bit-static cfl-static)
+
+ if(FLB_AVRO_ENCODER)
+ target_link_libraries(${source_file_we} avro-static jansson)
+ endif()
+
+ add_test(NAME ${source_file_we}
+ COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${source_file_we}
+ WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/build)
+ set_tests_properties(${source_file_we} PROPERTIES LABELS "internal")
+ endif()
+ endforeach()
+endfunction(prepare_unit_tests)
+
+prepare_unit_tests(flb-it- "${UNIT_TESTS_FILES}")
+
+if(FLB_TESTS_INTERNAL_FUZZ)
+ add_subdirectory(fuzzers)
+endif()