summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2008-11-10 10:41:45 +0100
committerMichael Vogt <michael.vogt@ubuntu.com>2008-11-10 10:41:45 +0100
commitb4fac97986469c356a3b1030c14d600ba333202e (patch)
tree5bab0ea87b8e61833305e4341e5b3d7721e09bc9 /tests
parent46abf8f70e4ec1c520cd2bcf1a9493f2869193a1 (diff)
downloadpython-apt-b4fac97986469c356a3b1030c14d600ba333202e.tar.gz
* aptsources/distro.py:
- add parameter to get_distro() to make unit testing easier * tests/test_aptsources_ports.py: - add test for arch specific handling (when sub arch is on a different mirror than "main" arches)
Diffstat (limited to 'tests')
-rw-r--r--tests/test-data-ports/sources.list59
-rw-r--r--tests/test_aptsources_ports.py37
2 files changed, 96 insertions, 0 deletions
diff --git a/tests/test-data-ports/sources.list b/tests/test-data-ports/sources.list
new file mode 100644
index 00000000..a6b2f6ed
--- /dev/null
+++ b/tests/test-data-ports/sources.list
@@ -0,0 +1,59 @@
+#
+# deb cdrom:[Ubuntu-Server 8.04.1 _Hardy Heron_ - Release powerpc (20080703)]/ hardy main restricted
+
+# deb cdrom:[Ubuntu-Server 8.04.1 _Hardy Heron_ - Release powerpc (20080703)]/ hardy main restricted
+# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
+# newer versions of the distribution.
+
+deb http://ports.ubuntu.com/ubuntu-ports/ hardy main restricted
+deb-src http://archive.ubuntu.com/ubuntu hardy main restricted
+
+## Major bug fix updates produced after the final release of the
+## distribution.
+deb http://ports.ubuntu.com/ubuntu-ports/ hardy-updates main restricted
+deb-src http://archive.ubuntu.com/ubuntu hardy-updates main restricted
+
+## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
+## team, and may not be under a free licence. Please satisfy yourself as to
+## your rights to use the software. Also, please note that software in
+## universe WILL NOT receive any review or updates from the Ubuntu security
+## team.
+deb http://ports.ubuntu.com/ubuntu-ports/ hardy universe
+deb-src http://archive.ubuntu.com/ubuntu hardy universe
+deb http://ports.ubuntu.com/ubuntu-ports/ hardy-updates universe
+deb-src http://archive.ubuntu.com/ubuntu hardy-updates universe
+
+## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
+## team, and may not be under a free licence. Please satisfy yourself as to
+## your rights to use the software. Also, please note that software in
+## multiverse WILL NOT receive any review or updates from the Ubuntu
+## security team.
+deb http://ports.ubuntu.com/ubuntu-ports/ hardy multiverse
+deb-src http://archive.ubuntu.com/ubuntu hardy multiverse
+deb http://ports.ubuntu.com/ubuntu-ports/ hardy-updates multiverse
+deb-src http://archive.ubuntu.com/ubuntu hardy-updates multiverse
+
+## Uncomment the following two lines to add software from the 'backports'
+## repository.
+## N.B. software from this repository may not have been tested as
+## extensively as that contained in the main release, although it includes
+## newer versions of some applications which may provide useful features.
+## Also, please note that software in backports WILL NOT receive any review
+## or updates from the Ubuntu security team.
+# deb http://ports.ubuntu.com/ubuntu-ports/ hardy-backports main restricted universe multiverse
+# deb-src http://archive.ubuntu.com/ubuntu hardy-backports main restricted universe multiverse
+
+## Uncomment the following two lines to add software from Canonical's
+## 'partner' repository. This software is not part of Ubuntu, but is
+## offered by Canonical and the respective vendors as a service to Ubuntu
+## users.
+# deb http://archive.canonical.com/ubuntu hardy partner
+# deb-src http://archive.canonical.com/ubuntu hardy partner
+
+deb http://ports.ubuntu.com/ubuntu-ports/ hardy-security main restricted
+deb-src http://ports.ubuntu.com/ubuntu-ports/ hardy-security main restricted
+deb http://ports.ubuntu.com/ubuntu-ports/ hardy-security universe
+deb-src http://ports.ubuntu.com/ubuntu-ports/ hardy-security universe
+deb http://ports.ubuntu.com/ubuntu-ports/ hardy-security multiverse
+deb-src http://ports.ubuntu.com/ubuntu-ports/ hardy-security multiverse
+deb-src http://archive.ubuntu.com/ubuntu/ hardy-proposed restricted main multiverse universe
diff --git a/tests/test_aptsources_ports.py b/tests/test_aptsources_ports.py
new file mode 100644
index 00000000..203721c7
--- /dev/null
+++ b/tests/test_aptsources_ports.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+
+import unittest
+import apt_pkg
+import os
+import copy
+
+import sys
+sys.path.insert(0, "../")
+import aptsources
+import aptsources.sourceslist
+import aptsources.distro
+
+class TestAptSources(unittest.TestCase):
+ def __init__(self, methodName):
+ unittest.TestCase.__init__(self, methodName)
+ apt_pkg.init()
+ apt_pkg.Config.Set("APT::Architecture","powerpc")
+ apt_pkg.Config.Set("Dir::Etc", os.path.join(os.getcwd(),"test-data-ports"))
+ apt_pkg.Config.Set("Dir::Etc::sourceparts","/xxx")
+
+ def testMatcher(self):
+ apt_pkg.Config.Set("Dir::Etc::sourcelist","sources.list")
+ sources = aptsources.sourceslist.SourcesList()
+ distro = aptsources.distro.get_distro("Ubuntu","hardy","desc","8.04")
+ distro.get_sources(sources)
+ # test if all suits of the current distro were detected correctly
+ dist_templates = set()
+ for s in sources:
+ if not s.line.strip() or s.line.startswith("#"):
+ continue
+ if not s.template:
+ self.fail("source entry '%s' has no matcher" % s)
+
+
+if __name__ == "__main__":
+ unittest.main()