Mercurial > treepkg
diff test/test_debian.py @ 196:86ea689eda5f
Extend debian/control file parser to cope with more real-world file.
Add some test cases.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Fri, 01 Aug 2008 19:54:58 +0000 |
parents | e1c7cd896310 |
children | b1525ac52e27 |
line wrap: on
line diff
--- a/test/test_debian.py Thu Jul 31 10:36:17 2008 +0000 +++ b/test/test_debian.py Fri Aug 01 19:54:58 2008 +0000 @@ -53,3 +53,121 @@ self.assertEquals(parsed.build_depends, ['debhelper', 'libgpg-error-dev', 'bison', 'autotools-dev', 'cdbs']) + + +class TestDebianControlFileBuildDepsWithContinuation(unittest.TestCase, + FileTestMixin): + + control_contents = """\ +Source: kdebase +Section: kde +Priority: optional +Maintainer: Kolab-Konsortium Packager <packaging@kolab-konsortium.de> +Build-Depends: cdbs (>= 0.4.51), debhelper (>= 6), quilt, cmake (>= 2.4.5), + kdepimlibs5-dev (>= 4:4.0.84), libphonon-dev (>= 4:4.2~), + libplasma-dev (>= 4:4.0.84), libqimageblitz-dev (>= 1:0.0.4-2), + libsmbclient-dev, libusb-dev, libxkbfile-dev, libraw1394-dev, + libstreamanalyzer-dev, libxrender-dev, zlib1g-dev, libglu1-mesa-dev, + libpci-dev, libxt-dev, libxext-dev, pkg-config, libglib2.0-dev +Standards-Version: 3.7.3 + +Package: kdebase +Section: kde +Architecture: all +Description: base applications from the official KDE release +""" + + def test(self): + filename = self.create_temp_file("control", self.control_contents) + parsed = DebianControlFile(filename) + self.assertEquals(parsed.packages, + [('kdebase', 'all')]) + self.assertEquals(parsed.build_depends, + ['cdbs', 'debhelper', 'quilt', 'cmake', + 'kdepimlibs5-dev', 'libphonon-dev', 'libplasma-dev', + 'libqimageblitz-dev', 'libsmbclient-dev', + 'libusb-dev', 'libxkbfile-dev', 'libraw1394-dev', + 'libstreamanalyzer-dev', 'libxrender-dev', + 'zlib1g-dev', 'libglu1-mesa-dev', 'libpci-dev', + 'libxt-dev', 'libxext-dev', 'pkg-config', + 'libglib2.0-dev']) + + +class TestDebianControlFileWithComments(unittest.TestCase, FileTestMixin): + + control_contents = """\ +Source: kdebase +Section: kde +Priority: optional +Maintainer: Kolab-Konsortium Packager <packaging@kolab-konsortium.de> +Build-Depends: cdbs (>= 0.4.51), debhelper (>= 6), quilt, cmake (>= 2.4.5), + kdepimlibs5-dev (>= 4:4.0.84), libphonon-dev (>= 4:4.2~), libplasma-dev (>= 4:4.0.84), + libqimageblitz-dev (>= 1:0.0.4-2), libsmbclient-dev, libusb-dev, libxkbfile-dev, + libraw1394-dev, libstreamanalyzer-dev, libxrender-dev, zlib1g-dev, libglu1-mesa-dev, + libpci-dev, libxt-dev, libxext-dev, pkg-config, libglib2.0-dev +Standards-Version: 3.7.3 + +# commented out +# Package: foo +# Section: kde +# Architecture: all + +Package: kdebase +Section: kde +Architecture: all +Description: base applications from the official KDE release +""" + + def test(self): + filename = self.create_temp_file("control", self.control_contents) + parsed = DebianControlFile(filename) + self.assertEquals(parsed.packages, + [('kdebase', 'all')]) + self.assertEquals(parsed.build_depends, + ['cdbs', 'debhelper', 'quilt', 'cmake', + 'kdepimlibs5-dev', 'libphonon-dev', 'libplasma-dev', + 'libqimageblitz-dev', 'libsmbclient-dev', + 'libusb-dev', 'libxkbfile-dev', 'libraw1394-dev', + 'libstreamanalyzer-dev', 'libxrender-dev', + 'zlib1g-dev', 'libglu1-mesa-dev', 'libpci-dev', + 'libxt-dev', 'libxext-dev', 'pkg-config', + 'libglib2.0-dev']) + + +class TestDebianControlFileWithExtraEmptyLines(unittest.TestCase, + FileTestMixin): + + control_contents = """\ +Source: kdebase +Section: kde +Priority: optional +Maintainer: Kolab-Konsortium Packager <packaging@kolab-konsortium.de> +Build-Depends: cdbs (>= 0.4.51), debhelper (>= 6), quilt, cmake (>= 2.4.5), + kdepimlibs5-dev (>= 4:4.0.84), libphonon-dev (>= 4:4.2~), libplasma-dev (>= 4:4.0.84), + libqimageblitz-dev (>= 1:0.0.4-2), libsmbclient-dev, libusb-dev, libxkbfile-dev, + libraw1394-dev, libstreamanalyzer-dev, libxrender-dev, zlib1g-dev, libglu1-mesa-dev, + libpci-dev, libxt-dev, libxext-dev, pkg-config, libglib2.0-dev +Standards-Version: 3.7.3 + + +Package: kdebase +Section: kde +Architecture: all +Description: base applications from the official KDE release + +""" + + def test(self): + filename = self.create_temp_file("control", self.control_contents) + parsed = DebianControlFile(filename) + self.assertEquals(parsed.packages, + [('kdebase', 'all')]) + self.assertEquals(parsed.build_depends, + ['cdbs', 'debhelper', 'quilt', 'cmake', + 'kdepimlibs5-dev', 'libphonon-dev', 'libplasma-dev', + 'libqimageblitz-dev', 'libsmbclient-dev', + 'libusb-dev', 'libxkbfile-dev', 'libraw1394-dev', + 'libstreamanalyzer-dev', 'libxrender-dev', + 'zlib1g-dev', 'libglu1-mesa-dev', 'libpci-dev', + 'libxt-dev', 'libxext-dev', 'pkg-config', + 'libglib2.0-dev'])