From 42fab5fbc85e243b958beff95912c46fb81abcc0 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Tue, 17 Mar 2015 16:51:29 +0100 Subject: [PATCH] demote missing gtest to a buildtime warning MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit We just need it for unit tests and our debian/rules file actually skips calling them if nocheck is given… but this fails anyhow as we declared a hard-dependency on it. Demoting the error to a warning in configuration and adding a test in the 'make test' path with a friendly message allows nocheck to be useful again. (Running unit tests is fully encouraged of course, but bootstrappers and co do not need to be burdened with this stuff) --- configure.ac | 2 +- test/libapt/makefile | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 06879f839..3fb393335 100644 --- a/configure.ac +++ b/configure.ac @@ -91,7 +91,7 @@ AC_CHECK_LIB(curl, curl_easy_init, AC_LANG_PUSH([C++]) AC_CHECK_HEADER(gtest/gtest.h,, - AC_MSG_ERROR([failed: I need gtest to build tests]), + AC_MSG_WARN([failed: I need gtest (packaged as libgtest-dev) for unit testing]), ) AC_LANG_POP([C++]) diff --git a/test/libapt/makefile b/test/libapt/makefile index 7f23ace46..0f8df291f 100644 --- a/test/libapt/makefile +++ b/test/libapt/makefile @@ -8,6 +8,7 @@ APT_DOMAIN=none include ../../buildlib/defaults.mak .PHONY: test +ifeq (file-okay,$(shell $(CC) -M gtest_runner.cc >/dev/null 2>&1 && echo 'file-okay')) test: $(BIN)/gtest$(BASENAME) MALLOC_PERTURB_=21 MALLOC_CHECK_=2 LD_LIBRARY_PATH=$(LIB) $(BIN)/gtest$(BASENAME) @@ -71,3 +72,11 @@ $(LIB)/gtest.a: $(OBJ)/gtest-all.o echo Building static library $@ -rm -f $@ $(AR) $(ARFLAGS) $@ $^ + +else +test: + @echo "APT uses Googles C++ testing framework for its unit tests" + @echo "On Debian systems this is available in the 'libgtest-dev' package." + @echo "Please install it before attempting to run the unit tests." + exit 100 +endif -- 2.45.2