mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-22 05:56:15 +02:00
Put unit tests back in old build system for now
This commit is contained in:
parent
451f8a8c19
commit
b0bc2a97bf
12 changed files with 337 additions and 1 deletions
19
Makefile
19
Makefile
|
@ -38,6 +38,18 @@ makefiles += \
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ENABLE_UNIT_TESTS), yes)
|
||||||
|
makefiles += \
|
||||||
|
tests/unit/libutil/local.mk \
|
||||||
|
tests/unit/libutil-support/local.mk \
|
||||||
|
tests/unit/libstore/local.mk \
|
||||||
|
tests/unit/libstore-support/local.mk \
|
||||||
|
tests/unit/libfetchers/local.mk \
|
||||||
|
tests/unit/libexpr/local.mk \
|
||||||
|
tests/unit/libexpr-support/local.mk \
|
||||||
|
tests/unit/libflake/local.mk
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(ENABLE_FUNCTIONAL_TESTS), yes)
|
ifeq ($(ENABLE_FUNCTIONAL_TESTS), yes)
|
||||||
ifdef HOST_UNIX
|
ifdef HOST_UNIX
|
||||||
makefiles += \
|
makefiles += \
|
||||||
|
@ -91,6 +103,13 @@ include mk/lib.mk
|
||||||
# These must be defined after `mk/lib.mk`. Otherwise the first rule
|
# These must be defined after `mk/lib.mk`. Otherwise the first rule
|
||||||
# incorrectly becomes the default target.
|
# incorrectly becomes the default target.
|
||||||
|
|
||||||
|
ifneq ($(ENABLE_UNIT_TESTS), yes)
|
||||||
|
.PHONY: check
|
||||||
|
check:
|
||||||
|
@echo "Unit tests are disabled. Configure without '--disable-unit-tests', or avoid calling 'make check'."
|
||||||
|
@exit 1
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq ($(ENABLE_FUNCTIONAL_TESTS), yes)
|
ifneq ($(ENABLE_FUNCTIONAL_TESTS), yes)
|
||||||
.PHONY: installcheck
|
.PHONY: installcheck
|
||||||
installcheck:
|
installcheck:
|
||||||
|
|
|
@ -12,6 +12,7 @@ ENABLE_BUILD = @ENABLE_BUILD@
|
||||||
ENABLE_DOC_GEN = @ENABLE_DOC_GEN@
|
ENABLE_DOC_GEN = @ENABLE_DOC_GEN@
|
||||||
ENABLE_FUNCTIONAL_TESTS = @ENABLE_FUNCTIONAL_TESTS@
|
ENABLE_FUNCTIONAL_TESTS = @ENABLE_FUNCTIONAL_TESTS@
|
||||||
ENABLE_S3 = @ENABLE_S3@
|
ENABLE_S3 = @ENABLE_S3@
|
||||||
|
ENABLE_UNIT_TESTS = @ENABLE_UNIT_TESTS@
|
||||||
GTEST_LIBS = @GTEST_LIBS@
|
GTEST_LIBS = @GTEST_LIBS@
|
||||||
HAVE_LIBCPUID = @HAVE_LIBCPUID@
|
HAVE_LIBCPUID = @HAVE_LIBCPUID@
|
||||||
HAVE_SECCOMP = @HAVE_SECCOMP@
|
HAVE_SECCOMP = @HAVE_SECCOMP@
|
||||||
|
|
22
configure.ac
22
configure.ac
|
@ -141,6 +141,18 @@ AC_ARG_ENABLE(build, AS_HELP_STRING([--disable-build],[Do not build nix]),
|
||||||
ENABLE_BUILD=$enableval, ENABLE_BUILD=yes)
|
ENABLE_BUILD=$enableval, ENABLE_BUILD=yes)
|
||||||
AC_SUBST(ENABLE_BUILD)
|
AC_SUBST(ENABLE_BUILD)
|
||||||
|
|
||||||
|
# Building without unit tests is useful for bootstrapping with a smaller footprint
|
||||||
|
# or running the tests in a separate derivation. Otherwise, we do compile and
|
||||||
|
# run them.
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--disable-unit-tests],[Do not build the tests]),
|
||||||
|
ENABLE_UNIT_TESTS=$enableval, ENABLE_UNIT_TESTS=$ENABLE_BUILD)
|
||||||
|
AC_SUBST(ENABLE_UNIT_TESTS)
|
||||||
|
|
||||||
|
AS_IF(
|
||||||
|
[test "$ENABLE_BUILD" == "no" && test "$ENABLE_UNIT_TESTS" == "yes"],
|
||||||
|
[AC_MSG_ERROR([Cannot enable unit tests when building overall is disabled. Please do not pass '--enable-unit-tests' or do not pass '--disable-build'.])])
|
||||||
|
|
||||||
AC_ARG_ENABLE(functional-tests, AS_HELP_STRING([--disable-functional-tests],[Do not build the tests]),
|
AC_ARG_ENABLE(functional-tests, AS_HELP_STRING([--disable-functional-tests],[Do not build the tests]),
|
||||||
ENABLE_FUNCTIONAL_TESTS=$enableval, ENABLE_FUNCTIONAL_TESTS=yes)
|
ENABLE_FUNCTIONAL_TESTS=$enableval, ENABLE_FUNCTIONAL_TESTS=yes)
|
||||||
AC_SUBST(ENABLE_FUNCTIONAL_TESTS)
|
AC_SUBST(ENABLE_FUNCTIONAL_TESTS)
|
||||||
|
@ -353,6 +365,16 @@ if test "$gc" = yes; then
|
||||||
CFLAGS="$old_CFLAGS"
|
CFLAGS="$old_CFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AS_IF([test "$ENABLE_UNIT_TESTS" == "yes"],[
|
||||||
|
|
||||||
|
# Look for gtest.
|
||||||
|
PKG_CHECK_MODULES([GTEST], [gtest_main gmock_main])
|
||||||
|
|
||||||
|
# Look for rapidcheck.
|
||||||
|
PKG_CHECK_MODULES([RAPIDCHECK], [rapidcheck rapidcheck_gtest])
|
||||||
|
|
||||||
|
])
|
||||||
|
|
||||||
# Look for nlohmann/json.
|
# Look for nlohmann/json.
|
||||||
PKG_CHECK_MODULES([NLOHMANN_JSON], [nlohmann_json >= 3.9])
|
PKG_CHECK_MODULES([NLOHMANN_JSON], [nlohmann_json >= 3.9])
|
||||||
|
|
||||||
|
|
33
package.nix
33
package.nix
|
@ -52,6 +52,10 @@
|
||||||
# Whether to build Nix. Useful to skip for tasks like testing existing pre-built versions of Nix
|
# Whether to build Nix. Useful to skip for tasks like testing existing pre-built versions of Nix
|
||||||
, doBuild ? true
|
, doBuild ? true
|
||||||
|
|
||||||
|
# Run the unit tests as part of the build. See `installUnitTests` for an
|
||||||
|
# alternative to this.
|
||||||
|
, doCheck ? __forDefaults.canRunInstalled
|
||||||
|
|
||||||
# Run the functional tests as part of the build.
|
# Run the functional tests as part of the build.
|
||||||
, doInstallCheck ? test-client != null || __forDefaults.canRunInstalled
|
, doInstallCheck ? test-client != null || __forDefaults.canRunInstalled
|
||||||
|
|
||||||
|
@ -84,6 +88,11 @@
|
||||||
# - readline
|
# - readline
|
||||||
, readlineFlavor ? if stdenv.hostPlatform.isWindows then "readline" else "editline"
|
, readlineFlavor ? if stdenv.hostPlatform.isWindows then "readline" else "editline"
|
||||||
|
|
||||||
|
# Whether to install unit tests. This is useful when cross compiling
|
||||||
|
# since we cannot run them natively during the build, but can do so
|
||||||
|
# later.
|
||||||
|
, installUnitTests ? doBuild && !__forDefaults.canExecuteHost
|
||||||
|
|
||||||
# For running the functional tests against a pre-built Nix. Probably
|
# For running the functional tests against a pre-built Nix. Probably
|
||||||
# want to use in conjunction with `doBuild = false;`.
|
# want to use in conjunction with `doBuild = false;`.
|
||||||
, test-daemon ? null
|
, test-daemon ? null
|
||||||
|
@ -109,7 +118,7 @@ let
|
||||||
# things which should instead be gotten via `finalAttrs` in order to
|
# things which should instead be gotten via `finalAttrs` in order to
|
||||||
# work with overriding.
|
# work with overriding.
|
||||||
attrs = {
|
attrs = {
|
||||||
inherit doBuild doInstallCheck;
|
inherit doBuild doCheck doInstallCheck;
|
||||||
};
|
};
|
||||||
|
|
||||||
mkDerivation =
|
mkDerivation =
|
||||||
|
@ -125,11 +134,16 @@ in
|
||||||
mkDerivation (finalAttrs: let
|
mkDerivation (finalAttrs: let
|
||||||
|
|
||||||
inherit (finalAttrs)
|
inherit (finalAttrs)
|
||||||
|
doCheck
|
||||||
doInstallCheck
|
doInstallCheck
|
||||||
;
|
;
|
||||||
|
|
||||||
doBuild = !finalAttrs.dontBuild;
|
doBuild = !finalAttrs.dontBuild;
|
||||||
|
|
||||||
|
# Either running the unit tests during the build, or installing them
|
||||||
|
# to be run later, requiresthe unit tests to be built.
|
||||||
|
buildUnitTests = doCheck || installUnitTests;
|
||||||
|
|
||||||
in {
|
in {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
|
|
||||||
|
@ -163,6 +177,8 @@ in {
|
||||||
./scripts/local.mk
|
./scripts/local.mk
|
||||||
] ++ lib.optionals enableManual [
|
] ++ lib.optionals enableManual [
|
||||||
./doc/manual
|
./doc/manual
|
||||||
|
] ++ lib.optionals buildUnitTests [
|
||||||
|
./tests/unit
|
||||||
] ++ lib.optionals doInstallCheck [
|
] ++ lib.optionals doInstallCheck [
|
||||||
./tests/functional
|
./tests/functional
|
||||||
]));
|
]));
|
||||||
|
@ -175,6 +191,8 @@ in {
|
||||||
# If we are doing just build or just docs, the one thing will use
|
# If we are doing just build or just docs, the one thing will use
|
||||||
# "out". We only need additional outputs if we are doing both.
|
# "out". We only need additional outputs if we are doing both.
|
||||||
++ lib.optional (doBuild && enableManual) "doc"
|
++ lib.optional (doBuild && enableManual) "doc"
|
||||||
|
++ lib.optional installUnitTests "check"
|
||||||
|
++ lib.optional doCheck "testresults"
|
||||||
;
|
;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -212,6 +230,9 @@ in {
|
||||||
({ inherit readline editline; }.${readlineFlavor})
|
({ inherit readline editline; }.${readlineFlavor})
|
||||||
] ++ lib.optionals enableMarkdown [
|
] ++ lib.optionals enableMarkdown [
|
||||||
lowdown
|
lowdown
|
||||||
|
] ++ lib.optionals buildUnitTests [
|
||||||
|
gtest
|
||||||
|
rapidcheck
|
||||||
] ++ lib.optional stdenv.isLinux libseccomp
|
] ++ lib.optional stdenv.isLinux libseccomp
|
||||||
++ lib.optional stdenv.hostPlatform.isx86_64 libcpuid
|
++ lib.optional stdenv.hostPlatform.isx86_64 libcpuid
|
||||||
# There have been issues building these dependencies
|
# There have been issues building these dependencies
|
||||||
|
@ -228,16 +249,22 @@ in {
|
||||||
] ++ lib.optional enableGC boehmgc;
|
] ++ lib.optional enableGC boehmgc;
|
||||||
|
|
||||||
dontBuild = !attrs.doBuild;
|
dontBuild = !attrs.doBuild;
|
||||||
|
doCheck = attrs.doCheck;
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
(lib.enableFeature doBuild "build")
|
(lib.enableFeature doBuild "build")
|
||||||
|
(lib.enableFeature buildUnitTests "unit-tests")
|
||||||
(lib.enableFeature doInstallCheck "functional-tests")
|
(lib.enableFeature doInstallCheck "functional-tests")
|
||||||
(lib.enableFeature enableManual "doc-gen")
|
(lib.enableFeature enableManual "doc-gen")
|
||||||
(lib.enableFeature enableGC "gc")
|
(lib.enableFeature enableGC "gc")
|
||||||
(lib.enableFeature enableMarkdown "markdown")
|
(lib.enableFeature enableMarkdown "markdown")
|
||||||
|
(lib.enableFeature installUnitTests "install-unit-tests")
|
||||||
(lib.withFeatureAs true "readline-flavor" readlineFlavor)
|
(lib.withFeatureAs true "readline-flavor" readlineFlavor)
|
||||||
] ++ lib.optionals (!forDevShell) [
|
] ++ lib.optionals (!forDevShell) [
|
||||||
"--sysconfdir=/etc"
|
"--sysconfdir=/etc"
|
||||||
|
] ++ lib.optionals installUnitTests [
|
||||||
|
"--with-check-bin-dir=${builtins.placeholder "check"}/bin"
|
||||||
|
"--with-check-lib-dir=${builtins.placeholder "check"}/lib"
|
||||||
] ++ lib.optionals (doBuild) [
|
] ++ lib.optionals (doBuild) [
|
||||||
"--with-boost=${boost}/lib"
|
"--with-boost=${boost}/lib"
|
||||||
] ++ lib.optionals (doBuild && stdenv.isLinux) [
|
] ++ lib.optionals (doBuild && stdenv.isLinux) [
|
||||||
|
@ -318,6 +345,10 @@ in {
|
||||||
platforms = lib.platforms.unix ++ lib.platforms.windows;
|
platforms = lib.platforms.unix ++ lib.platforms.windows;
|
||||||
mainProgram = "nix";
|
mainProgram = "nix";
|
||||||
broken = !(lib.all (a: a) [
|
broken = !(lib.all (a: a) [
|
||||||
|
# We cannot run or install unit tests if we don't build them or
|
||||||
|
# Nix proper (which they depend on).
|
||||||
|
(installUnitTests -> doBuild)
|
||||||
|
(doCheck -> doBuild)
|
||||||
# The build process for the manual currently requires extracting
|
# The build process for the manual currently requires extracting
|
||||||
# data from the Nix executable we are trying to document.
|
# data from the Nix executable we are trying to document.
|
||||||
(enableManual -> doBuild)
|
(enableManual -> doBuild)
|
||||||
|
|
23
tests/unit/libexpr-support/local.mk
Normal file
23
tests/unit/libexpr-support/local.mk
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
libraries += libexpr-test-support
|
||||||
|
|
||||||
|
libexpr-test-support_NAME = libnixexpr-test-support
|
||||||
|
|
||||||
|
libexpr-test-support_DIR := $(d)
|
||||||
|
|
||||||
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libexpr-test-support_INSTALL_DIR := $(checklibdir)
|
||||||
|
else
|
||||||
|
libexpr-test-support_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
libexpr-test-support_SOURCES := \
|
||||||
|
$(wildcard $(d)/tests/*.cc) \
|
||||||
|
$(wildcard $(d)/tests/value/*.cc)
|
||||||
|
|
||||||
|
libexpr-test-support_CXXFLAGS += $(libexpr-tests_EXTRA_INCLUDES)
|
||||||
|
|
||||||
|
libexpr-test-support_LIBS = \
|
||||||
|
libstore-test-support libutil-test-support \
|
||||||
|
libexpr libstore libutil
|
||||||
|
|
||||||
|
libexpr-test-support_LDFLAGS := $(THREAD_LDFLAGS) -lrapidcheck
|
45
tests/unit/libexpr/local.mk
Normal file
45
tests/unit/libexpr/local.mk
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
check: libexpr-tests_RUN
|
||||||
|
|
||||||
|
programs += libexpr-tests
|
||||||
|
|
||||||
|
libexpr-tests_NAME := libnixexpr-tests
|
||||||
|
|
||||||
|
libexpr-tests_ENV := _NIX_TEST_UNIT_DATA=$(d)/data GTEST_OUTPUT=xml:$$testresults/libexpr-tests.xml
|
||||||
|
|
||||||
|
libexpr-tests_DIR := $(d)
|
||||||
|
|
||||||
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libexpr-tests_INSTALL_DIR := $(checkbindir)
|
||||||
|
else
|
||||||
|
libexpr-tests_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
libexpr-tests_SOURCES := \
|
||||||
|
$(wildcard $(d)/*.cc) \
|
||||||
|
$(wildcard $(d)/value/*.cc) \
|
||||||
|
$(wildcard $(d)/flake/*.cc)
|
||||||
|
|
||||||
|
libexpr-tests_EXTRA_INCLUDES = \
|
||||||
|
-I tests/unit/libexpr-support \
|
||||||
|
-I tests/unit/libstore-support \
|
||||||
|
-I tests/unit/libutil-support \
|
||||||
|
$(INCLUDE_libexpr) \
|
||||||
|
$(INCLUDE_libexprc) \
|
||||||
|
$(INCLUDE_libfetchers) \
|
||||||
|
$(INCLUDE_libstore) \
|
||||||
|
$(INCLUDE_libstorec) \
|
||||||
|
$(INCLUDE_libutil) \
|
||||||
|
$(INCLUDE_libutilc)
|
||||||
|
|
||||||
|
libexpr-tests_CXXFLAGS += $(libexpr-tests_EXTRA_INCLUDES)
|
||||||
|
|
||||||
|
libexpr-tests_LIBS = \
|
||||||
|
libexpr-test-support libstore-test-support libutil-test-support \
|
||||||
|
libexpr libexprc libfetchers libstore libstorec libutil libutilc
|
||||||
|
|
||||||
|
libexpr-tests_LDFLAGS := -lrapidcheck $(GTEST_LIBS) -lgmock
|
||||||
|
|
||||||
|
ifdef HOST_WINDOWS
|
||||||
|
# Increase the default reserved stack size to 65 MB so Nix doesn't run out of space
|
||||||
|
libexpr-tests_LDFLAGS += -Wl,--stack,$(shell echo $$((65 * 1024 * 1024)))
|
||||||
|
endif
|
37
tests/unit/libfetchers/local.mk
Normal file
37
tests/unit/libfetchers/local.mk
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
check: libfetchers-tests_RUN
|
||||||
|
|
||||||
|
programs += libfetchers-tests
|
||||||
|
|
||||||
|
libfetchers-tests_NAME = libnixfetchers-tests
|
||||||
|
|
||||||
|
libfetchers-tests_ENV := _NIX_TEST_UNIT_DATA=$(d)/data GTEST_OUTPUT=xml:$$testresults/libfetchers-tests.xml
|
||||||
|
|
||||||
|
libfetchers-tests_DIR := $(d)
|
||||||
|
|
||||||
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libfetchers-tests_INSTALL_DIR := $(checkbindir)
|
||||||
|
else
|
||||||
|
libfetchers-tests_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
libfetchers-tests_SOURCES := $(wildcard $(d)/*.cc)
|
||||||
|
|
||||||
|
libfetchers-tests_EXTRA_INCLUDES = \
|
||||||
|
-I tests/unit/libstore-support \
|
||||||
|
-I tests/unit/libutil-support \
|
||||||
|
$(INCLUDE_libfetchers) \
|
||||||
|
$(INCLUDE_libstore) \
|
||||||
|
$(INCLUDE_libutil)
|
||||||
|
|
||||||
|
libfetchers-tests_CXXFLAGS += $(libfetchers-tests_EXTRA_INCLUDES)
|
||||||
|
|
||||||
|
libfetchers-tests_LIBS = \
|
||||||
|
libstore-test-support libutil-test-support \
|
||||||
|
libfetchers libstore libutil
|
||||||
|
|
||||||
|
libfetchers-tests_LDFLAGS := -lrapidcheck $(GTEST_LIBS)
|
||||||
|
|
||||||
|
ifdef HOST_WINDOWS
|
||||||
|
# Increase the default reserved stack size to 65 MB so Nix doesn't run out of space
|
||||||
|
libfetchers-tests_LDFLAGS += -Wl,--stack,$(shell echo $$((65 * 1024 * 1024)))
|
||||||
|
endif
|
43
tests/unit/libflake/local.mk
Normal file
43
tests/unit/libflake/local.mk
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
check: libflake-tests_RUN
|
||||||
|
|
||||||
|
programs += libflake-tests
|
||||||
|
|
||||||
|
libflake-tests_NAME := libnixflake-tests
|
||||||
|
|
||||||
|
libflake-tests_ENV := _NIX_TEST_UNIT_DATA=$(d)/data GTEST_OUTPUT=xml:$$testresults/libflake-tests.xml
|
||||||
|
|
||||||
|
libflake-tests_DIR := $(d)
|
||||||
|
|
||||||
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libflake-tests_INSTALL_DIR := $(checkbindir)
|
||||||
|
else
|
||||||
|
libflake-tests_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
libflake-tests_SOURCES := \
|
||||||
|
$(wildcard $(d)/*.cc) \
|
||||||
|
$(wildcard $(d)/value/*.cc) \
|
||||||
|
$(wildcard $(d)/flake/*.cc)
|
||||||
|
|
||||||
|
libflake-tests_EXTRA_INCLUDES = \
|
||||||
|
-I tests/unit/libflake-support \
|
||||||
|
-I tests/unit/libstore-support \
|
||||||
|
-I tests/unit/libutil-support \
|
||||||
|
$(INCLUDE_libflake) \
|
||||||
|
$(INCLUDE_libexpr) \
|
||||||
|
$(INCLUDE_libfetchers) \
|
||||||
|
$(INCLUDE_libstore) \
|
||||||
|
$(INCLUDE_libutil) \
|
||||||
|
|
||||||
|
libflake-tests_CXXFLAGS += $(libflake-tests_EXTRA_INCLUDES)
|
||||||
|
|
||||||
|
libflake-tests_LIBS = \
|
||||||
|
libexpr-test-support libstore-test-support libutil-test-support \
|
||||||
|
libflake libexpr libfetchers libstore libutil
|
||||||
|
|
||||||
|
libflake-tests_LDFLAGS := -lrapidcheck $(GTEST_LIBS) -lgmock
|
||||||
|
|
||||||
|
ifdef HOST_WINDOWS
|
||||||
|
# Increase the default reserved stack size to 65 MB so Nix doesn't run out of space
|
||||||
|
libflake-tests_LDFLAGS += -Wl,--stack,$(shell echo $$((65 * 1024 * 1024)))
|
||||||
|
endif
|
21
tests/unit/libstore-support/local.mk
Normal file
21
tests/unit/libstore-support/local.mk
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
libraries += libstore-test-support
|
||||||
|
|
||||||
|
libstore-test-support_NAME = libnixstore-test-support
|
||||||
|
|
||||||
|
libstore-test-support_DIR := $(d)
|
||||||
|
|
||||||
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libstore-test-support_INSTALL_DIR := $(checklibdir)
|
||||||
|
else
|
||||||
|
libstore-test-support_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
libstore-test-support_SOURCES := $(wildcard $(d)/tests/*.cc)
|
||||||
|
|
||||||
|
libstore-test-support_CXXFLAGS += $(libstore-tests_EXTRA_INCLUDES)
|
||||||
|
|
||||||
|
libstore-test-support_LIBS = \
|
||||||
|
libutil-test-support \
|
||||||
|
libstore libutil
|
||||||
|
|
||||||
|
libstore-test-support_LDFLAGS := $(THREAD_LDFLAGS) -lrapidcheck
|
38
tests/unit/libstore/local.mk
Normal file
38
tests/unit/libstore/local.mk
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
check: libstore-tests_RUN
|
||||||
|
|
||||||
|
programs += libstore-tests
|
||||||
|
|
||||||
|
libstore-tests_NAME = libnixstore-tests
|
||||||
|
|
||||||
|
libstore-tests_ENV := _NIX_TEST_UNIT_DATA=$(d)/data GTEST_OUTPUT=xml:$$testresults/libstore-tests.xml
|
||||||
|
|
||||||
|
libstore-tests_DIR := $(d)
|
||||||
|
|
||||||
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libstore-tests_INSTALL_DIR := $(checkbindir)
|
||||||
|
else
|
||||||
|
libstore-tests_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
libstore-tests_SOURCES := $(wildcard $(d)/*.cc)
|
||||||
|
|
||||||
|
libstore-tests_EXTRA_INCLUDES = \
|
||||||
|
-I tests/unit/libstore-support \
|
||||||
|
-I tests/unit/libutil-support \
|
||||||
|
$(INCLUDE_libstore) \
|
||||||
|
$(INCLUDE_libstorec) \
|
||||||
|
$(INCLUDE_libutil) \
|
||||||
|
$(INCLUDE_libutilc)
|
||||||
|
|
||||||
|
libstore-tests_CXXFLAGS += $(libstore-tests_EXTRA_INCLUDES)
|
||||||
|
|
||||||
|
libstore-tests_LIBS = \
|
||||||
|
libstore-test-support libutil-test-support \
|
||||||
|
libstore libstorec libutil libutilc
|
||||||
|
|
||||||
|
libstore-tests_LDFLAGS := -lrapidcheck $(GTEST_LIBS)
|
||||||
|
|
||||||
|
ifdef HOST_WINDOWS
|
||||||
|
# Increase the default reserved stack size to 65 MB so Nix doesn't run out of space
|
||||||
|
libstore-tests_LDFLAGS += -Wl,--stack,$(shell echo $$((65 * 1024 * 1024)))
|
||||||
|
endif
|
19
tests/unit/libutil-support/local.mk
Normal file
19
tests/unit/libutil-support/local.mk
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
libraries += libutil-test-support
|
||||||
|
|
||||||
|
libutil-test-support_NAME = libnixutil-test-support
|
||||||
|
|
||||||
|
libutil-test-support_DIR := $(d)
|
||||||
|
|
||||||
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libutil-test-support_INSTALL_DIR := $(checklibdir)
|
||||||
|
else
|
||||||
|
libutil-test-support_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
libutil-test-support_SOURCES := $(wildcard $(d)/tests/*.cc)
|
||||||
|
|
||||||
|
libutil-test-support_CXXFLAGS += $(libutil-tests_EXTRA_INCLUDES)
|
||||||
|
|
||||||
|
libutil-test-support_LIBS = libutil
|
||||||
|
|
||||||
|
libutil-test-support_LDFLAGS := $(THREAD_LDFLAGS) -lrapidcheck
|
37
tests/unit/libutil/local.mk
Normal file
37
tests/unit/libutil/local.mk
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
check: libutil-tests_RUN
|
||||||
|
|
||||||
|
programs += libutil-tests
|
||||||
|
|
||||||
|
libutil-tests_NAME = libnixutil-tests
|
||||||
|
|
||||||
|
libutil-tests_ENV := _NIX_TEST_UNIT_DATA=$(d)/data GTEST_OUTPUT=xml:$$testresults/libutil-tests.xml
|
||||||
|
|
||||||
|
libutil-tests_DIR := $(d)
|
||||||
|
|
||||||
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libutil-tests_INSTALL_DIR := $(checkbindir)
|
||||||
|
else
|
||||||
|
libutil-tests_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
libutil-tests_SOURCES := $(wildcard $(d)/*.cc)
|
||||||
|
|
||||||
|
libutil-tests_EXTRA_INCLUDES = \
|
||||||
|
-I tests/unit/libutil-support \
|
||||||
|
$(INCLUDE_libutil) \
|
||||||
|
$(INCLUDE_libutilc)
|
||||||
|
|
||||||
|
libutil-tests_CXXFLAGS += $(libutil-tests_EXTRA_INCLUDES)
|
||||||
|
|
||||||
|
libutil-tests_LIBS = libutil-test-support libutil libutilc
|
||||||
|
|
||||||
|
libutil-tests_LDFLAGS := -lrapidcheck $(GTEST_LIBS)
|
||||||
|
|
||||||
|
ifdef HOST_WINDOWS
|
||||||
|
# Increase the default reserved stack size to 65 MB so Nix doesn't run out of space
|
||||||
|
libutil-tests_LDFLAGS += -Wl,--stack,$(shell echo $$((65 * 1024 * 1024)))
|
||||||
|
endif
|
||||||
|
|
||||||
|
check: $(d)/data/git/check-data.sh.test
|
||||||
|
|
||||||
|
$(eval $(call run-test,$(d)/data/git/check-data.sh))
|
Loading…
Reference in a new issue