New issue 557: Running a specific test parameter that has '-' causes syntax
error
https://bitbucket.org/hpk42/pytest/issue/557/running-a-specific-test-parameter-that-has
andii1701:
Hello I noticed when running a test with a specific parameter causes an syntax
error.
For example:
```
#!python
$ py.test -v -s -k test_eval[3+5-8]
========================================================================== test
session starts
==========================================================================
platform linux -- Python 3.3.2 -- py-1.4.22 -- pytest-2.6.0 --
/home/ajones/Envs/1800respect/bin/python3.3
plugins: xdist, cov, django
collected 5 items
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR> File
"/home/ajones/Envs/1800respect/lib/python3.3/site-packages/_pytest/main.py",
line 83, in wrap_session
INTERNALERROR> doit(config, session)
INTERNALERROR> File
"/home/ajones/Envs/1800respect/lib/python3.3/site-packages/_pytest/main.py",
line 120, in _main
INTERNALERROR> config.hook.pytest_collection(session=session)
INTERNALERROR> File
"/home/ajones/Envs/1800respect/lib/python3.3/site-packages/_pytest/core.py",
line 412, in __call__
INTERNALERROR> return self._docall(methods, kwargs)
INTERNALERROR> File
"/home/ajones/Envs/1800respect/lib/python3.3/site-packages/_pytest/core.py",
line 423, in _docall
INTERNALERROR> res = mc.execute()
INTERNALERROR> File
"/home/ajones/Envs/1800respect/lib/python3.3/site-packages/_pytest/core.py",
line 314, in execute
INTERNALERROR> res = method(**kwargs)
INTERNALERROR> File
"/home/ajones/Envs/1800respect/lib/python3.3/site-packages/_pytest/main.py",
line 124, in pytest_collection
INTERNALERROR> return session.perform_collect()
INTERNALERROR> File
"/home/ajones/Envs/1800respect/lib/python3.3/site-packages/_pytest/main.py",
line 546, in perform_collect
INTERNALERROR> config=self.config, items=items)
INTERNALERROR> File
"/home/ajones/Envs/1800respect/lib/python3.3/site-packages/_pytest/core.py",
line 412, in __call__
INTERNALERROR> return self._docall(methods, kwargs)
INTERNALERROR> File
"/home/ajones/Envs/1800respect/lib/python3.3/site-packages/_pytest/core.py",
line 423, in _docall
INTERNALERROR> res = mc.execute()
INTERNALERROR> File
"/home/ajones/Envs/1800respect/lib/python3.3/site-packages/_pytest/core.py",
line 314, in execute
INTERNALERROR> res = method(**kwargs)
INTERNALERROR> File
"/home/ajones/Envs/1800respect/lib/python3.3/site-packages/_pytest/mark.py",
line 67, in pytest_collection_modifyitems
INTERNALERROR> if keywordexpr and not matchkeyword(colitem, keywordexpr):
INTERNALERROR> File
"/home/ajones/Envs/1800respect/lib/python3.3/site-packages/_pytest/mark.py",
line 150, in matchkeyword
INTERNALERROR> return eval(keywordexpr, {}, mapping)
INTERNALERROR> File "<string>", line 1
INTERNALERROR> test_eval[3+5not 8]
INTERNALERROR> ^
INTERNALERROR> SyntaxError: invalid syntax
```
The problem is the '-' in the square bracket is getting converted to 'not '.
Pull request with a fix is on its way.
_______________________________________________
pytest-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pytest-commit