| """Tests for tosa_verif_run_tests.py.""" |
| # Copyright (c) 2021-2022, ARM Limited. |
| # SPDX-License-Identifier: Apache-2.0 |
| from runner.run_command import run_sh_command |
| from runner.run_command import RunShCommandError |
| |
| |
| def test_run_command_success(): |
| """Run successful command.""" |
| cmd = ["echo", "Hello Space Cadets"] |
| try: |
| run_sh_command(cmd) |
| ok = True |
| except RunShCommandError: |
| ok = False |
| assert ok |
| |
| |
| def test_run_command_fail(): |
| """Run unsuccessful command.""" |
| cmd = ["cat", "non-existant-file-432342.txt"] |
| try: |
| run_sh_command(cmd) |
| ok = True |
| except RunShCommandError as e: |
| assert e.return_code == 1 |
| ok = False |
| assert not ok |
| |
| |
| def test_run_command_fail_with_stderr(): |
| """Run unsuccessful command capturing output.""" |
| cmd = ["ls", "--unknown-option"] |
| try: |
| stdout, stderr = run_sh_command(cmd, capture_output=True) |
| ok = True |
| except RunShCommandError as e: |
| assert e.return_code == 2 |
| assert e.stderr |
| ok = False |
| assert not ok |
| |
| |
| def test_run_command_success_verbose_with_stdout(): |
| """Run successful command capturing output.""" |
| output = "There is no Planet B" |
| cmd = ["echo", output] |
| try: |
| stdout, stderr = run_sh_command(cmd, verbose=True, capture_output=True) |
| assert stdout == f"{output}\n" |
| ok = True |
| except RunShCommandError: |
| ok = False |
| assert ok |