Author: schubi2
Date: Fri May 2 12:20:05 2008
New Revision: 9934
URL: http://svn.opensuse.org/viewcvs/zypp?rev=9934&view=rev
Log:
regarding arch,ver,....; take the right queue after selecting solution
Modified:
trunk/libzypp-testsuite/solver/src/deptestomatic.cc
Modified: trunk/libzypp-testsuite/solver/src/deptestomatic.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp-testsuite/solver/src/deptestomatic.cc?rev=9934&r1=9933&r2=9934&view=diff
==============================================================================
--- trunk/libzypp-testsuite/solver/src/deptestomatic.cc (original)
+++ trunk/libzypp-testsuite/solver/src/deptestomatic.cc Fri May 2 12:20:05 2008
@@ -978,7 +978,12 @@
resolver->addExtraRequire(Capability (names[i], string2kind (node->getProp ("kind"))));
}
} else if (node->equals ("reportproblems")) {
- if (resolver->resolvePool() == true
+ bool success;
+ if (!solverQueue.empty())
+ success = resolver->resolveQueue(solverQueue);
+ else
+ success = resolver->resolvePool();
+ if (success
&& node->getProp ("ignoreValidSolution").empty()) {
RESULT << "No problems so far" << endl;
}
@@ -1046,7 +1051,13 @@
RESULT << "Wrong solution number (0-" << solutionCounter << ")" <resolvePool() == true) {
+ bool success;
+ if (!solverQueue.empty())
+ success = resolver->resolveQueue(solverQueue);
+ else
+ success = resolver->resolvePool();
+
+ if (success) {
RESULT << "No problems so far" << endl;
}
else {
@@ -1080,10 +1091,13 @@
if (package_name.empty())
package_name = node->getProp ("package");
string kind_name = node->getProp ("kind");
+ string version = node->getProp ("ver");
+ string release = node->getProp ("rel");
+ string architecture = node->getProp ("arch");
PoolItem poolItem;
- poolItem = get_poolItem (source_alias, package_name, kind_name);
+ poolItem = get_poolItem (source_alias, package_name, kind_name, version, release, architecture );
if (poolItem) {
RESULT << "Locking " << package_name << " from channel " << source_alias << endl;
poolItem.status().setLock (true, ResStatus::USER);
@@ -1096,13 +1110,20 @@
if (package_name.empty())
package_name = node->getProp ("package");
string kind_name = node->getProp ("kind");
+ string version = node->getProp ("ver");
+ string release = node->getProp ("rel");
+ string architecture = node->getProp ("arch");
// Solving is needed
- resolver->resolvePool();
+ bool success;
+ if (!solverQueue.empty())
+ success = resolver->resolveQueue(solverQueue);
+ else
+ success = resolver->resolvePool();
if (!package_name.empty()) {
PoolItem poolItem;
- poolItem = get_poolItem (source_alias, package_name, kind_name);
+ poolItem = get_poolItem (source_alias, package_name, kind_name, version, release, architecture );
if (poolItem) {
if (poolItem.isSatisfied())
RESULT << package_name << " from channel " << source_alias << " IS SATISFIED" << endl;
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org
For additional commands, e-mail: zypp-commit+help@opensuse.org