1
0
mirror of https://github.com/TheLocehiliosan/yadm synced 2024-10-27 20:34:27 +00:00
TheLocehiliosan_yadm/test/test_unit_bootstrap_available.py

34 lines
975 B
Python
Raw Permalink Normal View History

"""Unit tests: bootstrap_available"""
def test_bootstrap_missing(runner, paths):
"""Test result of bootstrap_available, when bootstrap missing"""
run_test(runner, paths, False)
def test_bootstrap_no_exec(runner, paths):
"""Test result of bootstrap_available, when bootstrap not executable"""
2023-07-10 19:43:17 +00:00
paths.bootstrap.write("")
paths.bootstrap.chmod(0o644)
run_test(runner, paths, False)
def test_bootstrap_exec(runner, paths):
"""Test result of bootstrap_available, when bootstrap executable"""
2023-07-10 19:43:17 +00:00
paths.bootstrap.write("")
paths.bootstrap.chmod(0o775)
run_test(runner, paths, True)
def run_test(runner, paths, success):
"""Run bootstrap_available, and test result"""
script = f"""
YADM_TEST=1 source {paths.pgm}
YADM_BOOTSTRAP='{paths.bootstrap}'
bootstrap_available
"""
2023-07-10 19:43:17 +00:00
run = runner(command=["bash"], inp=script)
assert run.success == success
2023-07-10 19:43:17 +00:00
assert run.err == ""
assert run.out == ""