Skip to content

Commit f85de3c

Browse files
Merge pull request #85 from esben/master
fix bug when using callable version_scheme
2 parents 4835e4d + ff948dc commit f85de3c

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

setuptools_scm/integration.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ def version_keyword(dist, keyword, value):
1212
return
1313
if value is True:
1414
value = {}
15-
if os.path.exists('PKG-INFO'):
16-
value.pop('root', None)
1715
if getattr(value, '__call__', None):
1816
value = value()
17+
if os.path.exists('PKG-INFO'):
18+
value.pop('root', None)
1919
dist.metadata.version = get_version(**value)
2020

2121

testing/test_regressions.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,23 @@ def test_pkginfo_noscmroot(tmpdir, monkeypatch):
2323
do('git init', p.dirpath())
2424
res = do('python setup.py --version', p)
2525
assert res == '1.0'
26+
27+
28+
def test_use_scm_version_callable(tmpdir, monkeypatch):
29+
"""use of callable as use_scm_version argument"""
30+
monkeypatch.delenv("SETUPTOOLS_SCM_DEBUG")
31+
32+
p = tmpdir.ensure('sub/package', dir=1)
33+
p.join('setup.py').write(
34+
'''from setuptools import setup
35+
def vcfg():
36+
from setuptools_scm.version import guess_next_dev_version
37+
def vs(v):
38+
return guess_next_dev_version(v)
39+
return {"version_scheme": vs}
40+
setup(use_scm_version=vcfg)
41+
''')
42+
p.join("PKG-INFO").write('Version: 1.0')
43+
44+
res = do('python setup.py --version', p)
45+
assert res == '1.0'

0 commit comments

Comments
 (0)