I just adapted what we already had (subshell), which worked nicely as it can sit perfectly in an "if" condition.  pushd/popd also have some very unattractive output. :)

We're definitely planning to split the integration tests into a separate bundle.  I don't want to do that as part of this PR because it's already changing almost every line in test, and that would push us from about 75% to closer to 95%, besides being completely unrelated to what this PR is for.  We try to keep PRs as small as possible, especially so they can be reviewed faster/easier - I just wish Github's diff could be more intelligent about changes to just indentation, because then this diff would look as tiny as the change really is.