Mercurial > treepkg
view test/test_readconfig.py @ 441:eadcb1bb54e2
Merged revisions 388-399 via svnmerge from
svn+ssh://svn.wald.intevation.org/treepkg/branches/treepkg-status
........
r388 | bricks | 2010-07-28 10:38:50 +0200 (Mi, 28 Jul 2010) | 3 lines
fix if statement
upload hook should be called if it's not empty
........
r389 | bricks | 2010-07-28 13:38:00 +0200 (Mi, 28 Jul 2010) | 2 lines
only rsync specified architectures from cachedir to publishdir
........
r390 | bricks | 2010-07-29 14:07:57 +0200 (Do, 29 Jul 2010) | 2 lines
introduced after_copy_hook and made rsync upload to publishdir optional
........
r391 | bricks | 2010-07-29 15:43:39 +0200 (Do, 29 Jul 2010) | 3 lines
publish package must be default to get original behaviour
be more verbose at publishing
........
r392 | bricks | 2010-07-29 16:50:53 +0200 (Do, 29 Jul 2010) | 2 lines
fix handling of showing only successfull builds together with num packages
........
r393 | bricks | 2010-07-29 16:52:42 +0200 (Do, 29 Jul 2010) | 2 lines
fixed typo
........
r394 | bricks | 2010-07-29 16:59:10 +0200 (Do, 29 Jul 2010) | 2 lines
fixed another typo
........
r395 | bricks | 2010-07-29 18:05:54 +0200 (Do, 29 Jul 2010) | 3 lines
fixed another typo
treepkg is really slow with many revisions
........
r396 | bricks | 2010-08-02 12:41:55 +0200 (Mo, 02 Aug 2010) | 2 lines
fixed typos
........
r397 | bricks | 2010-08-02 17:36:12 +0200 (Mo, 02 Aug 2010) | 3 lines
be more error prone in listing different files
not checking if a dir exists caused several errors if a build wasn't successful
........
r398 | bricks | 2010-08-05 18:21:47 +0200 (Do, 05 Aug 2010) | 2 lines
review changes
........
r399 | bricks | 2010-08-06 13:06:08 +0200 (Fr, 06 Aug 2010) | 4 lines
cleanup modules
fix test_info testcases
added testcases for remove_trailingslashes and expand_filename
........
author | Bjoern Ricks <bricks@intevation.de> |
---|---|
date | Fri, 06 Aug 2010 13:41:54 +0000 |
parents | f9cd55aea87d |
children | 296d26453e2a |
line wrap: on
line source
# Copyright (C) 2008, 2009 by Intevation GmbH # Authors: # Bernhard Herzog <bh@intevation.de> # # This program is free software under the GPL (>=v2) # Read the file COPYING coming with the software for details. """Tests for the treepkg.readconfig module""" import sys import os import operator import unittest from filesupport import FileTestMixin from treepkg.readconfig import read_config class TestReadConfig(unittest.TestCase, FileTestMixin): config_contents = """\ [DEFAULT] treepkg_dir: /home/builder/mill tracks_dir: %(treepkg_dir)s/tracks root_cmd: sudo pbuilder_dir: %(treepkg_dir)s/pbuilder builderconfig: %(pbuilder_dir)s/pbuilderrc deb_email: treepkg@example.com deb_fullname: TreePKG pkg_revision_template: treepkg%%(pkg_revision)s handle_dependencies: False [treepkg] instructions_file: %(treepkg_dir)s/instructions check_interval: 3600 name: testtreepkg [pkg_simple] pkg_basename: simple1 svn_url: svn://example.com/%(name)s/trunk base_dir: %(tracks_dir)s/%(name)s packager_class: readconfig_test.%(name)s handle_dependencies: True signing_key_id: abcd1234 changelog_msg_template: Update to feature branch r%%(revision)s version_template: 1.0.svn%%(revision)s os: foo os [pkg_extraargs] svn_url: svn://example.com/%(name)s/trunk svn_subset: -N . subdir svn_externals: scripts admin base_dir: %(tracks_dir)s/%(name)s packager_class: readconfig_test.extraargs orig_tarball: %(base_dir)s/mytarball.tgz rules_svn_url: file:///tmp/my-debian-repository deb_build_options: parallel=2 os: bar os """ files = [("treepkg.cfg", config_contents), ("readconfig_test", [("__init__.py", ""), ("simple.py", "\n".join(["class SourcePackager:", " pass", ""])), ("extraargs.py", "\n".join(["class PackageTrack:", " extra_config_desc=['orig_tarball']", ""]))])] def setUp(self): self.directory = self.create_files("treepkg", self.files) self.old_path = sys.path sys.path = [self.directory] + sys.path def tearDown(self): sys.path = self.old_path def test_readconfig(self): config_file = os.path.join(self.directory, "treepkg.cfg") treepkg_opts, packager_opts = read_config(config_file) self.assertEquals(treepkg_opts, dict(instructions_file="/home/builder/mill/instructions", check_interval=3600, name="testtreepkg", treepkg_dir="/home/builder/mill", tracks_dir="/home/builder/mill/tracks")) self.assertEquals(sorted(packager_opts, key=operator.itemgetter("name")), [ dict(name="extraargs", base_dir="/home/builder/mill/tracks/extraargs", changelog_msg_template="Update to revision %(revision)s", deb_email="treepkg@example.com", deb_fullname="TreePKG", deb_build_options="parallel=2", pkg_revision_template="treepkg%(pkg_revision)s", handle_dependencies=False, packager_class="readconfig_test.extraargs", builderconfig="/home/builder/mill/pbuilder/pbuilderrc", # pkg_basename is passed as an empty string by default. # The PackageTrack an empty pkg_basename it with the # value of name pkg_basename="", root_cmd=['sudo'], signing_key_id="", svn_externals=["scripts", "admin"], svn_subset=[(".", False), ("subdir", True)], svn_url="svn://example.com/extraargs/trunk", rules_svn_url="file:///tmp/my-debian-repository", version_template="%(revision)s", orig_tarball=("/home/builder/mill/" "tracks/extraargs/mytarball.tgz"), git_url="", git_branch="", builder_cls="PBuilder", os="bar os"), dict(name="simple", base_dir="/home/builder/mill/tracks/simple", changelog_msg_template=("Update to feature branch" " r%(revision)s"), deb_email="treepkg@example.com", deb_fullname="TreePKG", deb_build_options="", rules_svn_url="", pkg_revision_template="treepkg%(pkg_revision)s", handle_dependencies=True, packager_class="readconfig_test.simple", builderconfig="/home/builder/mill/pbuilder/pbuilderrc", pkg_basename="simple1", root_cmd=['sudo'], signing_key_id="abcd1234", svn_externals=[], svn_subset=[], svn_url="svn://example.com/simple/trunk", version_template="1.0.svn%(revision)s", git_url="", git_branch="", builder_cls="PBuilder", os="foo os")]) def main(): unittest.main() if __name__ == "__main__": main()