X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=tests%2Ftest_parse_changes.py;h=85a76948d193c5f4a8f4615eb71aa1fdc011236f;hb=a95c2b25c7bf4a55a78e273c2cb133ff93019306;hp=de0202e0847a55701eba151c439b168cc3301c53;hpb=47955ee9a5730c81b21ca9f31da4c176a82bcdc4;p=dak.git diff --git a/tests/test_parse_changes.py b/tests/test_parse_changes.py index de0202e0..85a76948 100755 --- a/tests/test_parse_changes.py +++ b/tests/test_parse_changes.py @@ -4,6 +4,7 @@ from base_test import DakTestCase, fixture import unittest +from daklib.gpg import GpgException from daklib.utils import parse_changes from daklib.dak_exceptions import InvalidDscError, ParseChangesError @@ -17,49 +18,51 @@ class ParseChangesTestCase(DakTestCase): self.fail('%s was not recognised as invalid' % filename) except ParseChangesError: pass + except GpgException: + pass except InvalidDscError, actual_line: if line is not None: assertEqual(actual_line, line) class ParseDscTestCase(ParseChangesTestCase): def test_1(self): - self.assertParse('dsc/1.dsc') + self.assertParse('dsc/1.dsc', -1, 1) def test_1_ignoreErrors(self): # Valid .dsc ; ignoring errors - self.assertParse('dsc/1.dsc', 0) + self.assertParse('dsc/1.dsc', -1, 1) def test_2(self): # Missing blank line before signature body - self.assertFails('dsc/2.dsc', line=14) + self.assertParse('dsc/2.dsc', -1, 1) def test_2_ignoreErrors(self): # Invalid .dsc ; ignoring errors - self.assertParse('dsc/2.dsc', 0) + self.assertParse('dsc/2.dsc', -1, 1) def test_3(self): # Missing blank line after signature header - self.assertFails('dsc/3.dsc', line=14) + self.assertParse('dsc/3.dsc', -1, 1) def test_4(self): # No blank lines at all - self.assertFails('dsc/4.dsc', line=19) + self.assertFails('dsc/4.dsc', -1, 1) def test_5(self): # Extra blank line before signature body - self.assertFails('dsc/5.dsc', line=15) + self.assertParse('dsc/5.dsc', -1, 1) def test_6(self): # Extra blank line after signature header - self.assertFails('dsc/6.dsc', line=5) + self.assertParse('dsc/6.dsc', -1, 1) class ParseChangesTestCase(ParseChangesTestCase): def test_1(self): # Empty changes - self.assertFails('changes/1.changes', line=5) + self.assertFails('changes/1.changes', 5, -1) def test_2(self): - changes = self.assertParse('changes/2.changes', 0) + changes = self.assertParse('changes/2.changes', -1) binaries = changes['binary'] @@ -67,12 +70,17 @@ class ParseChangesTestCase(ParseChangesTestCase): def test_3(self): for filename in ('valid', 'bogus-pre', 'bogus-post'): - for strict_whitespace in (0, 1): + for strict_whitespace in (-1,): changes = self.assertParse( 'changes/%s.changes' % filename, strict_whitespace, ) self.failIf(changes.get('you')) + def test_4(self): + changes = self.assertParse('changes/two-beginnings.changes', -1, 1) + self.assert_(changes['question'] == 'Is this a bug?') + self.failIf(changes.get('this')) + if __name__ == '__main__': unittest.main()