summaryrefslogtreecommitdiff
path: root/gentoobrowse-api/unittests/testMaintenance.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gentoobrowse-api/unittests/testMaintenance.cpp')
-rw-r--r--gentoobrowse-api/unittests/testMaintenance.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/gentoobrowse-api/unittests/testMaintenance.cpp b/gentoobrowse-api/unittests/testMaintenance.cpp
index e10e7b6..64eef6c 100644
--- a/gentoobrowse-api/unittests/testMaintenance.cpp
+++ b/gentoobrowse-api/unittests/testMaintenance.cpp
@@ -8,6 +8,7 @@
#include <git2.h>
#include <fstream>
#include <maintenanceimpl.h>
+#include <portageimpl.h>
class MaintenanceClientCombined : public Maintenance, public TestClient { };
@@ -148,6 +149,10 @@ class MockPool : public IceTray::DatabasePool {
}
};
+#define BOOST_TEST_CONTEXT_VAR(VAR, EXPR) \
+ BOOST_TEST_CONTEXT(#EXPR) \
+ for (auto VAR = EXPR, * __context__run = &VAR; __context__run; __context__run = NULL)
+
BOOST_AUTO_TEST_CASE( refreshPackageTree )
{
auto db = DB::ConnectionPtr(DB::MockDatabase::openConnectionTo("GentooBrowseAPI"));
@@ -168,6 +173,36 @@ BOOST_AUTO_TEST_CASE( refreshPackageTree )
m2.applyDiffOfFolders(binDir / "empty", rootDir / "fixtures" / "4156eb45cf3b0ce1d7125b84efd8688c2d6e831d");
doRefreshPackageTree(db,
5, 1, 482, 981, 3626, 4593, 501, 393, 238, 50, 1573, 2008, 1543, 81, 152, 7);
+
+ Gentoo::PortagePtr portage = new Gentoo::Service::Portage(p);
+ BOOST_TEST_CONTEXT_VAR(acjtr, portage->findPackage("app-crypt", "johntheripper", Ice::Current())) {
+ BOOST_TEST_CONTEXT_VAR(acjtrUses, portage->getPackageUses(acjtr->packageid, Ice::Current())) {
+ BOOST_REQUIRE_EQUAL(9, acjtrUses.size());
+ BOOST_REQUIRE_EQUAL("custom-cflags", acjtrUses[1]->use);
+ BOOST_REQUIRE(!acjtrUses[1]->defaultflag);
+ BOOST_REQUIRE(!acjtrUses[1]->isdefault);
+ BOOST_REQUIRE_EQUAL("minimal", acjtrUses[2]->use);
+ BOOST_REQUIRE(acjtrUses[2]->defaultflag);
+ BOOST_REQUIRE(!*acjtrUses[2]->defaultflag);
+ BOOST_REQUIRE(!acjtrUses[2]->isdefault);
+ BOOST_REQUIRE(!acjtrUses[2]->group);
+ BOOST_REQUIRE_EQUAL("mmx", acjtrUses[7]->use);
+ BOOST_REQUIRE(acjtrUses[7]->group);
+ BOOST_REQUIRE_EQUAL("cpu_flags_x86", *acjtrUses[7]->group);
+ }
+ }
+ BOOST_TEST_CONTEXT_VAR(nms, portage->findPackage("net-proxy", "squid", Ice::Current())) {
+ BOOST_TEST_CONTEXT_VAR(nmsUses, portage->getPackageUses(nms->packageid, Ice::Current())) {
+ BOOST_REQUIRE_EQUAL(30, nmsUses.size());
+ BOOST_REQUIRE_EQUAL("caps", nmsUses[0]->use);
+ BOOST_REQUIRE(!nmsUses[0]->defaultflag);
+ BOOST_REQUIRE(!nmsUses[0]->isdefault);
+ BOOST_REQUIRE_EQUAL("htcp", nmsUses[3]->use);
+ BOOST_REQUIRE(nmsUses[3]->defaultflag);
+ BOOST_REQUIRE(*nmsUses[3]->defaultflag);
+ BOOST_REQUIRE(nmsUses[3]->isdefault);
+ }
+ }
}
BOOST_TEST_CONTEXT("756569aa764177340726dd3d40b41d89b11b20c7") {