Fix tests with cc_binary_host on mac

cc_binary_host on mac uses ctx.Config().HostSystemTool(), which needs
PATH in the test environment.  Copy it from the original environment.

Fixes: 129763458
Test: proto_test.go
Change-Id: I41c1acdceee7c35036148256adafb471871034df
This commit is contained in:
Colin Cross 2019-04-22 15:51:26 -07:00
parent 3ed757ab3a
commit 9c6241f768
2 changed files with 9 additions and 5 deletions

View file

@ -198,6 +198,14 @@ func saveToConfigFile(config jsonConfigurable, filename string) error {
// TestConfig returns a Config object suitable for using for tests
func TestConfig(buildDir string, env map[string]string) Config {
envCopy := make(map[string]string)
for k, v := range env {
envCopy[k] = v
}
// Copy the real PATH value to the test environment, it's needed by HostSystemTool() used in x86_darwin_host.go
envCopy["PATH"] = originalEnv["PATH"]
config := &config{
productVariables: productVariables{
DeviceName: stringPtr("test_device"),
@ -212,7 +220,7 @@ func TestConfig(buildDir string, env map[string]string) Config {
buildDir: buildDir,
captureBuild: true,
env: env,
env: envCopy,
}
config.deviceConfig = &deviceConfig{
config: config,

View file

@ -15,7 +15,6 @@
package cc
import (
"runtime"
"strings"
"testing"
@ -38,9 +37,6 @@ func TestProto(t *testing.T) {
})
t.Run("plugin", func(t *testing.T) {
if runtime.GOOS != "linux" {
t.Skip("TODO(b/129763458): cc_binary_host tests fail on mac when trying to exec xcrun")
}
ctx := testCc(t, `
cc_binary_host {
name: "protoc-gen-foobar",