parent
2a95127732
commit
dce253ee01
|
@ -131,7 +131,7 @@ ifeq ($(HAVE_LIBCPUID), 1)
|
|||
endif
|
||||
|
||||
ifeq ($(ENABLE_BUILD), yes)
|
||||
nix_tests += test-libstoreconsumer.sh
|
||||
nix_tests += test-libstoreconsumer.sh test-repl-characterization.sh
|
||||
|
||||
ifeq ($(BUILD_SHARED_LIBS), 1)
|
||||
nix_tests += plugins.sh
|
||||
|
@ -143,6 +143,8 @@ $(d)/test-libstoreconsumer.sh.test $(d)/test-libstoreconsumer.sh.test-debug: \
|
|||
$(d)/plugins.sh.test $(d)/plugins.sh.test-debug: \
|
||||
$(buildprefix)$(d)/plugins/libplugintest.$(SO_EXT) \
|
||||
$(buildprefix)$(d)/plugins/libplugintestfail.$(SO_EXT)
|
||||
$(d)/test-repl-characterization.sh.test $(d)/test-repl-characterization.sh.test-debug: \
|
||||
$(buildprefix)$(d)/repl_characterization/test-repl-characterization
|
||||
|
||||
install-tests += $(foreach x, $(nix_tests), $(d)/$(x))
|
||||
|
||||
|
|
|
@ -1,18 +1,14 @@
|
|||
programs += test-repl-characterization
|
||||
|
||||
installcheck: test-repl-characterization_RUN
|
||||
|
||||
test-repl-characterization_DIR := $(d)
|
||||
|
||||
test-repl-characterization_ENV := _NIX_TEST_UNIT_DATA=$(shell realpath "$(d)")/data
|
||||
|
||||
# do not install
|
||||
test-repl-characterization_INSTALL_DIR :=
|
||||
|
||||
test-repl-characterization_SOURCES := \
|
||||
$(wildcard $(d)/*.cc) \
|
||||
|
||||
test-repl-characterization_CXXFLAGS += -I src/libutil -I tests/unit/libutil-support
|
||||
test-repl-characterization_CXXFLAGS += -I src/libutil -I tests/unit/libutil-support -DNIX_BIN_DIR="\"$(bindir)\""
|
||||
|
||||
test-repl-characterization_LIBS = libutil libutil-test-support
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#include <filesystem>
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <string>
|
||||
|
@ -47,8 +48,10 @@ public:
|
|||
Strings args{"--quiet", "repl", "--quiet", "--extra-experimental-features", "repl-automation"};
|
||||
args.insert(args.end(), extraArgs.begin(), extraArgs.end());
|
||||
|
||||
auto nixBin = canonPath(getEnvNonEmpty("NIX_BIN_DIR").value_or(NIX_BIN_DIR));
|
||||
|
||||
// TODO: why the fuck does this need two --quiets
|
||||
auto process = RunningProcess::start("nix", args);
|
||||
auto process = RunningProcess::start(nixBin + "/nix", args);
|
||||
auto session = TestSession{AUTOMATION_PROMPT, std::move(process)};
|
||||
|
||||
for (auto & bit : syntax) {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include <iostream>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "test-session.hh"
|
||||
#include "util.hh"
|
||||
|
@ -28,7 +29,7 @@ RunningProcess RunningProcess::start(std::string executable, Strings args)
|
|||
procStdout.readSide.close();
|
||||
if (dup2(STDOUT_FILENO, STDERR_FILENO) == -1)
|
||||
throw SysError("dupping stderr");
|
||||
execvp(executable.c_str(), stringsToCharPtrs(args).data());
|
||||
execve(executable.c_str(), stringsToCharPtrs(args).data(), environ);
|
||||
throw SysError("exec did not happen");
|
||||
});
|
||||
|
||||
|
|
3
tests/functional/test-repl-characterization.sh
Normal file
3
tests/functional/test-repl-characterization.sh
Normal file
|
@ -0,0 +1,3 @@
|
|||
source common.sh
|
||||
|
||||
_NIX_TEST_UNIT_DATA=$(pwd)/repl_characterization/data ./repl_characterization/test-repl-characterization
|
Loading…
Reference in a new issue