No support for the posargs substitution type

Issue #208 on hold
Eli Collins created an issue

It's quite likely I'm misusing the tox config format, but I've got a rather lengthy tox.ini, with a lot of redundant commands, and wanted to do the following:

[testenv:someenv]
commands = {posargs:preset-for-some-env}

[testenv:someenv2]
commands = {[testenv:someenv]commands}

[testenv:someenv3]
commands = {[testenv:someenv]commands}

... but as of Tox 1.8.1, I get "ConfigError: No support for the posargs substitution type", and have to explicitly duplicate the posargs line for someenv2 and someenv3.

Comments (7)

  1. Holger Krekel repo owner

    probably that breakage wasn't intentional but not sure what it is. Care to look into tox/_config.py yourself?

  2. Oleg Broytman

    AFAIU the problem is that {posargs} substitution is handled specially in IniReader._processcommand() but not in ._replace_match().

  3. Oleg Broytman

    I have to install tox from the repository (current final version at PyPI is 2.3.1) and it seems to be kind of working. tox --showconfig shows commands = [['flake8', 'sqlobject/']]. At least it doesn't fail with exception. Not sure if list of lists is correct command list (I am not proficient with tox).

  4. Log in to comment