diff options
Diffstat (limited to 'gentoobrowse-api/unittests/testMaintenance.cpp')
-rw-r--r-- | gentoobrowse-api/unittests/testMaintenance.cpp | 35 |
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") { |