summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2010-08-31 15:31:26 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2010-08-31 15:31:26 +0200
commit4b91eac101b839c188835aa0e8d5284e32c6bdc1 (patch)
treeaaf413313dcb3b18b99e627fc760223cf449cd13
parentd16f52e874378f1ebf1fe0b2491585b46bfe2e55 (diff)
downloadpython-apt-4b91eac101b839c188835aa0e8d5284e32c6bdc1.tar.gz
* cherry pick debfile fix from lp:~mvo/python-apt/mvo (402..405):
* apt/debfile.py: - fix error when reading binary content and add regresion test
-rw-r--r--apt/debfile.py4
-rw-r--r--debian/changelog8
-rw-r--r--tests/data/test_debs/gdebi-test11.debbin0 -> 634 bytes
-rw-r--r--tests/data/test_debs/gdebi-test12.debbin0 -> 966 bytes
-rw-r--r--tests/test_debfile.py13
5 files changed, 23 insertions, 2 deletions
diff --git a/apt/debfile.py b/apt/debfile.py
index 9bf27da3..f4a31379 100644
--- a/apt/debfile.py
+++ b/apt/debfile.py
@@ -512,7 +512,7 @@ class DebPackage(object):
return sorted(content)
@staticmethod
- def to_hex(self, in_data):
+ def to_hex(in_data):
hex = ""
for (i, c) in enumerate(in_data):
if i%80 == 0:
@@ -521,7 +521,7 @@ class DebPackage(object):
return hex
@staticmethod
- def to_strish(self, in_data):
+ def to_strish(in_data):
s = ""
for c in in_data:
if ord(c) < 10 or ord(c) > 127:
diff --git a/debian/changelog b/debian/changelog
index 1fb41d07..e926c124 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+python-apt (0.7.96.1ubuntu7) UNRELEASED; urgency=low
+
+ * cherry pick debfile fix from lp:~mvo/python-apt/mvo (402..405):
+ * apt/debfile.py:
+ - fix error when reading binary content and add regresion test
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 31 Aug 2010 15:21:08 +0200
+
python-apt (0.7.96.1ubuntu6) maverick; urgency=low
* apt/debfile.py:
diff --git a/tests/data/test_debs/gdebi-test11.deb b/tests/data/test_debs/gdebi-test11.deb
new file mode 100644
index 00000000..af9b441f
--- /dev/null
+++ b/tests/data/test_debs/gdebi-test11.deb
Binary files differ
diff --git a/tests/data/test_debs/gdebi-test12.deb b/tests/data/test_debs/gdebi-test12.deb
new file mode 100644
index 00000000..36544cc7
--- /dev/null
+++ b/tests/data/test_debs/gdebi-test12.deb
Binary files differ
diff --git a/tests/test_debfile.py b/tests/test_debfile.py
index 5874dfc4..42cda6f6 100644
--- a/tests/test_debfile.py
+++ b/tests/test_debfile.py
@@ -77,6 +77,19 @@ class TestDebfilee(unittest.TestCase):
"Unexpected result for package '%s' (got %s wanted %s)\n%s" % (
filename, res, expected_res, deb._failure_string))
+ def testContent(self):
+ # normal
+ deb = apt.debfile.DebPackage(cache=self.cache)
+ deb.open(os.path.join("data", "test_debs", "gdebi-test11.deb"))
+ self.assertEqual('#!/bin/sh\necho "test"\n',
+ deb.data_content("usr/bin/test"))
+ # binary
+ deb = apt.debfile.DebPackage(cache=self.cache)
+ deb.open(os.path.join("data", "test_debs", "gdebi-test12.deb"))
+ content = deb.data_content("usr/bin/binary")
+ self.assertTrue(content.startswith("Automatically converted to printable ascii:\n\x7fELF "))
+
+
if __name__ == "__main__":
#logging.basicConfig(level=logging.DEBUG)
unittest.main()