From: Junio C Hamano Date: Tue, 30 Jan 2024 00:03:00 +0000 (-0800) Subject: Merge branch 'js/oss-fuzz-build-in-ci' X-Git-Tag: v2.44.0-rc0~44 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9869e02a645babb91be500ea11eabddc551850e2;p=thirdparty%2Fgit.git Merge branch 'js/oss-fuzz-build-in-ci' oss-fuzz tests are built and run in CI. * js/oss-fuzz-build-in-ci: ci: build and run minimal fuzzers in GitHub CI fuzz: fix fuzz test build rules --- 9869e02a645babb91be500ea11eabddc551850e2 diff --cc Makefile index 1a62e48759,6c279b137e..0f748a52e6 --- a/Makefile +++ b/Makefile @@@ -752,8 -749,11 +752,12 @@@ SCRIPTS = $(SCRIPT_SH_GEN) ETAGS_TARGET = TAGS + # If you add a new fuzzer, please also make sure to run it in + # ci/run-build-and-minimal-fuzzers.sh so that we make sure it still links and + # runs in the future. + FUZZ_OBJS += oss-fuzz/dummy-cmd-main.o FUZZ_OBJS += oss-fuzz/fuzz-commit-graph.o +FUZZ_OBJS += oss-fuzz/fuzz-date.o FUZZ_OBJS += oss-fuzz/fuzz-pack-headers.o FUZZ_OBJS += oss-fuzz/fuzz-pack-idx.o .PHONY: fuzz-objs @@@ -3857,20 -3849,9 +3861,21 @@@ FUZZ_CXXFLAGS ?= $(ALL_CFLAGS .PHONY: fuzz-all - $(FUZZ_PROGRAMS): all - $(QUIET_LINK)$(CXX) $(FUZZ_CXXFLAGS) $(LIB_OBJS) $(BUILTIN_OBJS) \ - $(XDIFF_OBJS) $(EXTLIBS) git.o $@.o $(LIB_FUZZING_ENGINE) -o $@ + $(FUZZ_PROGRAMS): %: %.o oss-fuzz/dummy-cmd-main.o $(GITLIBS) GIT-LDFLAGS + $(QUIET_LINK)$(CXX) $(FUZZ_CXXFLAGS) -o $@ $(ALL_LDFLAGS) \ + -Wl,--allow-multiple-definition \ + $(filter %.o,$^) $(filter %.a,$^) $(LIBS) $(LIB_FUZZING_ENGINE) fuzz-all: $(FUZZ_PROGRAMS) + +$(UNIT_TEST_BIN): + @mkdir -p $(UNIT_TEST_BIN) + +$(UNIT_TEST_PROGS): $(UNIT_TEST_BIN)/%$X: $(UNIT_TEST_DIR)/%.o $(UNIT_TEST_DIR)/test-lib.o $(GITLIBS) GIT-LDFLAGS $(UNIT_TEST_BIN) + $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) \ + $(filter %.o,$^) $(filter %.a,$^) $(LIBS) + +.PHONY: build-unit-tests unit-tests +build-unit-tests: $(UNIT_TEST_PROGS) +unit-tests: $(UNIT_TEST_PROGS) + $(MAKE) -C t/ unit-tests