[Treepkg-commits] r177 - in trunk: bin test
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Thu Apr 9 20:59:44 CEST 2009
Author: bh
Date: 2009-04-09 20:59:44 +0200 (Thu, 09 Apr 2009)
New Revision: 177
Modified:
trunk/bin/listpackages.py
trunk/test/test_listpackages.py
Log:
Make bin/listpackages.py prefer the newest packages by start-time, not
revision number. Change test_listpackages.py so that it uses more
realistic status files for the individual revisions and adapt the test
cases to the new behavior.
Modified: trunk/bin/listpackages.py
===================================================================
--- trunk/bin/listpackages.py 2009-04-09 18:20:04 UTC (rev 176)
+++ trunk/bin/listpackages.py 2009-04-09 18:59:44 UTC (rev 177)
@@ -62,12 +62,14 @@
if not revisions and main_rev is None:
return
+ revisions = sorted(revisions, key=lambda r: r.status.start, reverse=True)
+
if main_rev is None:
- revpkg = revisions[-1]
+ revpkg = revisions[0]
else:
# iterate in reverse, so that we pick up the newest revision
# packager with the desired revision first if rules_rev is None
- for revpkg in revisions[::-1]:
+ for revpkg in revisions:
if revpkg.revision == main_rev:
if rules_rev is None or revpkg.rules_revision == rules_rev:
break
Modified: trunk/test/test_listpackages.py
===================================================================
--- trunk/test/test_listpackages.py 2009-04-09 18:20:04 UTC (rev 176)
+++ trunk/test/test_listpackages.py 2009-04-09 18:59:44 UTC (rev 177)
@@ -10,10 +10,12 @@
import os
import difflib
import unittest
+from datetime import datetime, timedelta
from filesupport import FileTestMixin
from treepkg.run import call, capture_output, SubprocessError
+from treepkg.status import RevisionStatus
def package_track_files(track, version, binaries, revisions):
@@ -21,15 +23,31 @@
for suffix in [".orig.tar.gz", "-1.diff.gz", "-1.dsc"]]
bin_templates = ["%s_%s.%%s-1_i386.deb" % (basename, version)
for basename in binaries]
+
+ start_time = datetime.now()
+ build_duration = timedelta(minutes=30)
+ check_interval = timedelta(minutes=60)
+
+ package_dirs = []
+ for revision in revisions:
+ rev, rules_rev = revision
+ status = RevisionStatus(None)
+ status.binary_package_created()
+ status.start = start_time
+ status.stop = start_time + build_duration
+ start_time += check_interval
+
+ package_dirs.append(("%s-%s" % (rev, rules_rev),
+ [("status", "".join(status.serialize())),
+ ("src", [(template % (rev,), "")
+ for template in src_templates]),
+ ("binary", [(template % (rev,), "")
+ for template in bin_templates])]))
return (track,
- [("pkg", [("%s-%s" % (rev, rules_rev),
- [("status", "TreePackagerStatus 0.0\n"),
- ("src", [(template % (rev,), "")
- for template in src_templates]),
- ("binary", [(template % (rev,), "")
- for template in bin_templates])])
- for rev, rules_rev in revisions])])
+ [("pkg",
+ package_dirs)])
+
class ListPackagesTest(unittest.TestCase, FileTestMixin):
treepkg_cfg_template = """\
@@ -131,16 +149,16 @@
def test_listpackages_source(self):
self.check_cmd(["--track=kdepim", "--source"],
"""\
-kdepim/pkg/704195-31/src/kdepim_1.0.1.704195-1.diff.gz
-kdepim/pkg/704195-31/src/kdepim_1.0.1.704195-1.dsc
-kdepim/pkg/704195-31/src/kdepim_1.0.1.704195.orig.tar.gz
+kdepim/pkg/702432-47/src/kdepim_1.0.1.702432-1.diff.gz
+kdepim/pkg/702432-47/src/kdepim_1.0.1.702432-1.dsc
+kdepim/pkg/702432-47/src/kdepim_1.0.1.702432.orig.tar.gz
""")
def test_listpackages_binary(self):
self.check_cmd(["--track=kdepim", "--binary"],
"""\
-kdepim/pkg/704195-31/binary/kdepim_1.0.1.704195-1_i386.deb
-kdepim/pkg/704195-31/binary/kleopatra_1.0.1.704195-1_i386.deb
+kdepim/pkg/702432-47/binary/kdepim_1.0.1.702432-1_i386.deb
+kdepim/pkg/702432-47/binary/kleopatra_1.0.1.702432-1_i386.deb
""")
@@ -148,10 +166,12 @@
track_files = [package_track_files("kdepim", "1.0.1",
["kdepim", "kleopatra"],
- [(704195, 31), (702432, 47)]),
+ [(702432, 47),
+ (704195, 31)]),
package_track_files("kdepimlibs", "1.0.1",
["kdepimlibs"],
- [(803691, 4321), (803692, 4322)]),
+ [(803691, 4321),
+ (803692, 4322)]),
]
def test_listpackages_source(self):
@@ -201,11 +221,13 @@
track_files = [package_track_files("kdepim", "1.0.1",
["kdepim", "kleopatra"],
- [(704195, 31), (704195, 33),
- (702432, 47)]),
+ [(702432, 47),
+ (704195, 31),
+ (704195, 33)]),
package_track_files("kdepimlibs", "1.0.1",
["kdepimlibs"],
- [(803691, 4321), (803692, 4322)]),
+ [(803691, 4321),
+ (803692, 4322)]),
]
def test_listpackages_source_no_rev(self):
More information about the Treepkg-commits
mailing list