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):
|
||||
"""
|
||||
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:
|
||||
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