tree 9040c87ce048f26c050711ce08f49774c09d8c67
parent b041dd3b9189df98fff9ea70d64ad27fd349ed34
author kshyanashree <109167932+kshyanashree@users.noreply.github.com> 1676984600 -0800
committer GitHub <noreply@github.com> 1676984600 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJj9MEYCRBK7hj4Ov3rIwAAFa0IAJwIvYy4aC15Yz5uZIOiTkm7
 zfJ3h2XzcGdQa/7JhsTeQ/eGoPX1pOkYuwfq/W1dSPZFzYgExSI+HckYZ3RBFZ07
 4ILhy6QPF9mZmGrQwSo4a8ugW/EbF9vBUFuRUsLOYV105B0df0DT+LKCZ6pJUaVn
 MwXFYw/c5VqZFh3y0/7Z717csv38h3Fnz7JRuBJ3xsPX+M/NPr/nmW4rpAz4jVMQ
 zZDu7gjrQUsUUtKR1jhAxAHYgu4WqFa/otqj3Noz4nywJ+aAJbDuLWT2IucYR4dp
 5D6+7j7DwGAQWdn+CtfOpMzvAOKAANJReGw05RZs53Lg2HdYsVbGcUku37i5jTM=
 =SOGU
 -----END PGP SIGNATURE-----
 

[6.1.0]Let `aquery` print effective environment for all `CommandAction`s (#17274)

* Let `aquery` print effective environment for all `CommandAction`s

Instead of printing the fixed part of the `ActionEnvironment` of all `SpawnActions`, `aquery` now prints the effective environment resolved against an empty client environment of all `AbstractAction`s that implement `CommandAction`.

For `SpawnAction`s, this should not result in any observable change, but C++ actions, which only override `AbstractAction#getEffectiveEnvironment`, now have their fixed environments (e.g. toolchain env vars such as `INCLUDE` with MSVC) emitted.

Work towards #12852

Closes #17108.

PiperOrigin-RevId: 501198850
Change-Id: I035a8cfde32193ca7f1f71030bd183c20edfdc0d

* Removed the function test_does_not_fail_horribly_with_file()

---------

Co-authored-by: Fabian Meumertzheim <fabian@meumertzhe.im>