Respect system TMPDIR in GPG related tests

With https://github.com/bazelbuild/bazel/issues/4376, bazel 0.10.0 now supports accessing system TMPDIR in its sandbox. Use this instead of hardcoding /tmp in BUILD rules to get around the gpg-agent path length restriction.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=186010932
This commit is contained in:
jianglai 2018-02-16 10:07:08 -08:00
parent edc50bbe59
commit 7f2e3695a6
2 changed files with 3 additions and 5 deletions

View file

@ -51,10 +51,6 @@ java_library(
GenTestRules(
name = "GeneratedTestRules",
default_test_size = "large",
# TODO (b/63619837): stop using hardcoded /tmp once
# https://github.com/bazelbuild/bazel/issues/3215 is resolved.
# If /tmp is not accessible, try changing it to one that is.
jvm_flags = ["-Djava.io.tmpdir=/tmp"],
test_files = glob(
["*Test.java"],
exclude = ["RdeUploadActionTest.java"],

View file

@ -84,7 +84,9 @@ public final class GpgSystemCommandRule extends ExternalResource {
@Override
protected void before() throws IOException, InterruptedException {
checkState(Objects.equals(cwd, DEV_NULL));
cwd = File.createTempFile(TEMP_FILE_PREFIX, "", null);
File tmpRoot = null;
tmpRoot = new File(System.getenv("TMPDIR"));
cwd = File.createTempFile(TEMP_FILE_PREFIX, "", tmpRoot);
cwd.delete();
cwd.mkdir();
conf = new File(cwd, ".gnupg");