From 62b109ad2db760bb5fbfb133eb1a581620756344 Mon Sep 17 00:00:00 2001 From: Tim Byrne Date: Tue, 17 Nov 2020 14:38:31 -0600 Subject: [PATCH] Rename yadm_y -> yadm_cmd -Y is no longer used when running commands --- test/conftest.py | 2 +- test/test_alt.py | 16 +++++------ test/test_alt_copy.py | 6 ++--- test/test_assert_private_dirs.py | 16 +++++------ test/test_bootstrap.py | 4 +-- test/test_clean.py | 4 +-- test/test_clone.py | 25 ++++++++--------- test/test_config.py | 34 +++++++++++------------ test/test_encryption.py | 46 ++++++++++++++++---------------- test/test_enter.py | 8 +++--- test/test_git.py | 14 +++++----- test/test_help.py | 8 +++--- test/test_hooks.py | 12 ++++----- test/test_init.py | 4 +-- test/test_introspect.py | 6 ++--- test/test_list.py | 6 ++--- test/test_perms.py | 15 ++++++----- test/test_unit_x_program.py | 4 +-- test/test_version.py | 4 +-- 19 files changed, 118 insertions(+), 116 deletions(-) diff --git a/test/conftest.py b/test/conftest.py index 5e18ac5..618e1ef 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -336,7 +336,7 @@ def paths(tmpdir, yadm): @pytest.fixture() -def yadm_y(paths): +def yadm_cmd(paths): """Generate custom command_list function""" def command_list(*args): """Produce params for running yadm with -Y""" diff --git a/test/test_alt.py b/test/test_alt.py index eb01997..7303964 100644 --- a/test/test_alt.py +++ b/test/test_alt.py @@ -152,15 +152,15 @@ def test_alt_templates( @pytest.mark.usefixtures('ds1_copy') @pytest.mark.parametrize('autoalt', [None, 'true', 'false']) -def test_auto_alt(runner, yadm_y, paths, autoalt): +def test_auto_alt(runner, yadm_cmd, paths, autoalt): """Test auto alt""" # set the value of auto-alt if autoalt: - os.system(' '.join(yadm_y('config', 'yadm.auto-alt', autoalt))) + os.system(' '.join(yadm_cmd('config', 'yadm.auto-alt', autoalt))) utils.create_alt_files(paths, '##default') - run = runner(yadm_y('status')) + run = runner(yadm_cmd('status')) assert run.success assert run.err == '' linked = utils.parse_alt_output(run.out) @@ -185,7 +185,7 @@ def test_auto_alt(runner, yadm_y, paths, autoalt): @pytest.mark.usefixtures('ds1_copy') -def test_stale_link_removal(runner, yadm_y, paths): +def test_stale_link_removal(runner, yadm_cmd, paths): """Stale links to alternative files are removed This test ensures that when an already linked alternative becomes invalid @@ -200,7 +200,7 @@ def test_stale_link_removal(runner, yadm_y, paths): utils.create_alt_files(paths, f'##class.{tst_class}') # run alt to trigger linking - run = runner(yadm_y('alt')) + run = runner(yadm_cmd('alt')) assert run.success assert run.err == '' linked = utils.parse_alt_output(run.out) @@ -222,7 +222,7 @@ def test_stale_link_removal(runner, yadm_y, paths): utils.set_local(paths, 'class', 'changedclass') # run alt to trigger linking - run = runner(yadm_y('alt')) + run = runner(yadm_cmd('alt')) assert run.success assert run.err == '' linked = utils.parse_alt_output(run.out) @@ -235,7 +235,7 @@ def test_stale_link_removal(runner, yadm_y, paths): @pytest.mark.usefixtures('ds1_repo_copy') -def test_template_overwrite_symlink(runner, yadm_y, paths, tst_sys): +def test_template_overwrite_symlink(runner, yadm_cmd, paths, tst_sys): """Remove symlinks before processing a template If a symlink is in the way of the output of a template, the target of the @@ -252,7 +252,7 @@ def test_template_overwrite_symlink(runner, yadm_y, paths, tst_sys): template = paths.work.join('test_link##template.default') template.write('test-data') - run = runner(yadm_y('add', target, template)) + run = runner(yadm_cmd('add', target, template)) assert run.success assert run.err == '' assert run.out == '' diff --git a/test/test_alt_copy.py b/test/test_alt_copy.py index c808348..bd54fed 100644 --- a/test/test_alt_copy.py +++ b/test/test_alt_copy.py @@ -25,7 +25,7 @@ import pytest ]) @pytest.mark.usefixtures('ds1_copy') def test_alt_copy( - runner, yadm_y, paths, tst_sys, + runner, yadm_cmd, paths, tst_sys, setting, expect_link, pre_existing, cygwin): """Test yadm.alt-copy""" @@ -33,7 +33,7 @@ def test_alt_copy( option = 'yadm.cygwin-copy' if cygwin else 'yadm.alt-copy' if setting is not None: - os.system(' '.join(yadm_y('config', option, str(setting)))) + os.system(' '.join(yadm_cmd('config', option, str(setting)))) expected_content = f'test_alt_copy##os.{tst_sys}' @@ -43,7 +43,7 @@ def test_alt_copy( elif pre_existing == 'file': alt_path.write('wrong content') - run = runner(yadm_y('alt')) + run = runner(yadm_cmd('alt')) assert run.success assert run.err == '' assert 'Linking' in run.out diff --git a/test/test_assert_private_dirs.py b/test/test_assert_private_dirs.py index 606012f..bfd55ac 100644 --- a/test/test_assert_private_dirs.py +++ b/test/test_assert_private_dirs.py @@ -9,7 +9,7 @@ PRIVATE_DIRS = ['.gnupg', '.ssh'] @pytest.mark.parametrize('home', [True, False], ids=['home', 'not-home']) -def test_pdirs_missing(runner, yadm_y, paths, home): +def test_pdirs_missing(runner, yadm_cmd, paths, home): """Private dirs (private dirs missing) When a git command is run @@ -29,7 +29,7 @@ def test_pdirs_missing(runner, yadm_y, paths, home): env['HOME'] = paths.work # run status - run = runner(command=yadm_y('status'), env=env) + run = runner(command=yadm_cmd('status'), env=env) assert run.success assert run.err == '' assert 'On branch master' in run.out @@ -53,7 +53,7 @@ def test_pdirs_missing(runner, yadm_y, paths, home): run.out, re.DOTALL), 'directories created before command is run' -def test_pdirs_missing_apd_false(runner, yadm_y, paths): +def test_pdirs_missing_apd_false(runner, yadm_cmd, paths): """Private dirs (private dirs missing / yadm.auto-private-dirs=false) When a git command is run @@ -70,11 +70,11 @@ def test_pdirs_missing_apd_false(runner, yadm_y, paths): assert not path.exists() # set configuration - os.system(' '.join(yadm_y( + os.system(' '.join(yadm_cmd( 'config', '--bool', 'yadm.auto-private-dirs', 'false'))) # run status - run = runner(command=yadm_y('status')) + run = runner(command=yadm_cmd('status')) assert run.success assert run.err == '' assert 'On branch master' in run.out @@ -84,7 +84,7 @@ def test_pdirs_missing_apd_false(runner, yadm_y, paths): assert not paths.work.join(pdir).exists() -def test_pdirs_exist_apd_false(runner, yadm_y, paths): +def test_pdirs_exist_apd_false(runner, yadm_cmd, paths): """Private dirs (private dirs exist / yadm.auto-perms=false) When a git command is run @@ -102,11 +102,11 @@ def test_pdirs_exist_apd_false(runner, yadm_y, paths): assert oct(path.stat().mode).endswith('77'), 'Directory is secure.' # set configuration - os.system(' '.join(yadm_y( + os.system(' '.join(yadm_cmd( 'config', '--bool', 'yadm.auto-perms', 'false'))) # run status - run = runner(command=yadm_y('status')) + run = runner(command=yadm_cmd('status')) assert run.success assert run.err == '' assert 'On branch master' in run.out diff --git a/test/test_bootstrap.py b/test/test_bootstrap.py index 2adbe33..fffd9b2 100644 --- a/test/test_bootstrap.py +++ b/test/test_bootstrap.py @@ -14,7 +14,7 @@ import pytest 'executable', ]) def test_bootstrap( - runner, yadm_y, paths, exists, executable, code, expect): + runner, yadm_cmd, paths, exists, executable, code, expect): """Test bootstrap command""" if exists: paths.bootstrap.write('') @@ -25,7 +25,7 @@ def test_bootstrap( f'exit {code}\n' ) paths.bootstrap.chmod(0o775) - run = runner(command=yadm_y('bootstrap')) + run = runner(command=yadm_cmd('bootstrap')) assert run.code == code assert run.err == '' assert expect in run.out diff --git a/test/test_clean.py b/test/test_clean.py index 9a2221a..cbf6d62 100644 --- a/test/test_clean.py +++ b/test/test_clean.py @@ -1,9 +1,9 @@ """Test clean""" -def test_clean_command(runner, yadm_y): +def test_clean_command(runner, yadm_cmd): """Run with clean command""" - run = runner(command=yadm_y('clean')) + run = runner(command=yadm_cmd('clean')) # do nothing, this is a dangerous Git command when managing dot files # report the command as disabled and exit as a failure assert run.failure diff --git a/test/test_clone.py b/test/test_clone.py index a6df6d0..b1be814 100644 --- a/test/test_clone.py +++ b/test/test_clone.py @@ -24,7 +24,7 @@ BOOTSTRAP_MSG = 'Bootstrap successful' 'conflicts', ]) def test_clone( - runner, paths, yadm_y, repo_config, ds1, + runner, paths, yadm_cmd, repo_config, ds1, good_remote, repo_exists, force, conflicts): """Test basic clone operation""" @@ -53,7 +53,7 @@ def test_clone( if force: args += ['-f'] args += [remote_url] - run = runner(command=yadm_y(*args)) + run = runner(command=yadm_cmd(*args)) if not good_remote: # clone should fail @@ -88,20 +88,21 @@ def test_clone( if conflicts: # test to see if the work tree is actually "clean" run = runner( - command=yadm_y('status', '-uno', '--porcelain'), + command=yadm_cmd('status', '-uno', '--porcelain'), cwd=paths.work) assert run.success assert run.err == '' assert run.out == '', 'worktree has unexpected changes' # test to see if the conflicts are stashed - run = runner(command=yadm_y('stash', 'list'), cwd=paths.work) + run = runner(command=yadm_cmd('stash', 'list'), cwd=paths.work) assert run.success assert run.err == '' assert 'Conflicts preserved' in run.out, 'conflicts not stashed' # verify content of the stashed conflicts - run = runner(command=yadm_y('stash', 'show', '-p'), cwd=paths.work) + run = runner( + command=yadm_cmd('stash', 'show', '-p'), cwd=paths.work) assert run.success assert run.err == '' assert '\n+conflict' in run.out, 'conflicts not stashed' @@ -130,7 +131,7 @@ def test_clone( 'existing, answer y', ]) def test_clone_bootstrap( - runner, paths, yadm_y, repo_config, bs_exists, bs_param, answer): + runner, paths, yadm_cmd, repo_config, bs_exists, bs_param, answer): """Test bootstrap clone features""" # establish a bootstrap @@ -144,7 +145,7 @@ def test_clone_bootstrap( expect = [] if answer: expect.append(('Would you like to execute it now', answer)) - run = runner(command=yadm_y(*args), expect=expect) + run = runner(command=yadm_cmd(*args), expect=expect) if answer: assert 'Would you like to execute it now' in run.out @@ -197,7 +198,7 @@ def create_bootstrap(paths, exists): 'missing gnupg, tracked', ]) def test_clone_perms( - runner, yadm_y, paths, repo_config, + runner, yadm_cmd, paths, repo_config, private_type, in_repo, in_work): """Test clone permission-related functions""" @@ -224,7 +225,7 @@ def test_clone_perms( env = {'HOME': paths.work} run = runner( - yadm_y('clone', '-d', '-w', paths.work, f'file://{paths.remote}'), + yadm_cmd('clone', '-d', '-w', paths.work, f'file://{paths.remote}'), env=env ) @@ -260,7 +261,7 @@ def test_clone_perms( @pytest.mark.usefixtures('remote') @pytest.mark.parametrize('branch', ['master', 'valid', 'invalid']) -def test_alternate_branch(runner, paths, yadm_y, repo_config, branch): +def test_alternate_branch(runner, paths, yadm_cmd, repo_config, branch): """Test cloning a branch other than master""" # add a "valid" branch to the remote @@ -280,7 +281,7 @@ def test_alternate_branch(runner, paths, yadm_y, repo_config, branch): if branch != 'master': args += ['-b', branch] args += [remote_url] - run = runner(command=yadm_y(*args)) + run = runner(command=yadm_cmd(*args)) if branch == 'invalid': assert run.failure @@ -296,7 +297,7 @@ def test_alternate_branch(runner, paths, yadm_y, repo_config, branch): assert run.success assert run.err == '' assert f'origin\t{remote_url}' in run.out - run = runner(command=yadm_y('show')) + run = runner(command=yadm_cmd('show')) if branch == 'valid': assert 'This branch is valid' in run.out else: diff --git a/test/test_config.py b/test/test_config.py index c8b3a40..d364128 100644 --- a/test/test_config.py +++ b/test/test_config.py @@ -10,7 +10,7 @@ TEST_VALUE = 'testvalue' TEST_FILE = f'[{TEST_SECTION}]\n\t{TEST_ATTRIBUTE} = {TEST_VALUE}' -def test_config_no_params(runner, yadm_y, supported_configs): +def test_config_no_params(runner, yadm_cmd, supported_configs): """No parameters Display instructions @@ -18,7 +18,7 @@ def test_config_no_params(runner, yadm_y, supported_configs): Exit with 0 """ - run = runner(yadm_y('config')) + run = runner(yadm_cmd('config')) assert run.success assert run.err == '' @@ -27,21 +27,21 @@ def test_config_no_params(runner, yadm_y, supported_configs): assert config in run.out -def test_config_read_missing(runner, yadm_y): +def test_config_read_missing(runner, yadm_cmd): """Read missing attribute Display an empty value Exit with 0 """ - run = runner(yadm_y('config', TEST_KEY)) + run = runner(yadm_cmd('config', TEST_KEY)) assert run.success assert run.err == '' assert run.out == '' -def test_config_write(runner, yadm_y, paths): +def test_config_write(runner, yadm_cmd, paths): """Write attribute Display no output @@ -49,7 +49,7 @@ def test_config_write(runner, yadm_y, paths): Exit with 0 """ - run = runner(yadm_y('config', TEST_KEY, TEST_VALUE)) + run = runner(yadm_cmd('config', TEST_KEY, TEST_VALUE)) assert run.success assert run.err == '' @@ -57,7 +57,7 @@ def test_config_write(runner, yadm_y, paths): assert paths.config.read().strip() == TEST_FILE -def test_config_read(runner, yadm_y, paths): +def test_config_read(runner, yadm_cmd, paths): """Read attribute Display value @@ -65,14 +65,14 @@ def test_config_read(runner, yadm_y, paths): """ paths.config.write(TEST_FILE) - run = runner(yadm_y('config', TEST_KEY)) + run = runner(yadm_cmd('config', TEST_KEY)) assert run.success assert run.err == '' assert run.out.strip() == TEST_VALUE -def test_config_update(runner, yadm_y, paths): +def test_config_update(runner, yadm_cmd, paths): """Update attribute Display no output @@ -82,7 +82,7 @@ def test_config_update(runner, yadm_y, paths): paths.config.write(TEST_FILE) - run = runner(yadm_y('config', TEST_KEY, TEST_VALUE + 'extra')) + run = runner(yadm_cmd('config', TEST_KEY, TEST_VALUE + 'extra')) assert run.success assert run.err == '' @@ -92,7 +92,7 @@ def test_config_update(runner, yadm_y, paths): @pytest.mark.usefixtures('ds1_repo_copy') -def test_config_local_read(runner, yadm_y, paths, supported_local_configs): +def test_config_local_read(runner, yadm_cmd, paths, supported_local_configs): """Read local attribute Display value from the repo config @@ -107,14 +107,14 @@ def test_config_local_read(runner, yadm_y, paths, supported_local_configs): # run yadm config for config in supported_local_configs: - run = runner(yadm_y('config', config)) + run = runner(yadm_cmd('config', config)) assert run.success assert run.err == '' assert run.out.strip() == f'value_of_{config}' @pytest.mark.usefixtures('ds1_repo_copy') -def test_config_local_write(runner, yadm_y, paths, supported_local_configs): +def test_config_local_write(runner, yadm_cmd, paths, supported_local_configs): """Write local attribute Display no output @@ -124,7 +124,7 @@ def test_config_local_write(runner, yadm_y, paths, supported_local_configs): # run yadm config for config in supported_local_configs: - run = runner(yadm_y('config', config, f'value_of_{config}')) + run = runner(yadm_cmd('config', config, f'value_of_{config}')) assert run.success assert run.err == '' assert run.out == '' @@ -139,7 +139,7 @@ def test_config_local_write(runner, yadm_y, paths, supported_local_configs): assert run.out.strip() == f'value_of_{config}' -def test_config_without_parent_directory(runner, yadm_y, paths): +def test_config_without_parent_directory(runner, yadm_cmd, paths): """Write and read attribute to/from config file with non-existent parent dir Update configuration file @@ -150,13 +150,13 @@ def test_config_without_parent_directory(runner, yadm_y, paths): config_file = paths.root + '/folder/does/not/exist/config' run = runner( - yadm_y('--yadm-config', config_file, 'config', TEST_KEY, TEST_VALUE)) + yadm_cmd('--yadm-config', config_file, 'config', TEST_KEY, TEST_VALUE)) assert run.success assert run.err == '' assert run.out == '' - run = runner(yadm_y('--yadm-config', config_file, 'config', TEST_KEY)) + run = runner(yadm_cmd('--yadm-config', config_file, 'config', TEST_KEY)) assert run.success assert run.err == '' diff --git a/test/test_encryption.py b/test/test_encryption.py index b0d00de..fc2a2d9 100644 --- a/test/test_encryption.py +++ b/test/test_encryption.py @@ -61,7 +61,7 @@ def asymmetric_key(runner, gnupg): @pytest.fixture -def encrypt_targets(yadm_y, paths): +def encrypt_targets(yadm_cmd, paths): """Fixture for setting up data to encrypt This fixture: @@ -78,7 +78,7 @@ def encrypt_targets(yadm_y, paths): """ # init empty yadm repo - os.system(' '.join(yadm_y('init', '-w', str(paths.work), '-f'))) + os.system(' '.join(yadm_cmd('init', '-w', str(paths.work), '-f'))) expected = [] @@ -186,7 +186,7 @@ def decrypt_targets(tmpdir_factory, runner, gnupg): 'overwrite', [False, True], ids=['clean', 'overwrite']) def test_symmetric_encrypt( - runner, yadm_y, paths, encrypt_targets, + runner, yadm_cmd, paths, encrypt_targets, gnupg, bad_phrase, overwrite, missing_encrypt): """Test symmetric encryption""" @@ -203,7 +203,7 @@ def test_symmetric_encrypt( env = os.environ.copy() env['GNUPGHOME'] = gnupg.home - run = runner(yadm_y('encrypt'), env=env) + run = runner(yadm_cmd('encrypt'), env=env) if missing_encrypt or bad_phrase: assert run.failure @@ -230,12 +230,12 @@ def test_symmetric_encrypt( 'dolist', [False, True], ids=['decrypt', 'list']) def test_symmetric_decrypt( - runner, yadm_y, paths, decrypt_targets, gnupg, + runner, yadm_cmd, paths, decrypt_targets, gnupg, dolist, archive_exists, bad_phrase): """Test decryption""" # init empty yadm repo - os.system(' '.join(yadm_y('init', '-w', str(paths.work), '-f'))) + os.system(' '.join(yadm_cmd('init', '-w', str(paths.work), '-f'))) if bad_phrase: gnupg.pw('') @@ -256,7 +256,7 @@ def test_symmetric_decrypt( if dolist: args.append('-l') - run = runner(yadm_y('decrypt') + args, env=env) + run = runner(yadm_cmd('decrypt') + args, env=env) if archive_exists and not bad_phrase: assert run.success @@ -284,16 +284,16 @@ def test_symmetric_decrypt( 'overwrite', [False, True], ids=['clean', 'overwrite']) def test_asymmetric_encrypt( - runner, yadm_y, paths, encrypt_targets, gnupg, + runner, yadm_cmd, paths, encrypt_targets, gnupg, overwrite, key_exists, ask): """Test asymmetric encryption""" # specify encryption recipient if ask: - os.system(' '.join(yadm_y('config', 'yadm.gpg-recipient', 'ASK'))) + os.system(' '.join(yadm_cmd('config', 'yadm.gpg-recipient', 'ASK'))) expect = [('Enter the user ID', KEY_NAME), ('Enter the user ID', '')] else: - os.system(' '.join(yadm_y('config', 'yadm.gpg-recipient', KEY_NAME))) + os.system(' '.join(yadm_cmd('config', 'yadm.gpg-recipient', KEY_NAME))) expect = [] if overwrite: @@ -305,7 +305,7 @@ def test_asymmetric_encrypt( env = os.environ.copy() env['GNUPGHOME'] = gnupg.home - run = runner(yadm_y('encrypt'), env=env, expect=expect) + run = runner(yadm_cmd('encrypt'), env=env, expect=expect) if key_exists: assert run.success @@ -321,17 +321,17 @@ def test_asymmetric_encrypt( @pytest.mark.usefixtures('asymmetric_key') @pytest.mark.usefixtures('encrypt_targets') -def test_multi_key(runner, yadm_y, gnupg): +def test_multi_key(runner, yadm_cmd, gnupg): """Test multiple recipients""" # specify two encryption recipient - os.system(' '.join(yadm_y( + os.system(' '.join(yadm_cmd( 'config', 'yadm.gpg-recipient', f'"{KEY_NAME} second-key"'))) env = os.environ.copy() env['GNUPGHOME'] = gnupg.home - run = runner(yadm_y('encrypt'), env=env) + run = runner(yadm_cmd('encrypt'), env=env) assert run.failure assert 'second-key: skipped: No public key' in run.err @@ -345,12 +345,12 @@ def test_multi_key(runner, yadm_y, gnupg): 'dolist', [False, True], ids=['decrypt', 'list']) def test_asymmetric_decrypt( - runner, yadm_y, paths, decrypt_targets, gnupg, + runner, yadm_cmd, paths, decrypt_targets, gnupg, dolist, key_exists): """Test decryption""" # init empty yadm repo - os.system(' '.join(yadm_y('init', '-w', str(paths.work), '-f'))) + os.system(' '.join(yadm_cmd('init', '-w', str(paths.work), '-f'))) decrypt_targets['asymmetric'].copy(paths.archive) @@ -366,7 +366,7 @@ def test_asymmetric_decrypt( args.append('-l') env = os.environ.copy() env['GNUPGHOME'] = gnupg.home - run = runner(yadm_y('decrypt') + args, env=env) + run = runner(yadm_cmd('decrypt') + args, env=env) if key_exists: assert run.success @@ -388,7 +388,7 @@ def test_asymmetric_decrypt( [False, 'y', 'n'], ids=['tracked', 'untracked_answer_y', 'untracked_answer_n']) def test_offer_to_add( - runner, yadm_y, paths, encrypt_targets, gnupg, untracked): + runner, yadm_cmd, paths, encrypt_targets, gnupg, untracked): """Test offer to add encrypted archive All the other encryption tests use an archive outside of the work tree. @@ -408,10 +408,10 @@ def test_offer_to_add( expect.append(('add it now', untracked)) else: worktree_archive.write('exists') - os.system(' '.join(yadm_y('add', str(worktree_archive)))) + os.system(' '.join(yadm_cmd('add', str(worktree_archive)))) run = runner( - yadm_y('encrypt', '--yadm-archive', str(worktree_archive)), + yadm_cmd('encrypt', '--yadm-archive', str(worktree_archive)), env=env, expect=expect ) @@ -422,7 +422,7 @@ def test_offer_to_add( runner, gnupg, worktree_archive, encrypt_targets) run = runner( - yadm_y('status', '--porcelain', '-uall', str(worktree_archive))) + yadm_cmd('status', '--porcelain', '-uall', str(worktree_archive))) assert run.success assert run.err == '' @@ -438,7 +438,7 @@ def test_offer_to_add( @pytest.mark.usefixtures('ds1_copy') -def test_encrypt_added_to_exclude(runner, yadm_y, paths, gnupg): +def test_encrypt_added_to_exclude(runner, yadm_cmd, paths, gnupg): """Confirm that .config/yadm/encrypt is added to exclude""" gnupg.pw(PASSPHRASE) @@ -450,7 +450,7 @@ def test_encrypt_added_to_exclude(runner, yadm_y, paths, gnupg): paths.work.join('test-encrypt-data').write('') exclude_file.write('original-data', ensure=True) - run = runner(yadm_y('encrypt'), env=env) + run = runner(yadm_cmd('encrypt'), env=env) assert 'test-encrypt-data' in paths.repo.join('info/exclude').read() assert 'original-data' in paths.repo.join('info/exclude').read() diff --git a/test/test_enter.py b/test/test_enter.py index d1f65d0..a834275 100644 --- a/test/test_enter.py +++ b/test/test_enter.py @@ -17,7 +17,7 @@ import pytest 'shell-noexec', ]) @pytest.mark.usefixtures('ds1_copy') -def test_enter(runner, yadm_y, paths, shell, success): +def test_enter(runner, yadm_cmd, paths, shell, success): """Enter tests""" env = os.environ.copy() if shell == 'delete': @@ -33,7 +33,7 @@ def test_enter(runner, yadm_y, paths, shell, success): else: env['SHELL'] = shell - run = runner(command=yadm_y('enter'), env=env) + run = runner(command=yadm_cmd('enter'), env=env) assert run.success == success assert run.err == '' prompt = f'yadm shell ({paths.repo})' @@ -64,7 +64,7 @@ def test_enter(runner, yadm_y, paths, shell, success): [False, 'cmd', 'cmd-bad-exit'], ids=['no-cmd', 'cmd', 'cmd-bad-exit']) @pytest.mark.usefixtures('ds1_copy') -def test_enter_shell_ops(runner, yadm_y, paths, shell, opts, path, cmd): +def test_enter_shell_ops(runner, yadm_cmd, paths, shell, opts, path, cmd): """Enter tests for specific shell options""" change_exit = '\nfalse' if cmd == 'cmd-bad-exit' else '' @@ -85,7 +85,7 @@ def test_enter_shell_ops(runner, yadm_y, paths, shell, opts, path, cmd): env = os.environ.copy() env['SHELL'] = custom_shell - run = runner(command=yadm_y(*enter_cmd), env=env) + run = runner(command=yadm_cmd(*enter_cmd), env=env) if cmd == 'cmd-bad-exit': assert run.failure else: diff --git a/test/test_git.py b/test/test_git.py index 427c54a..76eccab 100644 --- a/test/test_git.py +++ b/test/test_git.py @@ -5,7 +5,7 @@ import pytest @pytest.mark.usefixtures('ds1_copy') -def test_git(runner, yadm_y, paths): +def test_git(runner, yadm_cmd, paths): """Test series of passthrough git commands Passthru unknown commands to Git @@ -17,14 +17,14 @@ def test_git(runner, yadm_y, paths): """ # passthru unknown commands to Git - run = runner(command=yadm_y('bogus')) + run = runner(command=yadm_cmd('bogus')) assert run.failure assert "git: 'bogus' is not a git command." in run.err assert "See 'git --help'" in run.err assert run.out == '' # git command 'add' - badfile - run = runner(command=yadm_y('add', '-v', 'does_not_exist')) + run = runner(command=yadm_cmd('add', '-v', 'does_not_exist')) assert run.code == 128 assert "pathspec 'does_not_exist' did not match any files" in run.err assert run.out == '' @@ -32,19 +32,19 @@ def test_git(runner, yadm_y, paths): # git command 'add' newfile = paths.work.join('test_git') newfile.write('test_git') - run = runner(command=yadm_y('add', '-v', str(newfile))) + run = runner(command=yadm_cmd('add', '-v', str(newfile))) assert run.success assert run.err == '' assert "add 'test_git'" in run.out # git command 'status' - run = runner(command=yadm_y('status')) + run = runner(command=yadm_cmd('status')) assert run.success assert run.err == '' assert re.search(r'new file:\s+test_git', run.out) # git command 'commit' - run = runner(command=yadm_y('commit', '-m', 'Add test_git')) + run = runner(command=yadm_cmd('commit', '-m', 'Add test_git')) assert run.success assert run.err == '' assert '1 file changed' in run.out @@ -52,7 +52,7 @@ def test_git(runner, yadm_y, paths): assert re.search(r'create mode .+ test_git', run.out) # git command 'log' - run = runner(command=yadm_y('log', '--oneline')) + run = runner(command=yadm_cmd('log', '--oneline')) assert run.success assert run.err == '' assert 'Add test_git' in run.out diff --git a/test/test_help.py b/test/test_help.py index 79a7652..37ac323 100644 --- a/test/test_help.py +++ b/test/test_help.py @@ -1,17 +1,17 @@ """Test help""" -def test_missing_command(runner, yadm_y): +def test_missing_command(runner, yadm_cmd): """Run without any command""" - run = runner(command=yadm_y()) + run = runner(command=yadm_cmd()) assert run.failure assert run.err == '' assert run.out.startswith('Usage: yadm') -def test_help_command(runner, yadm_y): +def test_help_command(runner, yadm_cmd): """Run with help command""" - run = runner(command=yadm_y('help')) + run = runner(command=yadm_cmd('help')) assert run.failure assert run.err == '' assert run.out.startswith('Usage: yadm') diff --git a/test/test_hooks.py b/test/test_hooks.py index 36f3d98..1c75ee9 100644 --- a/test/test_hooks.py +++ b/test/test_hooks.py @@ -22,7 +22,7 @@ import pytest 'pre-post-fail', ]) def test_hooks( - runner, yadm_y, paths, + runner, yadm_cmd, paths, pre, pre_code, post, post_code): """Test pre/post hook""" @@ -33,7 +33,7 @@ def test_hooks( create_hook(paths, 'post_version', post_code) # run yadm - run = runner(yadm_y('version')) + run = runner(yadm_cmd('version')) # when a pre hook fails, yadm should exit with the hook's code assert run.code == pre_code assert run.err == '' @@ -53,7 +53,7 @@ def test_hooks( # repo fixture is needed to test the population of YADM_HOOK_WORK @pytest.mark.usefixtures('ds1_repo_copy') -def test_hook_env(runner, yadm_y, paths): +def test_hook_env(runner, yadm_cmd, paths): """Test hook environment""" # test will be done with a non existent "git" passthru command @@ -65,7 +65,7 @@ def test_hook_env(runner, yadm_y, paths): hook.write('#!/bin/bash\nenv\ndeclare\n') hook.chmod(0o755) - run = runner(yadm_y(cmd, 'extra_args')) + run = runner(yadm_cmd(cmd, 'extra_args')) # expect passthru to fail assert run.failure @@ -103,7 +103,7 @@ def test_hook_env(runner, yadm_y, paths): assert 'YADM_ENCRYPT_INCLUDE_FILES=a\nb\nc\n' in run.out -def test_escaped(runner, yadm_y, paths): +def test_escaped(runner, yadm_cmd, paths): """Test escaped values in YADM_HOOK_FULL_COMMAND""" # test will be done with a non existent "git" passthru command @@ -115,7 +115,7 @@ def test_escaped(runner, yadm_y, paths): hook.write('#!/bin/bash\nenv\n') hook.chmod(0o755) - run = runner(yadm_y(cmd, 'a b', 'c\td', 'e\\f')) + run = runner(yadm_cmd(cmd, 'a b', 'c\td', 'e\\f')) # expect passthru to fail assert run.failure diff --git a/test/test_init.py b/test/test_init.py index 1519b38..3d9c3a4 100644 --- a/test/test_init.py +++ b/test/test_init.py @@ -19,7 +19,7 @@ import pytest ]) @pytest.mark.usefixtures('ds1_work_copy') def test_init( - runner, yadm_y, paths, repo_config, alt_work, repo_present, force): + runner, yadm_cmd, paths, repo_config, alt_work, repo_present, force): """Test init Repos should have attribs: @@ -51,7 +51,7 @@ def test_init( args.append('-f') # run init - run = runner(yadm_y(*args), env={'HOME': home}) + run = runner(yadm_cmd(*args), env={'HOME': home}) assert run.err == '' if repo_present and not force: diff --git a/test/test_introspect.py b/test/test_introspect.py index fcadf14..b292bd4 100644 --- a/test/test_introspect.py +++ b/test/test_introspect.py @@ -13,13 +13,13 @@ import pytest 'switches', ]) def test_introspect_category( - runner, yadm_y, paths, name, + runner, yadm_cmd, paths, name, supported_commands, supported_configs, supported_switches): """Validate introspection category""" if name: - run = runner(command=yadm_y('introspect', name)) + run = runner(command=yadm_cmd('introspect', name)) else: - run = runner(command=yadm_y('introspect')) + run = runner(command=yadm_cmd('introspect')) assert run.success assert run.err == '' diff --git a/test/test_list.py b/test/test_list.py index c2d8631..dcfe500 100644 --- a/test/test_list.py +++ b/test/test_list.py @@ -11,7 +11,7 @@ import pytest 'subdir', ]) @pytest.mark.usefixtures('ds1_copy') -def test_list(runner, yadm_y, paths, ds1, location): +def test_list(runner, yadm_cmd, paths, ds1, location): """List tests""" if location == 'work': run_dir = paths.work @@ -23,7 +23,7 @@ def test_list(runner, yadm_y, paths, ds1, location): with run_dir.as_cwd(): # test with '-a' # should get all tracked files, relative to the work path - run = runner(command=yadm_y('list', '-a')) + run = runner(command=yadm_cmd('list', '-a')) assert run.success assert run.err == '' returned_files = set(run.out.splitlines()) @@ -33,7 +33,7 @@ def test_list(runner, yadm_y, paths, ds1, location): # should get all tracked files, relative to the work path unless in a # subdir, then those should be a limited set of files, relative to the # subdir - run = runner(command=yadm_y('list')) + run = runner(command=yadm_cmd('list')) assert run.success assert run.err == '' returned_files = set(run.out.splitlines()) diff --git a/test/test_perms.py b/test/test_perms.py index 0eb8add..4f052bd 100644 --- a/test/test_perms.py +++ b/test/test_perms.py @@ -6,12 +6,13 @@ import pytest @pytest.mark.parametrize('autoperms', ['notest', 'unset', 'true', 'false']) @pytest.mark.usefixtures('ds1_copy') -def test_perms(runner, yadm_y, paths, ds1, autoperms): +def test_perms(runner, yadm_cmd, paths, ds1, autoperms): """Test perms""" # set the value of auto-perms if autoperms != 'notest': if autoperms != 'unset': - os.system(' '.join(yadm_y('config', 'yadm.auto-perms', autoperms))) + os.system(' '.join( + yadm_cmd('config', 'yadm.auto-perms', autoperms))) # privatepaths will hold all paths that should become secured privatepaths = [paths.work.join('.ssh'), paths.work.join('.gnupg')] @@ -38,7 +39,7 @@ def test_perms(runner, yadm_y, paths, ds1, autoperms): cmd = 'perms' if autoperms != 'notest': cmd = 'status' - run = runner(yadm_y(cmd), env={'HOME': paths.work}) + run = runner(yadm_cmd(cmd), env={'HOME': paths.work}) assert run.success assert run.err == '' if cmd == 'perms': @@ -62,15 +63,15 @@ def test_perms(runner, yadm_y, paths, ds1, autoperms): @pytest.mark.parametrize('sshperms', [None, 'true', 'false']) @pytest.mark.parametrize('gpgperms', [None, 'true', 'false']) @pytest.mark.usefixtures('ds1_copy') -def test_perms_control(runner, yadm_y, paths, ds1, sshperms, gpgperms): +def test_perms_control(runner, yadm_cmd, paths, ds1, sshperms, gpgperms): """Test fine control of perms""" # set the value of ssh-perms if sshperms: - os.system(' '.join(yadm_y('config', 'yadm.ssh-perms', sshperms))) + os.system(' '.join(yadm_cmd('config', 'yadm.ssh-perms', sshperms))) # set the value of gpg-perms if gpgperms: - os.system(' '.join(yadm_y('config', 'yadm.gpg-perms', gpgperms))) + os.system(' '.join(yadm_cmd('config', 'yadm.gpg-perms', gpgperms))) # privatepaths will hold all paths that should become secured privatepaths = [paths.work.join('.ssh'), paths.work.join('.gnupg')] @@ -81,7 +82,7 @@ def test_perms_control(runner, yadm_y, paths, ds1, sshperms, gpgperms): assert not oct(private.stat().mode).endswith('00'), ( 'Path started secured') - run = runner(yadm_y('perms'), env={'HOME': paths.work}) + run = runner(yadm_cmd('perms'), env={'HOME': paths.work}) assert run.success assert run.err == '' assert run.out == '' diff --git a/test/test_unit_x_program.py b/test/test_unit_x_program.py index 3233a3d..121aa0a 100644 --- a/test/test_unit_x_program.py +++ b/test/test_unit_x_program.py @@ -16,12 +16,12 @@ import pytest ]) @pytest.mark.parametrize('program', ['git', 'gpg']) def test_x_program( - runner, yadm_y, paths, program, executable, success, value, match): + runner, yadm_cmd, paths, program, executable, success, value, match): """Set yadm.X-program, and test result of require_X""" # set configuration if executable: - os.system(' '.join(yadm_y( + os.system(' '.join(yadm_cmd( 'config', f'yadm.{program}-program', executable))) # test require_[git,gpg] diff --git a/test/test_version.py b/test/test_version.py index 023eb82..fca5d7b 100644 --- a/test/test_version.py +++ b/test/test_version.py @@ -27,9 +27,9 @@ def test_semantic_version(expected_version): def test_reported_version( - runner, yadm_y, expected_version): + runner, yadm_cmd, expected_version): """Report correct version""" - run = runner(command=yadm_y('version')) + run = runner(command=yadm_cmd('version')) assert run.success assert run.err == '' assert run.out == f'yadm {expected_version}\n'