[Pytest-commit] commit/pytest: flub: Allow unicode strings in parser.add_argument()
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Tue Oct 1 14:20:33 CEST 2013
1 new commit in pytest:
https://bitbucket.org/hpk42/pytest/commits/3de02d55a78f/
Changeset: 3de02d55a78f
User: flub
Date: 2013-10-01 14:20:20
Summary: Allow unicode strings in parser.add_argument()
This fixes issue360 by also converting unicode strings to the argparse
syntax instead of just native strings.
Affected #: 3 files
diff -r aba49b1a860f2b5914770841d0410ae3e357ad75 -r 3de02d55a78f36b45982627b5ecb9825bb0d8ca2 CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,7 +1,8 @@
Changes between 2.4.0 and X
-----------------------------------
-
+- fix issue360: When using parser.addoption() unicode arguments to the
+ "type" keyword should also be converted to the respective types.
Changes between 2.3.5 and 2.4
-----------------------------------
diff -r aba49b1a860f2b5914770841d0410ae3e357ad75 -r 3de02d55a78f36b45982627b5ecb9825bb0d8ca2 _pytest/config.py
--- a/_pytest/config.py
+++ b/_pytest/config.py
@@ -238,7 +238,7 @@
pass
else:
# this might raise a keyerror as well, don't want to catch that
- if isinstance(typ, str):
+ if isinstance(typ, py.builtin._basestring):
if typ == 'choice':
if self.TYPE_WARN:
py.std.warnings.warn(
diff -r aba49b1a860f2b5914770841d0410ae3e357ad75 -r 3de02d55a78f36b45982627b5ecb9825bb0d8ca2 testing/test_config.py
--- a/testing/test_config.py
+++ b/testing/test_config.py
@@ -113,6 +113,17 @@
assert config.getoption(x) == "this"
pytest.raises(ValueError, "config.getoption('qweqwe')")
+ @pytest.mark.skipif('sys.version_info[:2] not in [(2, 6), (2, 7)]')
+ def test_config_getoption_unicode(self, testdir):
+ testdir.makeconftest("""
+ from __future__ import unicode_literals
+
+ def pytest_addoption(parser):
+ parser.addoption('--hello', type='string')
+ """)
+ config = testdir.parseconfig('--hello=this')
+ assert config.getoption('hello') == 'this'
+
def test_config_getvalueorskip(self, testdir):
config = testdir.parseconfig()
pytest.raises(pytest.skip.Exception,
Repository URL: https://bitbucket.org/hpk42/pytest/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the pytest-commit
mailing list