yadm/test/test_unit_bootstrap_availab...

34 lines
975 B
Python

"""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"""
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"""
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
"""
run = runner(command=['bash'], inp=script)
assert run.success == success
assert run.err == ''
assert run.out == ''