Since feedparser messes with Python’s internals by assigning to __code__ it needs to import SGMLParseError too. It also expects SGMLParseError, which was turned into AssertionError by https://github.com/python/cpython/commit/e34bbfd61f405eef89e8aa50672b0b25022de320 --- feedparser-6.0.10/feedparser/sgml.py.orig 2023-03-18 09:24:50.976316932 +0100 +++ feedparser-6.0.10/feedparser/sgml.py 2023-03-18 09:26:32.971928811 +0100 @@ -28,6 +28,7 @@ import re import sgmllib +from sgmllib import SGMLParseError __all__ = [ 'sgmllib', @@ -41,6 +42,7 @@ 'shorttagopen', 'starttagopen', 'endbracket', + 'SGMLParseError', ] # sgmllib defines a number of module-level regular expressions that are --- feedparser-6.0.10/feedparser/html.py.orig 2023-03-18 09:32:03.647114745 +0100 +++ feedparser-6.0.10/feedparser/html.py 2023-03-18 09:46:05.021142671 +0100 @@ -349,7 +349,7 @@ try: return sgmllib.SGMLParser.parse_declaration(self, i) - except sgmllib.SGMLParseError: + except AssertionError: # Escape the doctype declaration and continue parsing. self.handle_data('<') return i+1 log/tests/guix-git-authenticate.sh'>logtreecommitdiff
path: root/tests/guix-git-authenticate.sh
AgeCommit message (Expand)Author
2022-02-14git-authenticate: Ensure the target is a descendant of the introductory commit....Fixes a bug whereby authentication of a commit *not* descending from the introductory commit could succeed, provided the commit verifies the authorization invariant. In the example below, A is a common ancestor of the introductory commit I and of commit X. Authentication of X would succeed, even though it is not a descendant of I, as long as X is authorized according to the '.guix-authorizations' in A: X I \ / A This is because, 'authenticate-repository' would not check whether X descends from I, and the call (commit-difference X I) would return X. In practice that only affects forks because it means that ancestors of the introductory commit already contain a '.guix-authorizations' file. * guix/git-authenticate.scm (authenticate-repository): Add call to 'commit-descendant?'. * tests/channels.scm ("authenticate-channel, not a descendant of introductory commit"): New test. * tests/git-authenticate.scm ("authenticate-repository, target not a descendant of intro"): New test. * tests/guix-git-authenticate.sh: Expect earlier test to fail since 9549f0283a78fe36f2d4ff2a04ef8ad6b0c02604 is not a descendant of $intro_commit. Add new test targeting an ancestor of the introductory commit, and another test targeting the v1.2.0 commit. * doc/guix.texi (Specifying Channel Authorizations): Add a sentence. Ludovic Courtès