Skip to content

tox >=2.0 fails with & in path #252

@pytoxbot

Description

@pytoxbot

Starting with tox 2.0, tox fails when trying to launch commands with path containing & :

#!shell

$ /var/lib/jenkins/shiningpanda/jobs/3d4c850b/tools/bin/python -c "import tox; tox.cmdline();" -c tox.ini -e py27
GLOB sdist-make: /opt/jenkins/workspace/ocs.conf/TOXENV/py27/label_exp/armhf&&python/setup.py
py27 create: /opt/jenkins/workspace/ocs.conf/TOXENV/py27/label_exp/armhf&&python/.tox/py27
py27 installdeps: nose, coverage, pylint, pep8
py27 inst: /opt/jenkins/workspace/ocs.conf/TOXENV/py27/label_exp/armhf&&python/.tox/dist/ocs.conf-0.29.1.zip
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/var/lib/jenkins/shiningpanda/jobs/3d4c850b/tools/local/lib/python2.7/site-packages/tox/session.py", line 39, in main
    retcode = Session(config).runcommand()
  File "/var/lib/jenkins/shiningpanda/jobs/3d4c850b/tools/local/lib/python2.7/site-packages/tox/session.py", line 367, in runcommand
    return self.subcommand_test()
  File "/var/lib/jenkins/shiningpanda/jobs/3d4c850b/tools/local/lib/python2.7/site-packages/tox/session.py", line 534, in subcommand_test
    output = py.process.cmdexec("%s freeze" % (pip))
  File "/var/lib/jenkins/shiningpanda/jobs/3d4c850b/tools/local/lib/python2.7/site-packages/py/_process/cmdexec.py", line 28, in cmdexec
    raise ExecutionFailed(status, status, cmd, out, err)
py.process.cmdexec.Error: ExecutionFailed: 127  /opt/jenkins/workspace/ocs.conf/TOXENV/py27/label_exp/armhf&&python/.tox/py27/bin/pip freeze
/bin/sh: 1: /opt/jenkins/workspace/ocs.conf/TOXENV/py27/label_exp/armhf: not found

While this is imho a problem with py/pytest not taking care of escaping strings passed to shell it is a problem specifically happening with tox >=2.0.

We need this to work for supporting label expressions in jenkins jobs and the jenkins tox plugin does not allow restricting the version it uses.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions