Message 210376 - Python tracker
EnvironmentVarGuard doesn't work through monkeypatching - you make your changes *through* the guard, and it undoes them in __exit__, as well as restoring the original binding (in case *other* code monkeypatched it). This allows it to still be used when testing code that is *supposed* to make real environment changes (e.g. so they're visible in a subprocess). Buildbot is currently down, so I can't check the logs again :(