1 new commit in pytest: https://bitbucket.org/hpk42/pytest/commits/ba0faffae819/ Changeset: ba0faffae819 User: hpk42 Date: 2014-05-14 07:36:31 Summary: - restore compatibility to old getvalueorskip behaviour - introduce a better NOTSET representation to improve docs Affected #: 2 files
diff -r f0446f3f8db3a9e03c0266d0be7e145c8a351f50 -r ba0faffae8191c03a51d71135a76822f454198d7 _pytest/config.py --- a/_pytest/config.py +++ b/_pytest/config.py @@ -560,7 +560,11 @@ def __repr__(self): return "<CmdOptions %r>" %(self.__dict__,) -notset = object() +class Notset: + def __repr__(self): + return "<NOTSET>" + +notset = Notset() FILE_OR_DIR = 'file_or_dir' class Config(object): """ access to configuration values, pluginmanager and plugin hooks. """ @@ -798,11 +802,15 @@ :arg name: name of the option. You may also specify the literal ``--OPT`` option instead of the "dest" option name. :arg default: default value if no option of that name exists. - :arg skip: if True raise pytest.skip if not option exists. + :arg skip: if True raise pytest.skip if option does not exists + or has a None value. """ name = self._opt2dest.get(name, name) try: - return getattr(self.option, name) + val = getattr(self.option, name) + if val is None and skip: + raise AttributeError(name) + return val except AttributeError: if default is not notset: return default diff -r f0446f3f8db3a9e03c0266d0be7e145c8a351f50 -r ba0faffae8191c03a51d71135a76822f454198d7 testing/test_config.py --- a/testing/test_config.py +++ b/testing/test_config.py @@ -117,6 +117,15 @@ verbose = config.getvalueorskip("verbose") assert verbose == config.option.verbose + def test_config_getvalueorskip_None(self, testdir): + testdir.makeconftest(""" + def pytest_addoption(parser): + parser.addoption("--hello") + """) + config = testdir.parseconfig() + pytest.raises(pytest.skip.Exception, + "config.getvalueorskip('hello')") + def test_getoption(self, testdir): config = testdir.parseconfig() with pytest.raises(ValueError): 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. _______________________________________________ pytest-commit mailing list pytest-commit@python.org https://mail.python.org/mailman/listinfo/pytest-commit