aboutsummaryrefslogtreecommitdiff
path: root/src/archive
diff options
context:
space:
mode:
authorJoe Tsai <joetsai@digital-static.net>2017-09-21 08:44:05 -0700
committerJoe Tsai <thebrokentoaster@gmail.com>2017-09-21 20:42:11 +0000
commit718d9de60fd4337d9044cdc2c685177dd2177ef6 (patch)
treeb7e0867a075af6ef0e4525a2bbc3956583712529 /src/archive
parent2f7b57e9d82c1d8d0bc15bd35b1acf084e1367d3 (diff)
downloadgo-718d9de60fd4337d9044cdc2c685177dd2177ef6.tar.xz
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 <thebrokentoaster@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/archive')
-rw-r--r--src/archive/tar/tar_test.go16
1 files 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
}