Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b4bda29 authored by Colin Cross's avatar Colin Cross Committed by Gerrit Code Review
Browse files

Merge "Always propagate some environment variables to RBE"

parents 7a93bffd 95fad7a5
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -361,9 +361,6 @@ func (l *linter) lint(ctx android.ModuleContext) {
			Labels:          map[string]string{"type": "tool", "name": "lint"},
			ExecStrategy:    lintRBEExecStrategy(ctx),
			ToolchainInputs: []string{config.JavaCmd(ctx).String()},
			EnvironmentVariables: []string{
				"LANG",
			},
			Platform:        map[string]string{remoteexec.PoolKey: pool},
		})
	}
+12 −4
Original line number Diff line number Diff line
@@ -52,6 +52,12 @@ const (
var (
	defaultLabels               = map[string]string{"type": "tool"}
	defaultExecStrategy         = LocalExecStrategy
	defaultEnvironmentVariables = []string{
		// This is a subset of the allowlist in ui/build/ninja.go that makes sense remotely.
		"LANG",
		"LC_MESSAGES",
		"PYTHONDONTWRITEBYTECODE",
	}
)

// REParams holds information pertinent to the remote execution of a rule.
@@ -149,8 +155,10 @@ func (r *REParams) wrapperArgs() string {
		args += " --toolchain_inputs=" + strings.Join(r.ToolchainInputs, ",")
	}

	if len(r.EnvironmentVariables) > 0 {
		args += " --env_var_allowlist=" + strings.Join(r.EnvironmentVariables, ",")
	envVarAllowlist := append(r.EnvironmentVariables, defaultEnvironmentVariables...)

	if len(envVarAllowlist) > 0 {
		args += " --env_var_allowlist=" + strings.Join(envVarAllowlist, ",")
	}

	return args + " -- "
+4 −4
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ func TestTemplate(t *testing.T) {
					PoolKey:           "default",
				},
			},
			want: fmt.Sprintf("${android.RBEWrapper} --labels=compiler=clang,lang=cpp,type=compile --platform=\"Pool=default,container-image=%s\" --exec_strategy=local --inputs=$in --output_files=$out -- ", DefaultImage),
			want: fmt.Sprintf("${android.RBEWrapper} --labels=compiler=clang,lang=cpp,type=compile --platform=\"Pool=default,container-image=%s\" --exec_strategy=local --inputs=$in --output_files=$out --env_var_allowlist=LANG,LC_MESSAGES,PYTHONDONTWRITEBYTECODE -- ", DefaultImage),
		},
		{
			name: "all params",
@@ -52,7 +52,7 @@ func TestTemplate(t *testing.T) {
					PoolKey:           "default",
				},
			},
			want: fmt.Sprintf("${android.RBEWrapper} --labels=compiler=clang,lang=cpp,type=compile --platform=\"Pool=default,container-image=%s\" --exec_strategy=remote --inputs=$in --input_list_paths=$out.rsp,out2.rsp --output_files=$out --toolchain_inputs=clang++ -- ", DefaultImage),
			want: fmt.Sprintf("${android.RBEWrapper} --labels=compiler=clang,lang=cpp,type=compile --platform=\"Pool=default,container-image=%s\" --exec_strategy=remote --inputs=$in --input_list_paths=$out.rsp,out2.rsp --output_files=$out --toolchain_inputs=clang++ --env_var_allowlist=LANG,LC_MESSAGES,PYTHONDONTWRITEBYTECODE -- ", DefaultImage),
		},
	}
	for _, test := range tests {
@@ -74,7 +74,7 @@ func TestNoVarTemplate(t *testing.T) {
			PoolKey:           "default",
		},
	}
	want := fmt.Sprintf("prebuilts/remoteexecution-client/live/rewrapper --labels=compiler=clang,lang=cpp,type=compile --platform=\"Pool=default,container-image=%s\" --exec_strategy=local --inputs=$in --output_files=$out -- ", DefaultImage)
	want := fmt.Sprintf("prebuilts/remoteexecution-client/live/rewrapper --labels=compiler=clang,lang=cpp,type=compile --platform=\"Pool=default,container-image=%s\" --exec_strategy=local --inputs=$in --output_files=$out --env_var_allowlist=LANG,LC_MESSAGES,PYTHONDONTWRITEBYTECODE -- ", DefaultImage)
	if got := params.NoVarTemplate(DefaultWrapperPath); got != want {
		t.Errorf("NoVarTemplate() returned\n%s\nwant\n%s", got, want)
	}
@@ -90,7 +90,7 @@ func TestTemplateDeterminism(t *testing.T) {
			PoolKey:           "default",
		},
	}
	want := fmt.Sprintf("${android.RBEWrapper} --labels=compiler=clang,lang=cpp,type=compile --platform=\"Pool=default,container-image=%s\" --exec_strategy=local --inputs=$in --output_files=$out -- ", DefaultImage)
	want := fmt.Sprintf("${android.RBEWrapper} --labels=compiler=clang,lang=cpp,type=compile --platform=\"Pool=default,container-image=%s\" --exec_strategy=local --inputs=$in --output_files=$out --env_var_allowlist=LANG,LC_MESSAGES,PYTHONDONTWRITEBYTECODE -- ", DefaultImage)
	for i := 0; i < 1000; i++ {
		if got := r.Template(); got != want {
			t.Fatalf("Template() returned\n%s\nwant\n%s", got, want)