view env/lib/python3.9/site-packages/cwltool/tests/test_context.py @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
line wrap: on
line source

import subprocess

from cwltool.context import RuntimeContext

from .util import get_data, get_windows_safe_factory, windows_needs_docker


@windows_needs_docker
def test_replace_default_stdout_stderr() -> None:
    """Test our ability to replace the default stdout/err."""
    import sys

    # break stdout & stderr
    original_stdout = sys.stdout
    original_stderr = sys.stderr

    sys.stdout = ""  # type: ignore
    sys.stderr = ""  # type: ignore

    runtime_context = RuntimeContext()
    runtime_context.default_stdout = subprocess.DEVNULL  # type: ignore
    runtime_context.default_stderr = subprocess.DEVNULL  # type: ignore
    factory = get_windows_safe_factory(runtime_context=runtime_context)
    echo = factory.make(get_data("tests/echo.cwl"))

    assert echo(inp="foo") == {"out": "foo\n"}
    sys.stdout = original_stdout
    sys.stderr = original_stderr