From b9ae8e7e2c0a4daae40dabb1e22a3091b1d28675 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jelmer=20Vernoo=C4=B3?= Date: Fri, 26 Mar 2021 01:36:28 +0000 Subject: [PATCH] Specify -T. --- ognibuild/resolver/__init__.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/ognibuild/resolver/__init__.py b/ognibuild/resolver/__init__.py index cd6614c..40b66d2 100644 --- a/ognibuild/resolver/__init__.py +++ b/ognibuild/resolver/__init__.py @@ -39,9 +39,10 @@ class Resolver(object): class CPANResolver(Resolver): - def __init__(self, session, user_local=False): + def __init__(self, session, user_local=False, skip_tests=True): self.session = session self.user_local = user_local + self.skip_tests = skip_tests def __str__(self): return "cpan" @@ -49,6 +50,13 @@ class CPANResolver(Resolver): def __repr__(self): return "%s(%r)" % (type(self).__name__, self.session) + def _cmd(self, reqs): + ret = ["cpan", "-i"] + if self.skip_tests: + ret.append('-T') + ret.extend([req.module for req in reqs]) + return ret + def explain(self, requirements): from ..requirements import PerlModuleRequirement @@ -58,7 +66,7 @@ class CPANResolver(Resolver): continue perlreqs.append(requirement) if perlreqs: - yield (["cpan", "-i"] + [req.module for req in perlreqs], [perlreqs]) + yield (self._cmd(perlreqs), [perlreqs]) def install(self, requirements): from ..requirements import PerlModuleRequirement @@ -79,9 +87,9 @@ class CPANResolver(Resolver): if not isinstance(requirement, PerlModuleRequirement): missing.append(requirement) continue - # TODO(jelmer): Specify -T to skip tests? - run_detecting_problems(self.session, - ["cpan", "-i", requirement.module], + run_detecting_problems( + self.session, + self._cmd([requirement]), env=env, user=user, )