diff --git a/setuptools_scm/__init__.py b/setuptools_scm/__init__.py index c17ba909..1bb529d6 100644 --- a/setuptools_scm/__init__.py +++ b/setuptools_scm/__init__.py @@ -104,15 +104,15 @@ def get_version(root='.', version = _do_parse(root, parse) if version: + dump_version( + root=root, + version=version, + write_to=write_to, + template=write_to_template) if isinstance(version, string_types): return version version = format_version( version, version_scheme=version_scheme, local_scheme=local_scheme) - dump_version( - root=root, - version=version, - write_to=write_to, - template=write_to_template) return version diff --git a/testing/test_functions.py b/testing/test_functions.py index ace82fb0..cfb9eb98 100644 --- a/testing/test_functions.py +++ b/testing/test_functions.py @@ -1,6 +1,6 @@ import pytest import pkg_resources -from setuptools_scm import dump_version +from setuptools_scm import dump_version, get_version, PRETEND_KEY from setuptools_scm.version import guess_next_version, meta, format_version @@ -56,3 +56,9 @@ def test_dump_version_doesnt_bail_on_value_error(tmpdir): with pytest.raises(ValueError) as exc_info: dump_version(tmpdir.strpath, version, write_to) assert str(exc_info.value).startswith("bad file format:") + + +def test_dump_version_works_with_pretend(tmpdir, monkeypatch): + monkeypatch.setenv(PRETEND_KEY, '1.0') + get_version(write_to=str(tmpdir.join('VERSION.txt'))) + assert tmpdir.join('VERSION.txt').read() == '1.0'