From 62c797feb5ad50eb27cc6ec6361d2b16c1786ab1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A1n=20Kupec?= Date: Wed, 20 Oct 2010 16:35:17 +0200 Subject: [PATCH] --force test cases added --- tests/SolverRequester_test.cc | 88 +++++++++++++++++++++ .../openSUSE-11.1_subset/repodata/primary.xml.gz | Bin 53565 -> 53491 bytes .../data/openSUSE-11.1_subset/repodata/repomd.xml | 8 +- 3 files changed, 92 insertions(+), 4 deletions(-) diff --git a/tests/SolverRequester_test.cc b/tests/SolverRequester_test.cc index 321af00..8274017 100644 --- a/tests/SolverRequester_test.cc +++ b/tests/SolverRequester_test.cc @@ -569,6 +569,94 @@ BOOST_AUTO_TEST_CASE(install303) /////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////// +// Force (the --force) + +// request : install --force cron +// response: force install of cron-4.1-195.0, despite lower-priority repo. +BOOST_AUTO_TEST_CASE(install400) +{ + MIL << "<============install400===============>" << endl; + + vector rawargs; + rawargs.push_back("cron"); + SolverRequester::Options sropts; + sropts.force = true; + SolverRequester sr(sropts); + + sr.install(rawargs); + + BOOST_CHECK(!sr.hasFeedback(SolverRequester::Feedback::ALREADY_INSTALLED)); + BOOST_CHECK(sr.hasFeedback(SolverRequester::Feedback::FORCED_INSTALL)); + BOOST_CHECK_EQUAL(sr.toInstall().size(), 1); + BOOST_CHECK(hasPoolItem(sr.toInstall(), "cron", Edition("4.1-195.0"), Arch_x86_64)); + BOOST_CHECK(!sr.hasFeedback(SolverRequester::Feedback::UPD_CANDIDATE_HAS_LOWER_PRIO)); +} + +// request : install --force info +// response: force install of info-4.13-1.1, despite changed vendor. +BOOST_AUTO_TEST_CASE(install401) +{ + MIL << "<============install401===============>" << endl; + + vector rawargs; + rawargs.push_back("info"); + SolverRequester::Options sropts; + sropts.force = true; + SolverRequester sr(sropts); + + sr.install(rawargs); + + BOOST_CHECK(!sr.hasFeedback(SolverRequester::Feedback::ALREADY_INSTALLED)); + BOOST_CHECK(sr.hasFeedback(SolverRequester::Feedback::FORCED_INSTALL)); + BOOST_CHECK_EQUAL(sr.toInstall().size(), 1); + BOOST_CHECK(hasPoolItem(sr.toInstall(), "info", Edition("4.13-1.1"), Arch_x86_64)); + BOOST_CHECK(!sr.hasFeedback(SolverRequester::Feedback::UPD_CANDIDATE_CHANGES_VENDOR)); +} + +// request : install --force netcfg +// response: already installed, no update candidate, reinstall with +// highest available (netcfg-11.0.42-22.5 => downgrade) +BOOST_AUTO_TEST_CASE(install402) +{ + MIL << "<============install402===============>" << endl; + + vector rawargs; + rawargs.push_back("netcfg"); + SolverRequester::Options sropts; + sropts.force = true; + SolverRequester sr(sropts); + + sr.install(rawargs); + + BOOST_CHECK(!sr.hasFeedback(SolverRequester::Feedback::ALREADY_INSTALLED)); + BOOST_CHECK(sr.hasFeedback(SolverRequester::Feedback::FORCED_INSTALL)); + BOOST_CHECK_EQUAL(sr.toInstall().size(), 1); + BOOST_CHECK(hasPoolItem(sr.toInstall(), "netcfg", Edition("11.0.42-22.5"), Arch_noarch)); + BOOST_CHECK(!sr.hasFeedback(SolverRequester::Feedback::NO_UPD_CANDIDATE)); +} +// request : install --force sed +// response: already installed, no update candidate, reinstall +BOOST_AUTO_TEST_CASE(install403) +{ + MIL << "<============install403===============>" << endl; + + vector rawargs; + rawargs.push_back("popt"); + SolverRequester::Options sropts; + sropts.force = true; + SolverRequester sr(sropts); + + sr.install(rawargs); + + BOOST_CHECK(!sr.hasFeedback(SolverRequester::Feedback::ALREADY_INSTALLED)); + BOOST_CHECK(sr.hasFeedback(SolverRequester::Feedback::FORCED_INSTALL)); + BOOST_CHECK_EQUAL(sr.toInstall().size(), 1); + BOOST_CHECK(hasPoolItem(sr.toInstall(), "popt", Edition("1.7-5.5"), Arch_x86_64)); + BOOST_CHECK(!sr.hasFeedback(SolverRequester::Feedback::NO_UPD_CANDIDATE)); +} +/////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////// // remove diff --git a/tests/data/openSUSE-11.1_subset/repodata/primary.xml.gz b/tests/data/openSUSE-11.1_subset/repodata/primary.xml.gz index 1be0ef1ee0edb95e0b21bb4fa9c041ad66dd90b6..1cc330126e6dfe9aaa39e0a6c715202ca4768cb7 100644 GIT binary patch delta 10448 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 - 597c60ee55577175c17c071cd99d5aedd0cabc52 - 1271616829.0 - 9029cdb9f69e14df27ffae221c2c50458e8ab09a - + b2da4438018fe855edd2b449eb3abe1b9d9089e3216c5c5f268a2e6105258581 + 1287585079.0 + bc4b1b62a23326c7638438c4bb452d29eafc845448bcdc97d025ef1749337e82 + -- 2.7.4