def test_repos_matching_cli(file_config_files, capsys): ret = main(( '-C', str(file_config_files.cfg), '--repos-with-matches', '^OH', )) assert ret == 0 out, _ = capsys.readouterr() assert out == '{}\n{}\n'.format( file_config_files.output_dir.join('repo1'), file_config_files.output_dir.join('repo2'), ) ret = main(( '-C', str(file_config_files.cfg), '--repos-with-matches', 'OHAI', )) assert ret == 0 out, _ = capsys.readouterr() assert out == '{}\n'.format(file_config_files.output_dir.join('repo1')) ret = main(( '-C', str(file_config_files.cfg), '--repos-with-matches', 'nope', )) assert ret == 1 out, _ = capsys.readouterr() assert out == ''
def test_grep_cli_output_paths(file_config_files, capsys): cmd = ('-C', str(file_config_files.cfg), '-l', '^OH', '--output-paths') assert not main(cmd) out, _ = capsys.readouterr() assert out == '{}\n{}\n'.format( file_config_files.output_dir.join('repo1/f'), file_config_files.output_dir.join('repo2/f'), )
def test_grep_error(file_config_files, capfd, args): ret = main(('-C', str(file_config_files.cfg), *args)) assert ret == 128 out, err = capfd.readouterr() assert out == '' assert err in { 'fatal: no pattern given.\n', # git < v2.19.0-rc0 'fatal: no pattern given\n', # git >= v2.19.0-rc0 }
def test_grep_cli(file_config_files, capsys): ret = main(('-C', str(file_config_files.cfg), '^OH')) assert ret == 0 out, _ = capsys.readouterr() assert out == '{}:f:OHAI\n{}:f:OHELLO\n'.format( file_config_files.output_dir.join('repo1'), file_config_files.output_dir.join('repo2'), ) ret = main(('-C', str(file_config_files.cfg), '^OHAI')) assert ret == 0 out, _ = capsys.readouterr() assert out == '{}:f:OHAI\n'.format( file_config_files.output_dir.join('repo1'), ) ret = main(('-C', str(file_config_files.cfg), 'nope')) assert ret == 1 out, _ = capsys.readouterr() assert out == ''
def _test_grep_color(file_config_files, capsys, *, args=()): ret = main(('-C', str(file_config_files.cfg), 'OHAI', *args)) assert ret == 0 out, _ = capsys.readouterr() expected = ('\033[1;34m{}\033[m' '\033[36m:\033[m' 'f' '\033[36m:\033[m' '\033[1;31mOHAI\033[m\n').format( file_config_files.output_dir.join('repo1')) assert out == expected