forked from lix-project/lix
Allow installing unit tests
Closes #9343 See that issue for motivation. Installing these is disabled by default, but we enable it (and the additional output we want isntall these too so as not to clutter the existing ones) to use in cross builds and dev shells.
This commit is contained in:
parent
2bd2702127
commit
6c8f4ef350
|
@ -28,6 +28,8 @@ SODIUM_LIBS = @SODIUM_LIBS@
|
||||||
SQLITE3_LIBS = @SQLITE3_LIBS@
|
SQLITE3_LIBS = @SQLITE3_LIBS@
|
||||||
bash = @bash@
|
bash = @bash@
|
||||||
bindir = @bindir@
|
bindir = @bindir@
|
||||||
|
checkbindir = @checkbindir@
|
||||||
|
checklibdir = @checklibdir@
|
||||||
datadir = @datadir@
|
datadir = @datadir@
|
||||||
datarootdir = @datarootdir@
|
datarootdir = @datarootdir@
|
||||||
doc_generate = @doc_generate@
|
doc_generate = @doc_generate@
|
||||||
|
@ -48,4 +50,5 @@ sysconfdir = @sysconfdir@
|
||||||
system = @system@
|
system = @system@
|
||||||
ENABLE_BUILD = @ENABLE_BUILD@
|
ENABLE_BUILD = @ENABLE_BUILD@
|
||||||
ENABLE_TESTS = @ENABLE_TESTS@
|
ENABLE_TESTS = @ENABLE_TESTS@
|
||||||
|
INSTALL_UNIT_TESTS = @INSTALL_UNIT_TESTS@
|
||||||
internal_api_docs = @internal_api_docs@
|
internal_api_docs = @internal_api_docs@
|
||||||
|
|
12
configure.ac
12
configure.ac
|
@ -167,6 +167,18 @@ AC_ARG_ENABLE(tests, AS_HELP_STRING([--disable-tests],[Do not build the tests]),
|
||||||
ENABLE_TESTS=$enableval, ENABLE_TESTS=yes)
|
ENABLE_TESTS=$enableval, ENABLE_TESTS=yes)
|
||||||
AC_SUBST(ENABLE_TESTS)
|
AC_SUBST(ENABLE_TESTS)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(install-unit-tests, AS_HELP_STRING([--enable-install-unit-tests],[Install the unit tests for running later (default no)]),
|
||||||
|
INSTALL_UNIT_TESTS=$enableval, INSTALL_UNIT_TESTS=no)
|
||||||
|
AC_SUBST(INSTALL_UNIT_TESTS)
|
||||||
|
|
||||||
|
AC_ARG_WITH(check-bin-dir, AS_HELP_STRING([--with-check-bin-dir=PATH],[path to install unit tests for running later (defaults to $libexecdir/nix)]),
|
||||||
|
checkbindir=$withval, checkbindir=$libexecdir/nix)
|
||||||
|
AC_SUBST(checkbindir)
|
||||||
|
|
||||||
|
AC_ARG_WITH(check-lib-dir, AS_HELP_STRING([--with-check-lib-dir=PATH],[path to install unit tests for running later (defaults to $libdir)]),
|
||||||
|
checklibdir=$withval, checklibdir=$libdir)
|
||||||
|
AC_SUBST(checklibdir)
|
||||||
|
|
||||||
# Building without API docs is the default as Nix' C++ interfaces are internal and unstable.
|
# Building without API docs is the default as Nix' C++ interfaces are internal and unstable.
|
||||||
AC_ARG_ENABLE(internal_api_docs, AS_HELP_STRING([--enable-internal-api-docs],[Build API docs for Nix's internal unstable C++ interfaces]),
|
AC_ARG_ENABLE(internal_api_docs, AS_HELP_STRING([--enable-internal-api-docs],[Build API docs for Nix's internal unstable C++ interfaces]),
|
||||||
internal_api_docs=$enableval, internal_api_docs=no)
|
internal_api_docs=$enableval, internal_api_docs=no)
|
||||||
|
|
10
flake.nix
10
flake.nix
|
@ -164,6 +164,10 @@
|
||||||
|
|
||||||
testConfigureFlags = [
|
testConfigureFlags = [
|
||||||
"RAPIDCHECK_HEADERS=${lib.getDev rapidcheck}/extras/gtest/include"
|
"RAPIDCHECK_HEADERS=${lib.getDev rapidcheck}/extras/gtest/include"
|
||||||
|
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||||
|
"--enable-install-unit-tests"
|
||||||
|
"--with-check-bin-dir=${builtins.placeholder "check"}/bin"
|
||||||
|
"--with-check-lib-dir=${builtins.placeholder "check"}/lib"
|
||||||
];
|
];
|
||||||
|
|
||||||
internalApiDocsConfigureFlags = [
|
internalApiDocsConfigureFlags = [
|
||||||
|
@ -404,7 +408,8 @@
|
||||||
src = nixSrc;
|
src = nixSrc;
|
||||||
VERSION_SUFFIX = versionSuffix;
|
VERSION_SUFFIX = versionSuffix;
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "doc" ]
|
||||||
|
++ lib.optional (currentStdenv.hostPlatform != currentStdenv.buildPlatform) "check";
|
||||||
|
|
||||||
nativeBuildInputs = nativeBuildDeps;
|
nativeBuildInputs = nativeBuildDeps;
|
||||||
buildInputs = buildDeps
|
buildInputs = buildDeps
|
||||||
|
@ -710,7 +715,8 @@
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "nix";
|
name = "nix";
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "doc" ]
|
||||||
|
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "check";
|
||||||
|
|
||||||
nativeBuildInputs = nativeBuildDeps
|
nativeBuildInputs = nativeBuildDeps
|
||||||
++ lib.optional stdenv.cc.isClang pkgs.buildPackages.bear
|
++ lib.optional stdenv.cc.isClang pkgs.buildPackages.bear
|
||||||
|
|
|
@ -6,7 +6,11 @@ libexpr-tests_NAME := libnixexpr-tests
|
||||||
|
|
||||||
libexpr-tests_DIR := $(d)
|
libexpr-tests_DIR := $(d)
|
||||||
|
|
||||||
libexpr-tests_INSTALL_DIR :=
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libexpr-tests_INSTALL_DIR := $(checkbindir)
|
||||||
|
else
|
||||||
|
libexpr-tests_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
libexpr-tests_SOURCES := \
|
libexpr-tests_SOURCES := \
|
||||||
$(wildcard $(d)/*.cc) \
|
$(wildcard $(d)/*.cc) \
|
||||||
|
|
|
@ -6,7 +6,11 @@ libstore-tests-exe_NAME = libnixstore-tests
|
||||||
|
|
||||||
libstore-tests-exe_DIR := $(d)
|
libstore-tests-exe_DIR := $(d)
|
||||||
|
|
||||||
libstore-tests-exe_INSTALL_DIR :=
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libstore-tests-exe_INSTALL_DIR := $(checkbindir)
|
||||||
|
else
|
||||||
|
libstore-tests-exe_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
libstore-tests-exe_LIBS = libstore-tests
|
libstore-tests-exe_LIBS = libstore-tests
|
||||||
|
|
||||||
|
@ -18,7 +22,11 @@ libstore-tests_NAME = libnixstore-tests
|
||||||
|
|
||||||
libstore-tests_DIR := $(d)
|
libstore-tests_DIR := $(d)
|
||||||
|
|
||||||
libstore-tests_INSTALL_DIR :=
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libstore-tests_INSTALL_DIR := $(checklibdir)
|
||||||
|
else
|
||||||
|
libstore-tests_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
libstore-tests_SOURCES := $(wildcard $(d)/*.cc)
|
libstore-tests_SOURCES := $(wildcard $(d)/*.cc)
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,11 @@ libutil-tests-exe_NAME = libnixutil-tests
|
||||||
|
|
||||||
libutil-tests-exe_DIR := $(d)
|
libutil-tests-exe_DIR := $(d)
|
||||||
|
|
||||||
libutil-tests-exe_INSTALL_DIR :=
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libutil-tests-exe_INSTALL_DIR := $(checkbindir)
|
||||||
|
else
|
||||||
|
libutil-tests-exe_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
libutil-tests-exe_LIBS = libutil-tests
|
libutil-tests-exe_LIBS = libutil-tests
|
||||||
|
|
||||||
|
@ -18,7 +22,11 @@ libutil-tests_NAME = libnixutil-tests
|
||||||
|
|
||||||
libutil-tests_DIR := $(d)
|
libutil-tests_DIR := $(d)
|
||||||
|
|
||||||
libutil-tests_INSTALL_DIR :=
|
ifeq ($(INSTALL_UNIT_TESTS), yes)
|
||||||
|
libutil-tests_INSTALL_DIR := $(checklibdir)
|
||||||
|
else
|
||||||
|
libutil-tests_INSTALL_DIR :=
|
||||||
|
endif
|
||||||
|
|
||||||
libutil-tests_SOURCES := $(wildcard $(d)/*.cc)
|
libutil-tests_SOURCES := $(wildcard $(d)/*.cc)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue