The `env -u` flag is not portable and not available on all platforms, so
this unit test will fail when the feature is unavailable. Instead of
trying to unset the field, just erase it instead, since trying to copy
the entire invoked environment is difficult.
Manually expand out the few places where we had a `not ...` substitution
where the substituted value was invoking `env` to alter the environment.
This pattern is not portable and causes problems when using the
integrated shell, such as on Windows. This was identified during the
LLVM update.
This additionally corrects the use of `not` to indicate that it is
expecting a crashing failure. This was resulting in the Windows tests
failing as `not` was not expecting a crashing failure.