Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

env dependency ignores vars which dont use backticks #6

Open
jayvdb opened this issue May 22, 2019 · 3 comments
Open

env dependency ignores vars which dont use backticks #6

jayvdb opened this issue May 22, 2019 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@jayvdb
Copy link
Owner

jayvdb commented May 22, 2019

Current algorithm doesnt see that c must be deferred until after a

a=`echo foo`
b={env:a}
c=`echo {env:b}`
@jayvdb
Copy link
Owner Author

jayvdb commented Jul 17, 2019

Couldnt reproduce with:

[testenv:indirect]
setenv =
  FOO=`python -c 'import sys; sys.stdout.write("foo")'`
  BAR={env:FOO}
  BAZ=`python -c 'import sys; sys.stdout.write("{env:BAR}")'`
commands =
  python -c 'assert "{env:BAZ}" == "foo"'

@jayvdb
Copy link
Owner Author

jayvdb commented Jul 17, 2019

It does occur on py27, so likely it is passing on py37 due to dict ordering.

jayvdb added a commit that referenced this issue Jul 17, 2019
jayvdb added a commit that referenced this issue Jul 17, 2019
@jayvdb jayvdb added the bug Something isn't working label Jul 17, 2019
@jayvdb jayvdb self-assigned this Jul 17, 2019
@jayvdb
Copy link
Owner Author

jayvdb commented Jul 18, 2019

A real solution has dragons everywhere. The regex is the problem, as it doesnt allow identification of FOO in {env:FOO:{env:BAR}}.

If I dont find a good fix for that soon, I'll go with my existing solution which ignores that, or add a second make-shift dodgy regex which can handle those some of the time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant