This is an automated email from the git hooks/post-receive script. jamessan pushed a commit to branch master in repository devscripts.
commit ab8940fb187fadb5c8591edbb3c15565078a0cc0 Author: Jakub Wilk <[email protected]> Date: Sun Jan 26 21:50:35 2014 +0100 sadt: Add support for @builddeps@ in tests' Depends. Closes: #736798 Signed-off-by: James McCoy <[email protected]> --- debian/changelog | 8 ++++++++ scripts/sadt | 14 +++++++++++--- scripts/sadt.pod | 4 ++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index afb004c..2552de7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +devscripts (2.14.2) UNRELEASED; urgency=medium + + [ Jakub Wilk ] + * sadt: + + Add support for @builddeps@ in tests' Depends. (Closes: #736798) + + -- Jakub Wilk <[email protected]> Sun, 26 Jan 2014 21:50:35 +0100 + devscripts (2.14.1) unstable; urgency=medium * Actually install sadt. (Closes: #736683) diff --git a/scripts/sadt b/scripts/sadt index 5c9aa7b..c6cca1f 100755 --- a/scripts/sadt +++ b/scripts/sadt @@ -166,7 +166,7 @@ class TestGroup(object): def __iter__(self): return iter(self.tests) - def expand_depends(self, packages): + def expand_depends(self, packages, build_depends): if '@' not in self.depends: return or_clauses = [] @@ -183,6 +183,9 @@ class TestGroup(object): finally: sys.stderr = orig_sys_stderr for or_clause in parsed_depends: + if len(or_clause) == 1 and or_clause[0]['name'] == '@builddeps@': + or_clauses += build_depends + continue stripped_or_clause = [r for r in or_clause if r['name'] != '@'] if len(stripped_or_clause) < len(or_clause): for package in packages: @@ -195,7 +198,6 @@ class TestGroup(object): self.depends = deb822.PkgRelation.str(or_clauses) def check_depends(self): - assert '@' not in self.depends if self._check_depends_cache is not None: if isinstance(self._depends_cache, Exception): raise self._check_depends_cache @@ -341,6 +343,7 @@ def main(): options.tests = frozenset(options.tests) options.ignore_restrictions = frozenset(options.ignore_restrictions.split(',')) binary_packages = set() + build_depends = [] try: file = open('debian/control', encoding='UTF-8') except IOError as exc: @@ -352,6 +355,11 @@ def main(): for n, para in enumerate(deb822.Packages.iter_paragraphs(file)): if n == 0: para['Source'] + for field in 'Build-Depends', 'Build-Depends-Indep': + try: + build_depends += deb822.PkgRelation.parse_relations(para[field]) + except KeyError: + continue else: binary_packages.add(para['Package']) test_groups = [] @@ -375,7 +383,7 @@ def main(): break method(value) if group is not None: - group.expand_depends(binary_packages) + group.expand_depends(binary_packages, build_depends) test_groups += [group] failures = [] n_skip = n_ok = 0 diff --git a/scripts/sadt.pod b/scripts/sadt.pod index 362ff06..0884e71 100644 --- a/scripts/sadt.pod +++ b/scripts/sadt.pod @@ -62,6 +62,10 @@ Show a help message and exit. =back +=head1 CONFORMING TO + +README.package-tests shipped by autopkgtest 2.6 + =head1 SEE ALSO B<adt-run>(1) -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/devscripts.git _______________________________________________ devscripts-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel
