diff options
author | Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de> | 2010-08-26 11:41:18 +0200 |
---|---|---|
committer | Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de> | 2010-08-26 11:41:18 +0200 |
commit | d47319df16adfc63eacc8860b7c95c1467ad490b (patch) | |
tree | a561a319f72bb98b7ae46c04f82b2a682b6771ef | |
parent | 4e02c20289fa9bf3f580633a7b894f0c3ae0bd3a (diff) | |
download | setuptools-scm-d47319df16adfc63eacc8860b7c95c1467ad490b.tar.gz |
fix missing cachefile handling and recreate cachefile from PKG-INFO if required
-rw-r--r-- | hgdistver.py | 4 | ||||
-rw-r--r-- | test_hgdistver.py | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/hgdistver.py b/hgdistver.py index ff7724c..0ada2f0 100644 --- a/hgdistver.py +++ b/hgdistver.py @@ -50,7 +50,7 @@ def tags_to_versions(tags): def version_from_cachefile(root, cachefile=None): #XXX: for now we ignore root - if not cachefile: + if not cachefile or not os.path.exists(cachefile): return #replaces 'with open()' from py2.6 fd = open(cachefile) @@ -155,7 +155,7 @@ def version_from_archival(root, cachefile=None): def version_from_sdist_pkginfo(root, cachefile=None): pkginfo = os.path.join(root, 'PKG-INFO') - if cachefile is None and os.path.exists(pkginfo): + if os.path.exists(pkginfo): data = _data_from_archival(pkginfo) version = data.get('Version') if version != 'UNKNOWN': diff --git a/test_hgdistver.py b/test_hgdistver.py index 9571b93..9314651 100644 --- a/test_hgdistver.py +++ b/test_hgdistver.py @@ -138,5 +138,11 @@ def test_cachefile_join(monkeypatch): monkeypatch.setattr(hgdistver, 'methods', [assert_join]) hgdistver.get_version(root='tmp', cachefile='cachefile') +def test_recreate_cachefile_from_pkginfo(tmpdir): + tmpdir.join('PKG-INFO').write('Version: 0.1') + assert not tmpdir.join('cachefile.txt').check() + ver = get_version(tmpdir, cachefile='cachefile.txt') + assert ver == '1.0' + assert tmpdir.join('cachefile.txt').check() |