Specify -T.

This commit is contained in:
Jelmer Vernooij 2021-03-26 01:36:28 +00:00
parent fd6c9fdeec
commit b9ae8e7e2c

View file

@ -39,9 +39,10 @@ class Resolver(object):
class CPANResolver(Resolver): class CPANResolver(Resolver):
def __init__(self, session, user_local=False): def __init__(self, session, user_local=False, skip_tests=True):
self.session = session self.session = session
self.user_local = user_local self.user_local = user_local
self.skip_tests = skip_tests
def __str__(self): def __str__(self):
return "cpan" return "cpan"
@ -49,6 +50,13 @@ class CPANResolver(Resolver):
def __repr__(self): def __repr__(self):
return "%s(%r)" % (type(self).__name__, self.session) 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): def explain(self, requirements):
from ..requirements import PerlModuleRequirement from ..requirements import PerlModuleRequirement
@ -58,7 +66,7 @@ class CPANResolver(Resolver):
continue continue
perlreqs.append(requirement) perlreqs.append(requirement)
if perlreqs: if perlreqs:
yield (["cpan", "-i"] + [req.module for req in perlreqs], [perlreqs]) yield (self._cmd(perlreqs), [perlreqs])
def install(self, requirements): def install(self, requirements):
from ..requirements import PerlModuleRequirement from ..requirements import PerlModuleRequirement
@ -79,9 +87,9 @@ class CPANResolver(Resolver):
if not isinstance(requirement, PerlModuleRequirement): if not isinstance(requirement, PerlModuleRequirement):
missing.append(requirement) missing.append(requirement)
continue continue
# TODO(jelmer): Specify -T to skip tests? run_detecting_problems(
run_detecting_problems(self.session, self.session,
["cpan", "-i", requirement.module], self._cmd([requirement]),
env=env, env=env,
user=user, user=user,
) )