def test_version_from_git(tmpdir): cwd = str(tmpdir) do('git init', cwd) initial = get_version(cwd) assert initial == '0.0' tmpdir.join('test.txt').write('test') do('git add test.txt', cwd) do('git commit -m commit', cwd) after_first_commit = get_version(cwd) assert after_first_commit.startswith('0.0.post1-') assert not after_first_commit.endswith('1-') do('git tag v0.1', cwd) at_tag_01 = get_version(cwd) assert at_tag_01 == '0.1' tmpdir.join('test.txt').write('test2') dirty_tag_01 = get_version(cwd) assert dirty_tag_01.startswith('0.1.post0-') do('git add test.txt', cwd) do('git commit -m commit', cwd) after_tag_01 = get_version(cwd) assert after_tag_01.startswith('0.1.post1-')
def test_version_from_hg_id(tmpdir, method): hgv = _hg_version() print(hgv) if hgv < '1.5' and 'parents' in method: py.test.skip('hg too old, this test needs >=1.5') cwd = str(tmpdir) do('hg init', cwd) initial = get_version(cwd, method=method) assert initial == '0.0' tmpdir.join('test.txt').write('test') do('hg add test.txt', cwd) do('hg commit -m commit -u test -d "0 0"', cwd) after_first_commit = get_version(cwd, method=method) assert after_first_commit.startswith('0.0.post1-') do('hg tag v0.1 -u test -d "0 0"', cwd) after_tag_01 = get_version(cwd, method=method) assert after_tag_01 == '0.1' tmpdir.join('test.txt').write('test2') do('hg commit -m commit2 -u test -d "0 0"', cwd) second_after_tag_01 = get_version(cwd, method=method) assert second_after_tag_01.startswith('0.1.post2') do('hg up v0.1', cwd) at_tag_01 = get_version(cwd) assert at_tag_01 == '0.1'
def test_do(cmd, tmpdir): if not py.path.local.sysfind('ls'): pytest.skip(cmd + ' not found') do(cmd, str(tmpdir))