From 519420e242dca7f636f1f1337c2c942ce5828943 Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Mon, 7 Nov 2016 19:53:26 +0100 Subject: [PATCH] Adapt tests to new internal cluster API. - There is no more operator>>() on cluster. We should use init_from_stream. - The stream must be a zim::ifstream not a std::istream. Change-Id: I58b8e1d43b0973129d02393b83c3f248b77768fd Gbp-Pq: Name 0002-Adapt-tests-to-new-internal-cluster-API.patch --- test/cluster.cpp | 68 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 48 insertions(+), 20 deletions(-) diff --git a/test/cluster.cpp b/test/cluster.cpp index c4c25e6..687c1e1 100644 --- a/test/cluster.cpp +++ b/test/cluster.cpp @@ -18,9 +18,12 @@ */ #include +#include #include #include +#include #include +#include #include #include @@ -69,7 +72,9 @@ class ClusterTest : public cxxtools::unit::TestSuite void ReadWriteCluster() { - std::stringstream s; + std::string name = std::tmpnam(NULL); + std::ofstream os; + os.open(name.c_str()); zim::Cluster cluster; @@ -81,20 +86,25 @@ class ClusterTest : public cxxtools::unit::TestSuite cluster.addBlob(blob1.data(), blob1.size()); cluster.addBlob(blob2.data(), blob2.size()); - s << cluster; + os << cluster; + os.close(); + zim::ifstream is(name); zim::Cluster cluster2; - s >> cluster2; - CXXTOOLS_UNIT_ASSERT(!s.fail()); + cluster2.init_from_stream(is, 0); + CXXTOOLS_UNIT_ASSERT(!is.fail()); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.count(), 3); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.getBlobSize(0), blob0.size()); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.getBlobSize(1), blob1.size()); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.getBlobSize(2), blob2.size()); + std::remove(name.c_str()); } void ReadWriteEmpty() { - std::stringstream s; + std::string name = std::tmpnam(NULL); + std::ofstream os; + os.open(name.c_str()); zim::Cluster cluster; @@ -102,21 +112,26 @@ class ClusterTest : public cxxtools::unit::TestSuite cluster.addBlob(0, 0); cluster.addBlob(0, 0); - s << cluster; + os << cluster; + os.close(); + zim::ifstream is(name); zim::Cluster cluster2; - s >> cluster2; - CXXTOOLS_UNIT_ASSERT(!s.fail()); + cluster2.init_from_stream(is, 0); + CXXTOOLS_UNIT_ASSERT(!is.fail()); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.count(), 3); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.getBlobSize(0), 0); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.getBlobSize(1), 0); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.getBlobSize(2), 0); + std::remove(name.c_str()); } #ifdef ENABLE_ZLIB void ReadWriteClusterZ() { - std::stringstream s; + std::string name = std::tmpnam(NULL); + std::ofstream os; + os.open(name.c_str()); zim::Cluster cluster; @@ -129,11 +144,13 @@ class ClusterTest : public cxxtools::unit::TestSuite cluster.addBlob(blob2.data(), blob2.size()); cluster.setCompression(zim::zimcompZip); - s << cluster; + os << cluster; + os.close(); + zim::ifstream is(name); zim::Cluster cluster2; - s >> cluster2; - CXXTOOLS_UNIT_ASSERT(!s.fail()); + cluster2.init_from_stream(is, 0); + CXXTOOLS_UNIT_ASSERT(!is.fail()); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.count(), 3); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.getCompression(), zim::zimcompZip); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.getBlobSize(0), blob0.size()); @@ -142,6 +159,7 @@ class ClusterTest : public cxxtools::unit::TestSuite CXXTOOLS_UNIT_ASSERT(std::equal(cluster2.getBlobPtr(0), cluster2.getBlobPtr(0) + cluster2.getBlobSize(0), blob0.data())); CXXTOOLS_UNIT_ASSERT(std::equal(cluster2.getBlobPtr(1), cluster2.getBlobPtr(1) + cluster2.getBlobSize(1), blob1.data())); CXXTOOLS_UNIT_ASSERT(std::equal(cluster2.getBlobPtr(2), cluster2.getBlobPtr(2) + cluster2.getBlobSize(2), blob2.data())); + std::remove(name.c_str()); } #endif @@ -149,7 +167,9 @@ class ClusterTest : public cxxtools::unit::TestSuite #ifdef ENABLE_BZIP2 void ReadWriteClusterBz2() { - std::stringstream s; + std::string name = std::tmpnam(NULL); + std::ofstream os; + os.open(name.c_str()); zim::Cluster cluster; @@ -162,11 +182,13 @@ class ClusterTest : public cxxtools::unit::TestSuite cluster.addBlob(blob2.data(), blob2.size()); cluster.setCompression(zim::zimcompBzip2); - s << cluster; + os << cluster; + os.close(); + zim::ifstream is(name); zim::Cluster cluster2; - s >> cluster2; - CXXTOOLS_UNIT_ASSERT(!s.fail()); + cluster2.init_from_stream(is, 0); + CXXTOOLS_UNIT_ASSERT(!is.fail()); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.count(), 3); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.getCompression(), zim::zimcompBzip2); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.getBlobSize(0), blob0.size()); @@ -175,6 +197,7 @@ class ClusterTest : public cxxtools::unit::TestSuite CXXTOOLS_UNIT_ASSERT(std::equal(cluster2.getBlobPtr(0), cluster2.getBlobPtr(0) + cluster2.getBlobSize(0), blob0.data())); CXXTOOLS_UNIT_ASSERT(std::equal(cluster2.getBlobPtr(1), cluster2.getBlobPtr(1) + cluster2.getBlobSize(1), blob1.data())); CXXTOOLS_UNIT_ASSERT(std::equal(cluster2.getBlobPtr(2), cluster2.getBlobPtr(2) + cluster2.getBlobSize(2), blob2.data())); + std::remove(name.c_str()); } #endif @@ -182,7 +205,9 @@ class ClusterTest : public cxxtools::unit::TestSuite #ifdef ENABLE_LZMA void ReadWriteClusterLzma() { - std::stringstream s; + std::string name = std::tmpnam(NULL); + std::ofstream os; + os.open(name.c_str()); zim::Cluster cluster; @@ -195,11 +220,13 @@ class ClusterTest : public cxxtools::unit::TestSuite cluster.addBlob(blob2.data(), blob2.size()); cluster.setCompression(zim::zimcompLzma); - s << cluster; + os << cluster; + os.close(); + zim::ifstream is(name); zim::Cluster cluster2; - s >> cluster2; - CXXTOOLS_UNIT_ASSERT(!s.fail()); + cluster2.init_from_stream(is, 0); + CXXTOOLS_UNIT_ASSERT(!is.fail()); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.count(), 3); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.getCompression(), zim::zimcompLzma); CXXTOOLS_UNIT_ASSERT_EQUALS(cluster2.getBlobSize(0), blob0.size()); @@ -208,6 +235,7 @@ class ClusterTest : public cxxtools::unit::TestSuite CXXTOOLS_UNIT_ASSERT(std::equal(cluster2.getBlobPtr(0), cluster2.getBlobPtr(0) + cluster2.getBlobSize(0), blob0.data())); CXXTOOLS_UNIT_ASSERT(std::equal(cluster2.getBlobPtr(1), cluster2.getBlobPtr(1) + cluster2.getBlobSize(1), blob1.data())); CXXTOOLS_UNIT_ASSERT(std::equal(cluster2.getBlobPtr(2), cluster2.getBlobPtr(2) + cluster2.getBlobSize(2), blob2.data())); + std::remove(name.c_str()); } #endif -- 2.30.2