view test/test_info.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 8e0c81870e5e
children e5b66539f893
line wrap: on
line source
# Copyright (C) 2010 by Intevation GmbH
# Authors:
# Bjoern Ricks <bjoern.ricks@intevation.de>
#
# This program is free software under the GPL (>=v2)
# Read the file COPYING coming with the software for details.

"""Tests for treepkg.status.status"""

import unittest
import os
import sys

from treepkg.info.status import TreepkgInfo, TreepkgRootInfo

from filesupport import FileTestMixin
from treepkg.publish import get_binary_arch

class TreepkgInfoTest(unittest.TestCase, FileTestMixin):
    config_contents = """\
[DEFAULT]
#treepkg_dir: /home/builder/mill
#tracks_dir: %(treepkg_dir)s/tracks
tracks_dir: /home/builder/mill/tracks
root_cmd: sudo
pbuilder_dir: %(tracks_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: %(tracks_dir)s/instructions
check_interval: 3600
name: testtreepkginfo

[pkg_simple]
pkg_basename: simple1
svn_url: svn://example.com/%(name)s/trunk
base_dir: %(tracks_dir)s/%(name)s
packager_class: treepkginfo_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

"""

    files = [("treepkg.cfg", config_contents),
             ("treepkginfo_test",
              [("__init__.py", ""),
               ("simple.py",
                "\n".join(["class SourcePackager:",
                           "    pass",
                           ""])),
                            ])]

    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_createinfo(self):
        config_file = os.path.join(self.directory, "treepkg.cfg")
        tpkginfo = TreepkgInfo(config_file)
        tpkgrootinfo = tpkginfo.tpkgroot.info
        self.assertEquals("testtreepkginfo", tpkgrootinfo.name)
 

class TreepkgRootInfoTest(unittest.TestCase):

    def test_toxml(self):
        status = TreepkgRootInfo("testtreepkg")
        dom = status.toxml()
        xml = dom.toxml()
        self.assertEquals("<info><name>testtreepkg</name></info>", xml)

class TestPublish(unittest.TestCase, FileTestMixin):

    def test_get_binary_arch(self):
        source = get_binary_arch("source")
        self.assertEquals("source", source)
        binary_armel = get_binary_arch("armel")
        self.assertEquals("binary-armel", binary_armel)
        binary_armel = get_binary_arch("binary-armel")
        self.assertEquals("binary-armel", binary_armel)


if __name__ == '__main__':
    unittest.main()
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)