[Aptitude-devel] r2949 - in branches/aptitude-0.3/aptitude: . src/generic/problemresolver
Daniel Burrows
dburrows@costa.debian.org
Fri, 08 Apr 2005 03:08:07 +0000
Author: dburrows
Date: Fri Apr 8 03:08:04 2005
New Revision: 2949
Modified:
branches/aptitude-0.3/aptitude/ChangeLog
branches/aptitude-0.3/aptitude/src/generic/problemresolver/test.cc
branches/aptitude-0.3/aptitude/src/generic/problemresolver/test1.txt
Log:
Give the current version after the list of versions in test files.
Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog (original)
+++ branches/aptitude-0.3/aptitude/ChangeLog Fri Apr 8 03:08:04 2005
@@ -1,5 +1,10 @@
2005-04-07 Daniel Burrows <dburrows@debian.org>
+ * src/generic/problemresolver/test.cc, src/generic/problemresolver/test1.txt:
+
+ The current version must now be given after the list of versions
+ (makes it easier to change the current version, hopefully).
+
* src/generic/problemresolver/test.cc:
Fix a rather silly mistake that caused dummy_dep::broken()
Modified: branches/aptitude-0.3/aptitude/src/generic/problemresolver/test.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/generic/problemresolver/test.cc (original)
+++ branches/aptitude-0.3/aptitude/src/generic/problemresolver/test.cc Fri Apr 8 03:08:04 2005
@@ -99,6 +99,11 @@
*/
vector<dummy_version *> versions;
+ /** The current version of this package; defaults to the first
+ * element of "versions".
+ */
+ dummy_version *cur;
+
/** The ID of this version. */
unsigned int ID;
@@ -132,15 +137,23 @@
void add_version(dummy_version *version)
{
+ if(versions.empty())
+ cur=version;
versions.push_back(version);
}
- const dummy_version ¤t_version() const {return *versions.front();}
+ const dummy_version ¤t_version() const {return *cur;}
version_iterator versions_begin() const {return versions.begin();}
version_iterator versions_end() const {return versions.end();}
/** Returns the version corresponding to the given name or aborts */
dummy_version *version_from_name(const string &the_name);
+
+ /** Sets the current version to the given version. */
+ void set_current_version(dummy_version *v)
+ {
+ cur=v;
+ }
};
class dummy_dep;
@@ -521,7 +534,8 @@
* The first element of the list is the current version.
*/
void add_package(string name,
- vector<string> the_versions)
+ vector<string> the_versions,
+ string curname)
{
assert(!the_versions.empty());
@@ -534,6 +548,8 @@
packages.back()->add_version(versions.back());
}
+ packages.back()->set_current_version(packages.back()->version_from_name(curname));
+
packages_by_name[name]=packages.back();
}
@@ -634,7 +650,7 @@
//
// TEST ::= UNIVERSE
// UNIVERSE ::= PACKAGE | DEP
-// PACKAGE ::= "PACKAGE" pkgname < vername1 ... >
+// PACKAGE ::= "PACKAGE" pkgname < vername1 ... > curver
// DEP ::= "DEP" pkgname1 vername1 -> < pkgname2 vername2 ... >
// | "DEP" pkgname1 vername1 !! < pkgname2 vername2 ... >
//
@@ -711,10 +727,17 @@
throw ParseError("Expected version name or '>', got EOF");
}
+ if(in.eof())
+ throw ParseError("Expected a definition of the current version of "+pkgname+", got EOF");
+
+ string curname;
+
+ in >> curname >> ws;
+
if(vernames.empty())
throw ParseError("Package "+pkgname+" has no versions");
- rval->add_package(pkgname, vernames);
+ rval->add_package(pkgname, vernames, curname);
}
else if(s == "DEP")
{
Modified: branches/aptitude-0.3/aptitude/src/generic/problemresolver/test1.txt
==============================================================================
--- branches/aptitude-0.3/aptitude/src/generic/problemresolver/test1.txt (original)
+++ branches/aptitude-0.3/aptitude/src/generic/problemresolver/test1.txt Fri Apr 8 03:08:04 2005
@@ -1,7 +1,7 @@
-PACKAGE p1 < v1 v2 v3 >
-PACKAGE p2 < v1 v2 v3 >
-PACKAGE p3 < v1 v2 v3 >
-PACKAGE p4 < v1 v2 v3 >
+PACKAGE p1 < v1 v2 v3 > v1
+PACKAGE p2 < v1 v2 v3 > v1
+PACKAGE p3 < v1 v2 v3 > v1
+PACKAGE p4 < v1 v2 v3 > v1
DEP p1 v1 -> < p2 v2 p2 v3 >