From 470ab3869fd7a41ecfe2ade239052b89b9c7053a Mon Sep 17 00:00:00 2001 From: Paul Hinze Date: Wed, 19 Sep 2018 10:58:05 -0500 Subject: [PATCH] helper/pathorcontents: Skip one test when root One of the tests in this package doesn't work when the tests are run as root - like inside of a Docker container. The test is still useful to specify `pathorcontents` behavior when a file is not readable, so it's better to skip than just delete it. See linked issue for further disussion. Closes #7707 --- helper/pathorcontents/read_test.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/helper/pathorcontents/read_test.go b/helper/pathorcontents/read_test.go index 8313894ea..c3016e5c5 100644 --- a/helper/pathorcontents/read_test.go +++ b/helper/pathorcontents/read_test.go @@ -4,6 +4,7 @@ import ( "io" "io/ioutil" "os" + "os/user" "strings" "testing" @@ -63,6 +64,14 @@ func TestRead_TildePath(t *testing.T) { } func TestRead_PathNoPermission(t *testing.T) { + // This skip condition is intended to get this test out of the way of users + // who are building and testing Terraform from within a Linux-based Docker + // container, where it is common for processes to be running as effectively + // root within the container. + if u, err := user.Current(); err == nil && u.Uid == "0" { + t.Skip("This test is invalid when running as root, since root can read every file") + } + isPath := true f, cleanup := testTempFile(t) defer cleanup()