cryfs: Enable tests
This commit is contained in:
parent
8efe90a3f4
commit
7a86e4cf0d
|
@ -35,6 +35,11 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ boost cryptopp curl fuse openssl python spdlog ];
|
||||
|
||||
patches = [
|
||||
./test-no-network.patch # Disable tests using external networking
|
||||
./skip-failing-test-large-malloc.patch
|
||||
];
|
||||
|
||||
# coreutils is needed for the vendored scrypt
|
||||
nativeBuildInputs = [ cmake coreutils pkgconfig ];
|
||||
|
||||
|
@ -43,9 +48,27 @@ stdenv.mkDerivation rec {
|
|||
cmakeFlags = [
|
||||
"-DCRYFS_UPDATE_CHECKS=OFF"
|
||||
"-DBoost_USE_STATIC_LIBS=OFF" # this option is case sensitive
|
||||
"-DBUILD_TESTING=OFF"
|
||||
"-DBUILD_TESTING=ON"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
# Cryfs tests are broken on darwin
|
||||
checkPhase = stdenv.lib.optionalString (!stdenv.isDarwin) ''
|
||||
# Skip CMakeFiles directory and tests depending on fuse (does not work well with sandboxing)
|
||||
SKIP_IMPURE_TESTS="CMakeFiles|fspp|cryfs-cli"
|
||||
|
||||
for test in `ls -d test/*/ | egrep -v "$SKIP_IMPURE_TESTS"`; do
|
||||
"./$test`basename $test`-test"
|
||||
done
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
# Building with BUILD_TESTING=ON is missing the install target
|
||||
mkdir -p $out/bin
|
||||
install -m 755 ./src/cryfs-cli/cryfs $out/bin/cryfs
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Cryptographic filesystem for the cloud";
|
||||
homepage = https://www.cryfs.org;
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
From ad3f7e9fa2dececfaab43963887a2f03de52d659 Mon Sep 17 00:00:00 2001
|
||||
From: adisbladis <adis@blad.is>
|
||||
Date: Thu, 12 Oct 2017 21:45:26 +0800
|
||||
Subject: [PATCH] Skip failing test: large malloc
|
||||
|
||||
---
|
||||
test/cpp-utils/data/DataTest.cpp | 11 -----------
|
||||
1 file changed, 11 deletions(-)
|
||||
|
||||
diff --git a/test/cpp-utils/data/DataTest.cpp b/test/cpp-utils/data/DataTest.cpp
|
||||
index 6f9df070..bd426e62 100644
|
||||
--- a/test/cpp-utils/data/DataTest.cpp
|
||||
+++ b/test/cpp-utils/data/DataTest.cpp
|
||||
@@ -191,17 +191,6 @@ TEST_F(DataTest, Inequality_DifferentLastByte) {
|
||||
EXPECT_TRUE(data1 != data2);
|
||||
}
|
||||
|
||||
-#ifdef __x86_64__
|
||||
-TEST_F(DataTest, LargesizeSize) {
|
||||
- //Needs 64bit for representation. This value isn't in the size param list, because the list is also used for read/write checks.
|
||||
- uint64_t size = 4.5L*1024*1024*1024;
|
||||
- Data data(size);
|
||||
- EXPECT_EQ(size, data.size());
|
||||
-}
|
||||
-#else
|
||||
-#warning This is not a 64bit architecture. Large size data tests are disabled.
|
||||
-#endif
|
||||
-
|
||||
TEST_F(DataTest, LoadingNonexistingFile) {
|
||||
TempFile file(false); // Pass false to constructor, so the tempfile is not created
|
||||
EXPECT_FALSE(Data::LoadFromFile(file.path()));
|
||||
--
|
||||
2.14.2
|
||||
|
24
pkgs/tools/filesystems/cryfs/test-no-network.patch
Normal file
24
pkgs/tools/filesystems/cryfs/test-no-network.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
From 8b1808e1278d2cb0dc56a4e98781eceeadfb9718 Mon Sep 17 00:00:00 2001
|
||||
From: adisbladis <adis@blad.is>
|
||||
Date: Thu, 12 Oct 2017 18:13:28 +0800
|
||||
Subject: [PATCH] Disable tests using external networking
|
||||
|
||||
---
|
||||
test/cpp-utils/CMakeLists.txt | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/test/cpp-utils/CMakeLists.txt b/test/cpp-utils/CMakeLists.txt
|
||||
index 5a2bc9f8..d838edba 100644
|
||||
--- a/test/cpp-utils/CMakeLists.txt
|
||||
+++ b/test/cpp-utils/CMakeLists.txt
|
||||
@@ -20,7 +20,6 @@ set(SOURCES
|
||||
tempfile/TempFileIncludeTest.cpp
|
||||
tempfile/TempDirIncludeTest.cpp
|
||||
tempfile/TempDirTest.cpp
|
||||
- network/CurlHttpClientTest.cpp
|
||||
network/FakeHttpClientTest.cpp
|
||||
io/ConsoleIncludeTest.cpp
|
||||
io/ConsoleTest_AskYesNo.cpp
|
||||
--
|
||||
2.14.2
|
||||
|
Loading…
Reference in a new issue