kopia lustrzana https://github.com/jupyterhub/repo2docker
Add unit test for execute_cmd in repo2docker.utils
rodzic
b61e37474b
commit
30e69bccee
|
@ -10,7 +10,9 @@ from traitlets import Integer, TraitError
|
||||||
|
|
||||||
def execute_cmd(cmd, capture=False, **kwargs):
|
def execute_cmd(cmd, capture=False, **kwargs):
|
||||||
"""
|
"""
|
||||||
Call given command, yielding output line by line if capture=True
|
Call given command, yielding output line by line if capture=True.
|
||||||
|
|
||||||
|
Must be yielded from.
|
||||||
"""
|
"""
|
||||||
if capture:
|
if capture:
|
||||||
kwargs['stdout'] = subprocess.PIPE
|
kwargs['stdout'] = subprocess.PIPE
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
"""
|
||||||
|
Tests for repo2docker/utils.py
|
||||||
|
"""
|
||||||
|
from repo2docker import utils
|
||||||
|
import pytest
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
|
def test_capture_cmd_no_capture_success():
|
||||||
|
# This should succeed
|
||||||
|
for line in utils.execute_cmd([
|
||||||
|
'/bin/bash', '-c', 'echo test'
|
||||||
|
]):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def test_capture_cmd_no_capture_fail():
|
||||||
|
with pytest.raises(subprocess.CalledProcessError):
|
||||||
|
for line in utils.execute_cmd([
|
||||||
|
'/bin/bash', '-c', 'e '
|
||||||
|
]):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def test_capture_cmd_capture_success():
|
||||||
|
# This should succeed
|
||||||
|
for line in utils.execute_cmd([
|
||||||
|
'/bin/bash', '-c', 'echo test'
|
||||||
|
], capture=True):
|
||||||
|
assert line == 'test\n'
|
||||||
|
|
||||||
|
|
||||||
|
def test_capture_cmd_capture_fail():
|
||||||
|
with pytest.raises(subprocess.CalledProcessError):
|
||||||
|
for line in utils.execute_cmd([
|
||||||
|
'/bin/bash', '-c', 'echo test; exit 1 '
|
||||||
|
], capture=True):
|
||||||
|
assert line == 'test\n'
|
Ładowanie…
Reference in New Issue