diff test/test_packager.py @ 96:efbd66b13f51

Make PackagerTest more flexible to make it easier to add tests
author Bernhard Herzog <bh@intevation.de>
date Mon, 26 Nov 2007 14:34:17 +0000
parents 8f1c72135ea6
children d85efd3276bd
line wrap: on
line diff
--- a/test/test_packager.py	Mon Nov 26 14:28:47 2007 +0000
+++ b/test/test_packager.py	Mon Nov 26 14:34:17 2007 +0000
@@ -108,7 +108,7 @@
         for message, files in self.revisions:
             add_svn_files(self.svnworkdir, files, message)
 
-    def runtest(self, debrevision, **extra_track_args):
+    def runtest(self, debrevision, group_args=None, **extra_track_args):
         rootcmd = os.path.join(os.path.dirname(__file__), os.pardir, "test",
                                "mocksudopbuilder.py")
         track = PackageTrack(name="testpkg", base_dir=self.trackdir,
@@ -117,7 +117,10 @@
                              deb_email="treepkg@example.com",
                              deb_fullname="treepkg tester",
                              **extra_track_args)
-        group = PackagerGroup([track], 1)
+
+        if group_args is None:
+            group_args = {}
+        group = PackagerGroup([track], 1, **group_args)
         group.check_package_tracks()
 
         # determine version that has been packaged.  This assumes that
@@ -151,6 +154,23 @@
     def test_custom_debrevision_prefix(self):
         self.runtest("kk1", debrevision_prefix="kk")
 
+
+class TestPackerWithMultipleRevisions(PackagerTest):
+
+    revisions = [
+        ("Initial Revision",
+         [("README", "and miles to go before I sleep")]),
+        ("Add some code",
+         [("program.c", "int main(void) { return 0; }")]),
+        ("Add some more code",
+         [("another.c", "int main(void) { return 1; }")]),
+        ]
+
+    def test_default_debrevision_prefix(self):
+        self.runtest("treepkg1")
+        self.runtest("treepkg1", group_args=dict(revision=3)
+
+
 class StoppingPackager(treepkg.packager.RevisionPackager):
 
     def package(self):
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)