diff options
Diffstat (limited to 'src/fluent-bit/lib/librdkafka-2.1.0/tests/Makefile')
-rw-r--r-- | src/fluent-bit/lib/librdkafka-2.1.0/tests/Makefile | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/src/fluent-bit/lib/librdkafka-2.1.0/tests/Makefile b/src/fluent-bit/lib/librdkafka-2.1.0/tests/Makefile new file mode 100644 index 000000000..73eab2140 --- /dev/null +++ b/src/fluent-bit/lib/librdkafka-2.1.0/tests/Makefile @@ -0,0 +1,182 @@ +TESTSRCS_C = $(wildcard [08]*-*.c) +TESTSRCS_CXX= $(wildcard [08]*-*.cpp) +OBJS = $(TESTSRCS_C:%.c=%.o) $(TESTSRCS_CXX:%.cpp=%.o) + +BIN = test-runner +LIBS += -lrdkafka++ -lrdkafka +OBJS += test.o rusage.o testcpp.o \ + tinycthread.o tinycthread_extra.o rdlist.o sockem.o \ + sockem_ctrl.o +CFLAGS += -I../src +CXXFLAGS += -I../src -I../src-cpp +LDFLAGS += -rdynamic -L../src -L../src-cpp + +# Latest Kafka version +KAFKA_VERSION?=3.1.0 +# Kafka versions for compatibility tests +COMPAT_KAFKA_VERSIONS?=0.8.2.2 0.9.0.1 0.11.0.3 1.0.2 2.4.1 2.8.1 $(KAFKA_VERSION) + +# Non-default scenarios (FIXME: read from scenarios/*) +SCENARIOS?=noautocreate ak23 + +# A subset of rudimentary (and quick) tests suitable for quick smoke testing. +# The smoke test should preferably finish in under a minute. +SMOKE_TESTS?=0000,0001,0004,0012,0017,0022,0030,0039,0049,0087,0103 + +-include ../Makefile.config + +# Use C++ compiler as linker +CC_LD=$(CXX) + +all: $(BIN) run_par + +# +# These targets spin up a cluster and runs the test suite +# with different parameters. +# + +broker: $(BIN) + ./broker_version_tests.py --conf '{"parallel":1, "args":"-Q"}' $(KAFKA_VERSION) + +broker_idempotent: $(BIN) + ./broker_version_tests.py --conf '{"parallel":1, "args":"-P -L -Q"}' $(KAFKA_VERSION) + +sasl: $(BIN) + ./sasl_test.py --conf '{"parallel":1, "args":"-L -Q"}' $(KAFKA_VERSION) + +# Run the full test suite(s) +full: broker broker_idempotent sasl + + +# +# The following targets require an existing cluster running (test.conf) +# +quick: + @echo "Running quick(er) test suite (without sockem)" + ./run-test.sh -Q -E + +smoke: + @echo "Running smoke tests: $(SMOKE_TESTS)" + TESTS="$(SMOKE_TESTS)" $(MAKE) quick + +run_par: $(BIN) + @echo "Running tests in parallel" + ./run-test.sh + +run_seq: $(BIN) + @echo "Running tests sequentially" + ./run-test.sh -p1 + +run_local: $(BIN) + @echo "Running local broker-less tests with idempotent producer" + ./run-test.sh -l -P + +run_local_quick: $(BIN) + @echo "Running quick local broker-less tests with idempotent producer" + ./run-test.sh -l -Q -P + +idempotent_par: $(BIN) + ./run-test.sh -P + +idempotent_seq: $(BIN) + ./run-test.sh -P + +idempotent: idempotent_par + +transactions: $(BIN) + for _test in 0098 0101; do TESTS=$$_test ./run-test.sh ./$(BIN) ; done + +# Run unit tests +unit: $(BIN) + TESTS=0000 ./run-test.sh -p1 + + +# Delete all test topics (based on prefix) +delete_topics: + TESTS=none ./run-test.sh -D bare + +.PHONY: + +build: $(BIN) interceptor_test + +test.o: ../src/librdkafka.a ../src-cpp/librdkafka++.a interceptor_test + + + +include ../mklove/Makefile.base + +ifeq ($(_UNAME_S),Darwin) +interceptor_test: .PHONY +else +interceptor_test: .PHONY + $(MAKE) -C $@ +endif + + +tinycthread.o: ../src/tinycthread.c + $(CC) $(CPPFLAGS) $(CFLAGS) -c $< + +tinycthread_extra.o: ../src/tinycthread_extra.c + $(CC) $(CPPFLAGS) $(CFLAGS) -c $< + +rdlist.o: ../src/rdlist.c + $(CC) $(CPPFLAGS) $(CFLAGS) -c $< + + +clean: + rm -f *.test $(OBJS) $(BIN) + $(MAKE) -C interceptor_test clean + +# Remove test reports, temporary test files, crash dumps, etc. +clean-output: + rm -f *.offset stats_*.json core vgcore.* _until_fail_*.log gdbrun?????? + +realclean: clean clean-output + rm -f test_report_*.json + +java: .PHONY + make -C java + +# Run test-suite with ASAN +asan: + @(echo "### Running tests with AddressSanitizer") + (cd .. ; ./dev-conf.sh asan) + CI=true ./broker_version_tests.py --conf '{"args":"-Q"}' $(KAFKA_VERSION) + +# Run test-suite with TSAN +tsan: + @(echo "### Running tests with ThreadSanitizer") + (cd .. ; ./dev-conf.sh tsan) + CI=true ./broker_version_tests.py --conf '{"args":"-Q"}' $(KAFKA_VERSION) + +# Run full test-suite with a clean release build +pristine-full: + @(echo "### Running full test-suite with clean build") + (cd .. ; ./dev-conf.sh clean) + make full + +# Run backward compatibility tests +compat: + @(echo "### Running compatibility tests with Apache Kafka versions $(COMPAT_KAFKA_VERSIONS)") + ./broker_version_tests.py --rdkconf '{"args": "-Q"}' \ + $(COMPAT_KAFKA_VERSIONS) + +# Run non-default scenarios +scenarios: .PHONY + @echo "### Running test scenarios: $(SCENARIOS)" + @(for _SCENARIO in $(SCENARIOS) ; do \ + ./broker_version_tests.py --scenario "$$_SCENARIO" $(KAFKA_VERSION) ; \ + done) + + +# Run a full release / PR test. +# (| is for not running suites in parallel) +release-test: | asan tsan pristine-full scenarios compat + +# Check resource usage (requires a running cluster environment) +rusage: + ./run-test.sh -R bare + + + +-include $(DEPS) |