]> git.saurik.com Git - apt.git/commitdiff
demote missing gtest to a buildtime warning
authorDavid Kalnischkies <david@kalnischkies.de>
Tue, 17 Mar 2015 15:51:29 +0000 (16:51 +0100)
committerDavid Kalnischkies <david@kalnischkies.de>
Sat, 18 Apr 2015 23:13:08 +0000 (01:13 +0200)
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
test/libapt/makefile

index 06879f8390195f5b8c60c7d7b6805a306e7f8cc4..3fb393335db6d285c6ae75677298d0c78b799065 100644 (file)
@@ -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++])
 
index 7f23ace46dd0de3e32bceb49ab5cc79537d9c69f..0f8df291fcaa30a279f79ecbe62c994ec706a738 100644 (file)
@@ -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