mirror of
https://github.com/TheLocehiliosan/yadm
synced 2024-10-27 20:34:27 +00:00
6378fe3073
This makes it possible to run e.g. "yadm -Y foo introspect repo 2>/dev/null" and get an empty output instead of getting the error message about foo not being fully qualified.
36 lines
952 B
Python
36 lines
952 B
Python
"""Test bootstrap"""
|
|
|
|
import pytest
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
'exists, executable, code, expect', [
|
|
(False, False, 1, 'Cannot execute bootstrap'),
|
|
(True, False, 1, 'is not an executable program'),
|
|
(True, True, 123, 'Bootstrap successful'),
|
|
], ids=[
|
|
'missing',
|
|
'not executable',
|
|
'executable',
|
|
])
|
|
def test_bootstrap(
|
|
runner, yadm_cmd, paths, exists, executable, code, expect):
|
|
"""Test bootstrap command"""
|
|
if exists:
|
|
paths.bootstrap.write('')
|
|
if executable:
|
|
paths.bootstrap.write(
|
|
'#!/bin/bash\n'
|
|
f'echo {expect}\n'
|
|
f'exit {code}\n'
|
|
)
|
|
paths.bootstrap.chmod(0o775)
|
|
run = runner(command=yadm_cmd('bootstrap'))
|
|
assert run.code == code
|
|
if exists and executable:
|
|
assert run.err == ''
|
|
assert expect in run.out
|
|
else:
|
|
assert expect in run.err
|
|
assert run.out == ''
|