1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- """Testing Utilities
- This module holds values/functions common to multiple tests.
- """
- import os
- ALT_FILE1 = 'test_alt'
- ALT_FILE2 = 'test alt/test alt'
- def set_local(paths, variable, value):
- """Set local override"""
- os.system(
- f'GIT_DIR={str(paths.repo)} '
- f'git config --local "local.{variable}" "{value}"'
- )
- def create_alt_files(paths, suffix,
- preserve=False, tracked=True,
- encrypt=False, exclude=False,
- content=None):
- """Create new files, and add to the repo
- This is used for testing alternate files. In each case, a suffix is
- appended to two standard file paths. Particulars of the file creation and
- repo handling are dependent upon the function arguments.
- """
- if not preserve:
- if paths.work.join(ALT_FILE1).exists():
- paths.work.join(ALT_FILE1).remove(rec=1, ignore_errors=True)
- assert not paths.work.join(ALT_FILE1).exists()
- if paths.work.join(ALT_FILE2).exists():
- paths.work.join(ALT_FILE2).remove(rec=1, ignore_errors=True)
- assert not paths.work.join(ALT_FILE2).exists()
- new_file1 = paths.work.join(ALT_FILE1 + suffix)
- new_file1.write(ALT_FILE1 + suffix, ensure=True)
- new_file2 = paths.work.join(ALT_FILE2 + suffix)
- new_file2.write(ALT_FILE2 + suffix, ensure=True)
- if content:
- new_file1.write('\n' + content, mode='a', ensure=True)
- new_file2.write('\n' + content, mode='a', ensure=True)
- assert new_file1.exists()
- assert new_file2.exists()
- if tracked:
- for path in (new_file1, new_file2):
- os.system(f'GIT_DIR={str(paths.repo)} git add "{path}"')
- os.system(f'GIT_DIR={str(paths.repo)} git commit -m "Add test files"')
- if encrypt:
- paths.encrypt.write(f'{ALT_FILE1 + suffix}\n', mode='a')
- paths.encrypt.write(f'{ALT_FILE2 + suffix}\n', mode='a')
- if exclude:
- paths.encrypt.write(f'!{ALT_FILE1 + suffix}\n', mode='a')
- paths.encrypt.write(f'!{ALT_FILE2 + suffix}\n', mode='a')
|