def test_get_commit_info(scm, testdir): if not distutils.spawn.find_executable(scm): pytest.skip("%r not availabe on $PATH") subprocess.check_call([scm, 'init', '.']) if scm == 'git': subprocess.check_call('git config user.email [email protected]'.split()) subprocess.check_call('git config user.name you'.split()) else: testdir.tmpdir.join('.hg', 'hgrc').write(""" [ui] username = you <*****@*****.**> """) testdir.makepyfile('asdf') subprocess.check_call([scm, 'add', 'test_get_commit_info.py']) subprocess.check_call([scm, 'commit', '-m', 'asdf']) out = get_commit_info() assert out.get('dirty') == False assert 'id' in out testdir.makepyfile('sadf') out = get_commit_info() assert out.get('dirty') == True assert 'id' in out
def test_get_commit_info(scm, testdir): if not distutils.spawn.find_executable(scm): pytest.skip("%r not availabe on $PATH") subprocess.check_call([scm, 'init', '.']) if scm == 'git': subprocess.check_call('git config user.email [email protected]'.split()) subprocess.check_call('git config user.name you'.split()) else: testdir.tmpdir.join('.hg', 'hgrc').write(""" [ui] username = you <*****@*****.**> """) testdir.makepyfile('asdf') subprocess.check_call([scm, 'add', 'test_get_commit_info.py']) subprocess.check_call([scm, 'commit', '-m', 'asdf']) out = get_commit_info() assert out.get('dirty') == False assert 'id' in out testdir.makepyfile('sadf') out = get_commit_info() assert out.get('dirty') == True assert 'id' in out
def test_get_commit_info(scm, testdir): testdir.makepyfile('asdf') subprocess.check_call([scm, 'add', 'test_get_commit_info.py']) subprocess.check_call([scm, 'commit', '-m', 'asdf']) out = get_commit_info() branch = 'master' if scm == 'git' else 'default' assert out['branch'] == branch assert out.get('dirty') == False assert 'id' in out testdir.makepyfile('sadf') out = get_commit_info() assert out.get('dirty') == True assert 'id' in out
def test_missing_scm_bins(scm, crazytestdir, monkeypatch): with open('test_get_commit_info.py', 'w') as fh: fh.write('asdf') subprocess.check_call([scm, 'add', 'test_get_commit_info.py']) subprocess.check_call([scm, 'commit', '-m', 'asdf']) monkeypatch.setenv('PATH', os.getcwd()) out = get_commit_info() assert 'No such file or directory' in out['error']
def test_get_commit_info(scm, crazytestdir): with open('test_get_commit_info.py', 'w') as fh: fh.write('asdf') subprocess.check_call([scm, 'add', 'test_get_commit_info.py']) subprocess.check_call([scm, 'commit', '-m', 'asdf']) out = get_commit_info() branch = 'master' if scm == 'git' else 'default' assert out['branch'] == branch assert out.get('dirty') is False assert 'id' in out with open('test_get_commit_info.py', 'w') as fh: fh.write('sadf') out = get_commit_info() assert out.get('dirty') is True assert 'id' in out
def test_get_commit_info(scm, crazytestdir): with open('test_get_commit_info.py', 'w') as fh: fh.write('asdf') subprocess.check_call([scm, 'add', 'test_get_commit_info.py']) subprocess.check_call([scm, 'commit', '-m', 'asdf']) out = get_commit_info() branch = 'master' if scm == 'git' else 'default' assert out['branch'] == branch assert out.get('dirty') is False assert 'id' in out with open('test_get_commit_info.py', 'w') as fh: fh.write('sadf') out = get_commit_info() assert out.get('dirty') is True assert 'id' in out
def test_missing_scm_bins(scm, crazytestdir, monkeypatch): with open('test_get_commit_info.py', 'w') as fh: fh.write('asdf') subprocess.check_call([scm, 'add', 'test_get_commit_info.py']) subprocess.check_call([scm, 'commit', '-m', 'asdf']) monkeypatch.setenv('PATH', os.getcwd()) out = get_commit_info() assert ('No such file or directory' in out['error'] or 'The system cannot find the file specified' in out['error'] or 'FileNotFoundError' in out['error'])
def test_missing_scm_bins(scm, crazytestdir, monkeypatch): with open('test_get_commit_info.py', 'w') as fh: fh.write('asdf') subprocess.check_call([scm, 'add', 'test_get_commit_info.py']) subprocess.check_call([scm, 'commit', '-m', 'asdf']) monkeypatch.setenv('PATH', os.getcwd()) out = get_commit_info() assert ( 'No such file or directory' in out['error'] or 'The system cannot find the file specified' in out['error'] or 'FileNotFoundError' in out['error'] )
def test_get_branch_info(scm, testdir): # make an initial commit testdir.tmpdir.join('foo.txt').ensure(file=True) subprocess.check_call([scm, 'add', 'foo.txt']) subprocess.check_call([scm, 'commit', '-m', 'added foo.txt']) branch = get_commit_info()['branch'] expected = 'master' if scm == 'git' else 'default' assert branch == expected # # switch to a branch if scm == 'git': subprocess.check_call(['git', 'checkout', '-b', 'mybranch']) else: subprocess.check_call(['hg', 'branch', 'mybranch']) branch = get_commit_info()['branch'] assert branch == 'mybranch' # # git only: test detached head if scm == 'git': subprocess.check_call(['git', 'commit', '--allow-empty', '-m', '...']) subprocess.check_call(['git', 'commit', '--allow-empty', '-m', '...']) subprocess.check_call(['git', 'checkout', 'HEAD~1']) assert get_commit_info()['branch'] == '(detached head)'
def test_get_branch_info(scm, testdir): # make an initial commit testdir.tmpdir.join('foo.txt').ensure(file=True) subprocess.check_call([scm, 'add', 'foo.txt']) subprocess.check_call([scm, 'commit', '-m', 'added foo.txt']) branch = get_commit_info()['branch'] expected = 'master' if scm == 'git' else 'default' assert branch == expected # # switch to a branch if scm == 'git': subprocess.check_call(['git', 'checkout', '-b', 'mybranch']) else: subprocess.check_call(['hg', 'branch', 'mybranch']) branch = get_commit_info()['branch'] assert branch == 'mybranch' # # git only: test detached head if scm == 'git': subprocess.check_call(['git', 'commit', '--allow-empty', '-m', '...']) subprocess.check_call(['git', 'commit', '--allow-empty', '-m', '...']) subprocess.check_call(['git', 'checkout', 'HEAD~1']) assert get_commit_info()['branch'] == '(detached head)'
def get_doc(seconds_blocked, request): fullname = request.node._nodeid name = request.node.name group = None marker = request.node.get_marker("responsivness") if marker: group = marker.kwargs.get("group") doc = { "datetime": datetime.datetime.utcnow().isoformat(), "commit_info": get_commit_info(), "fullname": fullname, "name": name, "group": group, "machine_info": pytest_benchmark_generate_machine_info(), "seconds_blocked": seconds_blocked, } # generate a doc id like the one used by pytest-benchmark machine_id = get_machine_id() tag = get_tag() doc_id = machine_id + "_" + tag + "_" + fullname return doc, doc_id
def get_doc(seconds_blocked, request): fullname = request.node._nodeid name = request.node.name group = None marker = request.node.get_marker("responsivness") if marker: group = marker.kwargs.get("group") doc = { "datetime": datetime.datetime.utcnow().isoformat(), "commit_info": get_commit_info(), "fullname": fullname, "name": name, "group": group, "machine_info": pytest_benchmark_generate_machine_info(), "seconds_blocked": seconds_blocked, } # generate a doc id like the one used by pytest-benchmark machine_id = get_machine_id() tag = get_tag() doc_id = machine_id + "_" + tag + "_" + fullname return doc, doc_id
def test_commit_info_error(testdir): testdir.mkdir('.git') info = get_commit_info() assert info['branch'].lower() == '(unknown)'.lower() assert info['error'].lower() == 'CalledProcessError(128, ' \ '\'fatal: Not a git repository (or any of the parent directories): .git\\n\')'.lower()
def test_no_branch_info(testdir): assert get_commit_info()['branch'] == '(unknown)'
def test_commit_info_error(testdir): testdir.mkdir('.git') info = get_commit_info() assert info['branch'].lower() == '(unknown)'.lower() assert info['error'].lower().startswith("calledprocesserror(128, 'fatal: not a git repository")
def test_no_branch_info(testdir): assert get_commit_info()['branch'] == '(unknown)'