[Pytest-commit] Issue #557: Running a specific test parameter that has '-' causes syntax error (hpk42/pytest)
andii1701
issues-reply at bitbucket.org
Mon Aug 4 07:16:31 CEST 2014
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.
More information about the pytest-commit
mailing list