summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2015-07-22 23:20:01 +0200
committerRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2015-07-22 23:20:01 +0200
commit4c4439c7d6d8274b61843203487452e13a18b333 (patch)
tree541857564048ffd2bb4948d615d1426ee8b8e9bd
parent656b38bdd47d1080099a71deac1cbb13d4bbc766 (diff)
parent55b95a1fca5d8f4b9322cc5c9f0b40aee5304b73 (diff)
downloadsetuptools-scm-1.6.0.dev.tar.gz
Merge branch 'fail-fast' of github.com:pypa/setuptools_scmv1.6.0.dev
-rw-r--r--setuptools_scm/__init__.py7
-rw-r--r--testing/test_functions.py9
2 files changed, 14 insertions, 2 deletions
diff --git a/setuptools_scm/__init__.py b/setuptools_scm/__init__.py
index 9e5a9eb..42f8169 100644
--- a/setuptools_scm/__init__.py
+++ b/setuptools_scm/__init__.py
@@ -30,13 +30,16 @@ def version_from_scm(root):
def dump_version(root, version, write_to):
if not write_to:
return
- target = os.path.join(root, write_to)
+ target = os.path.normpath(os.path.join(root, write_to))
if target.endswith('.txt'):
dump = version
elif target.endswith('.py'):
dump = PYTHON_TEMPLATE.format(version=version)
else:
- raise ValueError('bad file format: ' + os.path.splitext(target))
+ raise ValueError("bad file format: '%s' (of %s) " % (
+ os.path.splitext(target)[1],
+ target
+ ))
with open(target, 'w') as fp:
fp.write(dump)
diff --git a/testing/test_functions.py b/testing/test_functions.py
index fd1724f..ace82fb 100644
--- a/testing/test_functions.py
+++ b/testing/test_functions.py
@@ -1,5 +1,6 @@
import pytest
import pkg_resources
+from setuptools_scm import dump_version
from setuptools_scm.version import guess_next_version, meta, format_version
@@ -47,3 +48,11 @@ def test_format_version(version, monkeypatch, scheme, expected):
version,
version_scheme=vs,
local_scheme=ls) == expected
+
+
+def test_dump_version_doesnt_bail_on_value_error(tmpdir):
+ write_to = "VERSION"
+ version = VERSIONS['exact']
+ with pytest.raises(ValueError) as exc_info:
+ dump_version(tmpdir.strpath, version, write_to)
+ assert str(exc_info.value).startswith("bad file format:")