cryfs: Enable tests

This commit is contained in:
adisbladis 2017-10-13 23:29:20 +08:00
parent 8efe90a3f4
commit 7a86e4cf0d
No known key found for this signature in database
GPG key ID: ED58F95069B004F5
3 changed files with 82 additions and 1 deletions

View file

@ -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;

View file

@ -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

View 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