diff options
author | Ronny Pfannschmidt <opensource@ronnypfannschmidt.de> | 2016-04-06 09:52:46 +0200 |
---|---|---|
committer | Ronny Pfannschmidt <opensource@ronnypfannschmidt.de> | 2016-04-06 09:52:46 +0200 |
commit | f85de3c91686df63b3806a73c5536956132d9334 (patch) | |
tree | 85cfc01bfd870d60cf803a3d1de9648e71595200 | |
parent | 4835e4d00e3a0b83cdbe66f8aa5629f560f00aa6 (diff) | |
parent | ff948dcd9973a12a139012d9edc13e572471705f (diff) | |
download | setuptools-scm-f85de3c91686df63b3806a73c5536956132d9334.tar.gz |
Merge pull request #85 from esben/master
fix bug when using callable version_scheme
-rw-r--r-- | setuptools_scm/integration.py | 4 | ||||
-rw-r--r-- | testing/test_regressions.py | 20 |
2 files changed, 22 insertions, 2 deletions
diff --git a/setuptools_scm/integration.py b/setuptools_scm/integration.py index 34f91d1..5254cb0 100644 --- a/setuptools_scm/integration.py +++ b/setuptools_scm/integration.py @@ -12,10 +12,10 @@ def version_keyword(dist, keyword, value): return if value is True: value = {} - if os.path.exists('PKG-INFO'): - value.pop('root', None) if getattr(value, '__call__', None): value = value() + if os.path.exists('PKG-INFO'): + value.pop('root', None) dist.metadata.version = get_version(**value) diff --git a/testing/test_regressions.py b/testing/test_regressions.py index 4a2d90b..c123753 100644 --- a/testing/test_regressions.py +++ b/testing/test_regressions.py @@ -23,3 +23,23 @@ def test_pkginfo_noscmroot(tmpdir, monkeypatch): do('git init', p.dirpath()) res = do('python setup.py --version', p) assert res == '1.0' + + +def test_use_scm_version_callable(tmpdir, monkeypatch): + """use of callable as use_scm_version argument""" + monkeypatch.delenv("SETUPTOOLS_SCM_DEBUG") + + p = tmpdir.ensure('sub/package', dir=1) + p.join('setup.py').write( + '''from setuptools import setup +def vcfg(): + from setuptools_scm.version import guess_next_dev_version + def vs(v): + return guess_next_dev_version(v) + return {"version_scheme": vs} +setup(use_scm_version=vcfg) +''') + p.join("PKG-INFO").write('Version: 1.0') + + res = do('python setup.py --version', p) + assert res == '1.0' |