Allow unit test infra to be reused across libs' tests
This allows using Arbitrary "instances" defined in libstore-tests in libexpr-tests, something we will leverage in a moment.
This commit is contained in:
parent
6772e9ed0a
commit
ec0c0efec6
13 changed files with 50 additions and 21 deletions
6
.gitignore
vendored
6
.gitignore
vendored
|
@ -37,14 +37,14 @@ perl/Makefile.config
|
||||||
/src/libexpr/parser-tab.hh
|
/src/libexpr/parser-tab.hh
|
||||||
/src/libexpr/parser-tab.output
|
/src/libexpr/parser-tab.output
|
||||||
/src/libexpr/nix.tbl
|
/src/libexpr/nix.tbl
|
||||||
/src/libexpr/tests/libexpr-tests
|
/src/libexpr/tests/libnixexpr-tests
|
||||||
|
|
||||||
# /src/libstore/
|
# /src/libstore/
|
||||||
*.gen.*
|
*.gen.*
|
||||||
/src/libstore/tests/libstore-tests
|
/src/libstore/tests/libnixstore-tests
|
||||||
|
|
||||||
# /src/libutil/
|
# /src/libutil/
|
||||||
/src/libutil/tests/libutil-tests
|
/src/libutil/tests/libnixutil-tests
|
||||||
|
|
||||||
/src/nix/nix
|
/src/nix/nix
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#include <gmock/gmock.h>
|
#include <gmock/gmock.h>
|
||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
#include "libexprtests.hh"
|
#include "tests/libexpr.hh"
|
||||||
|
|
||||||
namespace nix {
|
namespace nix {
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#include "libexprtests.hh"
|
#include "tests/libexpr.hh"
|
||||||
#include "value-to-json.hh"
|
#include "value-to-json.hh"
|
||||||
|
|
||||||
namespace nix {
|
namespace nix {
|
||||||
|
|
|
@ -7,18 +7,19 @@
|
||||||
#include "eval-inline.hh"
|
#include "eval-inline.hh"
|
||||||
#include "store-api.hh"
|
#include "store-api.hh"
|
||||||
|
|
||||||
|
#include "tests/libstore.hh"
|
||||||
|
|
||||||
namespace nix {
|
namespace nix {
|
||||||
class LibExprTest : public ::testing::Test {
|
class LibExprTest : public LibStoreTest {
|
||||||
public:
|
public:
|
||||||
static void SetUpTestSuite() {
|
static void SetUpTestSuite() {
|
||||||
initLibStore();
|
LibStoreTest::SetUpTestSuite();
|
||||||
initGC();
|
initGC();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
LibExprTest()
|
LibExprTest()
|
||||||
: store(openStore("dummy://"))
|
: LibStoreTest()
|
||||||
, state({}, store)
|
, state({}, store)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -36,7 +37,6 @@ namespace nix {
|
||||||
return state.symbols.create(value);
|
return state.symbols.create(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
ref<Store> store;
|
|
||||||
EvalState state;
|
EvalState state;
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,6 +2,8 @@ check: libexpr-tests_RUN
|
||||||
|
|
||||||
programs += libexpr-tests
|
programs += libexpr-tests
|
||||||
|
|
||||||
|
libexpr-tests_NAME := libnixexpr-tests
|
||||||
|
|
||||||
libexpr-tests_DIR := $(d)
|
libexpr-tests_DIR := $(d)
|
||||||
|
|
||||||
libexpr-tests_INSTALL_DIR :=
|
libexpr-tests_INSTALL_DIR :=
|
||||||
|
@ -12,6 +14,6 @@ libexpr-tests_SOURCES := \
|
||||||
|
|
||||||
libexpr-tests_CXXFLAGS += -I src/libexpr -I src/libutil -I src/libstore -I src/libexpr/tests
|
libexpr-tests_CXXFLAGS += -I src/libexpr -I src/libutil -I src/libstore -I src/libexpr/tests
|
||||||
|
|
||||||
libexpr-tests_LIBS = libexpr libutil libstore libfetchers
|
libexpr-tests_LIBS = libstore-tests libexpr libutil libstore libfetchers
|
||||||
|
|
||||||
libexpr-tests_LDFLAGS := $(GTEST_LIBS) -lgmock
|
libexpr-tests_LDFLAGS := $(GTEST_LIBS) -lgmock
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#include <gmock/gmock.h>
|
#include <gmock/gmock.h>
|
||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
#include "libexprtests.hh"
|
#include "tests/libexpr.hh"
|
||||||
|
|
||||||
namespace nix {
|
namespace nix {
|
||||||
class CaptureLogger : public Logger
|
class CaptureLogger : public Logger
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#include "libexprtests.hh"
|
#include "tests/libexpr.hh"
|
||||||
|
|
||||||
namespace nix {
|
namespace nix {
|
||||||
// Testing of trivial expressions
|
// Testing of trivial expressions
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#include "value/context.hh"
|
#include "value/context.hh"
|
||||||
|
|
||||||
#include "libexprtests.hh"
|
#include "tests/libexpr.hh"
|
||||||
|
|
||||||
namespace nix {
|
namespace nix {
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,20 @@
|
||||||
check: libstore-tests_RUN
|
check: libstore-tests-exe_RUN
|
||||||
|
|
||||||
programs += libstore-tests
|
programs += libstore-tests-exe
|
||||||
|
|
||||||
|
libstore-tests-exe_NAME = libnixstore-tests
|
||||||
|
|
||||||
|
libstore-tests-exe_DIR := $(d)
|
||||||
|
|
||||||
|
libstore-tests-exe_INSTALL_DIR :=
|
||||||
|
|
||||||
|
libstore-tests-exe_LIBS = libstore-tests
|
||||||
|
|
||||||
|
libstore-tests-exe_LDFLAGS := $(GTEST_LIBS)
|
||||||
|
|
||||||
|
libraries += libstore-tests
|
||||||
|
|
||||||
|
libstore-tests_NAME = libnixstore-tests
|
||||||
|
|
||||||
libstore-tests_DIR := $(d)
|
libstore-tests_DIR := $(d)
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,8 @@
|
||||||
#include "path-regex.hh"
|
#include "path-regex.hh"
|
||||||
#include "store-api.hh"
|
#include "store-api.hh"
|
||||||
|
|
||||||
#include "libstoretests.hh"
|
#include "tests/libstore.hh"
|
||||||
|
#include "tests/path.hh"
|
||||||
|
|
||||||
namespace nix {
|
namespace nix {
|
||||||
|
|
||||||
|
@ -73,11 +74,6 @@ void showValue(const StorePath & p, std::ostream & os) {
|
||||||
namespace rc {
|
namespace rc {
|
||||||
using namespace nix;
|
using namespace nix;
|
||||||
|
|
||||||
template<>
|
|
||||||
struct Arbitrary<StorePath> {
|
|
||||||
static Gen<StorePath> arbitrary();
|
|
||||||
};
|
|
||||||
|
|
||||||
Gen<StorePath> Arbitrary<StorePath>::arbitrary()
|
Gen<StorePath> Arbitrary<StorePath>::arbitrary()
|
||||||
{
|
{
|
||||||
auto len = *gen::inRange<size_t>(1, StorePath::MaxPathLen);
|
auto len = *gen::inRange<size_t>(1, StorePath::MaxPathLen);
|
||||||
|
|
15
src/libstore/tests/path.hh
Normal file
15
src/libstore/tests/path.hh
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <rapidcheck.h>
|
||||||
|
|
||||||
|
#include "path.hh"
|
||||||
|
|
||||||
|
namespace rc {
|
||||||
|
using namespace nix;
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct Arbitrary<StorePath> {
|
||||||
|
static Gen<StorePath> arbitrary();
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -2,6 +2,8 @@ check: libutil-tests_RUN
|
||||||
|
|
||||||
programs += libutil-tests
|
programs += libutil-tests
|
||||||
|
|
||||||
|
libutil-tests_NAME := libnixutil-tests
|
||||||
|
|
||||||
libutil-tests_DIR := $(d)
|
libutil-tests_DIR := $(d)
|
||||||
|
|
||||||
libutil-tests_INSTALL_DIR :=
|
libutil-tests_INSTALL_DIR :=
|
||||||
|
|
Loading…
Reference in a new issue