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 pytest-commit@python.org https://mail.python.org/mailman/listinfo/pytest-commit