view test/test_debian.py @ 128:5155b4f9443d

Add basic dependency handling to PackageTrack and PackagerGroup. PackageTrack now extracts dependency information from the debian/control file and PackagerGroup sorts the tracks based on this information so that packages on which other packages in the group depend on are built first and their newly built binaries are installed added to the pbuilder instance. Also add some test cases.
author Bernhard Herzog <bh@intevation.de>
date Fri, 23 May 2008 16:11:22 +0000
parents e83e96ef12b1
children e1c7cd896310
line wrap: on
line source
# Copyright (C) 2008 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 treepkg.debian"""

import unittest

from filesupport import FileTestMixin

from treepkg.debian import DebianControlFile


class TestDebianControlFile(unittest.TestCase, FileTestMixin):

    control_contents = """\
Source: libksba
Section: libs
Priority: optional
Maintainer: Kolab-Konsortium Packager <packaging@kolab-konsortium.de>
Uploaders: Removed for the test
Build-Depends: debhelper (>= 4.2), libgpg-error-dev (>= 1.2), bison, autotools-dev, cdbs
Standards-Version: 3.7.2

Package: libksba-dev
Section: libdevel
Architecture: any
Depends: libksba8 (>= ${Source-Version})
Replaces: libksba0
Description: Test description
 Some more text.
 .
 Development library files.

Package: libksba8
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Test description
 Some more text.
 .
 Runtime library files.
"""

    def test(self):
        filename = self.create_temp_file(self.id() + "-control",
                                         self.control_contents)
        parsed = DebianControlFile(filename)
        self.assertEquals(parsed.packages,
                          [('libksba-dev', 'any'), ('libksba8', 'any')])
        self.assertEquals(parsed.build_depends,
                          ['debhelper', 'libgpg-error-dev', 'bison',
                           'autotools-dev', 'cdbs'])
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)