From 718d9de60fd4337d9044cdc2c685177dd2177ef6 Mon Sep 17 00:00:00 2001 From: Joe Tsai Date: Thu, 21 Sep 2017 08:44:05 -0700 Subject: [PATCH] archive/tar: perform test for hole-detection on specific builders The test for hole-detection is heavily dependent on whether the OS and underlying FS provides support for it. Even on Linux, which has support for SEEK_HOLE and SEEK_DATA, the underlying filesystem may not have support for it. In order to avoid an ever-changing game of whack-a-mole, we whitelist the specific builders that we expect the test to pass on. Updates #21964 Change-Id: I7334e8532c96cc346ea83aabbb81b719685ad7e5 Reviewed-on: https://go-review.googlesource.com/65270 Run-TryBot: Joe Tsai Reviewed-by: Ian Lance Taylor --- src/archive/tar/tar_test.go | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/src/archive/tar/tar_test.go b/src/archive/tar/tar_test.go index 37858fd765..f844a9b9b2 100644 --- a/src/archive/tar/tar_test.go +++ b/src/archive/tar/tar_test.go @@ -771,19 +771,9 @@ func TestSparseFiles(t *testing.T) { // Only perform the tests for hole-detection on the builders, // where we have greater control over the filesystem. sparseSupport := testenv.Builder() != "" - if runtime.GOOS == "linux" && runtime.GOARCH == "arm" { - // The "linux-arm" builder uses aufs for its root FS, - // which only supports hole-punching, but not hole-detection. - sparseSupport = false - } - if runtime.GOOS == "darwin" { - // The "darwin-*" builders use hfs+ for its root FS, - // which does not support sparse files. - sparseSupport = false - } - if runtime.GOOS == "openbsd" { - // The "openbsd-*" builders use ffs for its root FS, - // which does not support sparse files. + switch runtime.GOOS + "-" + runtime.GOARCH { + case "linux-amd64", "linux-386", "windows-amd64", "windows-386": + default: sparseSupport = false } -- 2.48.1