def test_shebang_editor_yields_language_version(spec_one_version, script): editor = shebang_editor(spec_one_version, script) # Original shebang next(editor) assert next(editor) == ('fake', '1.0')
def test_shebang_editor_changes_shebang(spec_one_version, script): editor = shebang_editor(spec_one_version, script) # Original shebang next(editor) language, version = next(editor) assert_shebang_is(script, '#!/lang/fake/1.0/bin/fake')
def test_shebang_editor_restores_at_the_end(spec_one_version, script): editor = shebang_editor(spec_one_version, script, shebang_format='{language}-{version}') # Original shebang next(editor) # Edit the shebang to be our new command next(editor) with raises(StopIteration): next(editor) assert_shebang_is(script, '#!/bin/bash')
def run_spec(spec): repository = clone(spec.repository) install_jig_plugin(repository, spec.plugin) editor = shebang_editor(spec, find_plugin_pre_commit_script(repository)) original_shebang = next(editor) log.info('Running automated tests that are bundled with the plugin') log.info('Original shebang on the plugin is {}'.format(original_shebang)) for state in editor: log.info('Modifying the pre-commit to use {} {}'.format(*state)) log.info('Restored plugin pre-commit script to the original state')
def test_shebang_editor_yields_original_shebang(spec_one_version, script): editor = shebang_editor(spec_one_version, script) original_shebang = next(editor) assert original_shebang == SHEBANG