Skip to content

Commit 214dbea

Browse files
committed
Merge pull request #510 from kyleam/skip-quiet-checks
2 parents 7e8dbb5 + f84a48c commit 214dbea

File tree

3 files changed

+27
-14
lines changed

3 files changed

+27
-14
lines changed

reproman/cmd.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,8 +249,12 @@ def run(self, cmd, log_stdout=True, log_stderr=True, log_online=False,
249249

250250
except Exception as e:
251251
prot_exc = e
252-
lgr.error("Failed to start %r%r: %s" %
253-
(cmd, " under %r" % cwd if cwd else '', exc_str(e)))
252+
if isinstance(e, FileNotFoundError) and expect_fail:
253+
logfn = lgr.debug
254+
else:
255+
logfn = lgr.error
256+
logfn("Failed to start %r%r: %s" %
257+
(cmd, " under %r" % cwd if cwd else '', exc_str(e)))
254258
raise
255259

256260
finally:

reproman/support/external_versions.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,27 +44,32 @@ def __cmp__(self, other):
4444
_runner = Runner()
4545

4646

47+
def _try_run(cmd):
48+
return _runner.run(cmd, expect_fail=True, expect_stderr=True)
49+
50+
4751
def _get_annex_version():
4852
"""Return version of available git-annex"""
49-
return _runner.run('git annex version --raw'.split())[0]
53+
return _try_run(['git', 'annex', 'version', '--raw'])[0]
5054

5155

5256
def _get_git_version():
5357
"""Return version of available git"""
54-
return _runner.run('git version'.split())[0].split()[-1]
58+
out = _try_run(['git', 'version'])[0]
59+
return out.split()[-1]
5560

5661

5762
def _get_apt_cache_version():
5863
"""Return version of available apt-cache."""
59-
return _runner.run('apt-cache -v'.split())[0].split()[1]
64+
out = _try_run(['apt-cache', '-v'])[0]
65+
return out.split()[1]
6066

6167

6268
def _get_system_ssh_version():
6369
"""Return version of ssh available system-wide
6470
"""
6571
try:
66-
out, err = _runner.run('ssh -V'.split(),
67-
expect_fail=True, expect_stderr=True)
72+
out, err = _try_run(['ssh', '-V'])
6873
# apparently spits out to err but I wouldn't trust it blindly
6974
if err.startswith('OpenSSH'):
7075
out = err
@@ -80,7 +85,7 @@ def _get_singularity_version():
8085
# example output:
8186
# "singularity version 3.0.3+ds"
8287
# "2.6.1-dist"
83-
out = _runner.run(["singularity", "--version"])[0]
88+
out = _try_run(["singularity", "--version"])[0]
8489
return out.split(' ')[-1].split("-")[0].split("+")[0]
8590

8691

@@ -90,15 +95,17 @@ def _get_svn_version():
9095
#
9196
# svn, version 1.9.5 (r1770682)
9297
# [...]
93-
return _runner.run(["svn", "--version"])[0].split()[2]
98+
out = _try_run(["svn", "--version"])[0]
99+
return out.split()[2]
94100

95101

96102
def _get_condor_version():
97103
"""Return version of available condor"""
98104
# Example output:
99105
#
100106
# $CondorVersion: 8.6.8 Nov 30 2017 BuildID: [...]
101-
return _runner.run(['condor_version'])[0].split()[1]
107+
out = _try_run(['condor_version'])[0]
108+
return out.split()[1]
102109

103110

104111
class ExternalVersions(object):

reproman/tests/skip.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,9 @@ def no_aws_dependencies():
6868
def no_condor():
6969
def is_running():
7070
try:
71-
Runner().run(["condor_status"])
72-
except CommandError as exc:
71+
Runner().run(["condor_status"],
72+
expect_fail=True, expect_stderr=True)
73+
except (CommandError, FileNotFoundError):
7374
return False
7475
return True
7576

@@ -118,8 +119,9 @@ def is_running():
118119
# Does it look like tools/ci/setup-slurm-container.sh was called?
119120
try:
120121
out, _ = Runner().run(
121-
["docker", "port", "reproman-slurm-container"])
122-
except CommandError:
122+
["docker", "port", "reproman-slurm-container"],
123+
expect_fail=True, expect_stderr=True)
124+
except (CommandError, FileNotFoundError):
123125
return False
124126
return out.strip()
125127
return "slurm container is not running", not is_running()

0 commit comments

Comments
 (0)