os: skip a new failing test on Windows
This test was recently added in CL 209961.
Apparently Windows can't seek a directory filehandle?
And move the test from test/fixedbugs (which is mostly for compiler bugs) to
an os package test.
Updates #36019
Change-Id: I626b69b0294471014901d0ccfeefe5e2c7651788
Reviewed-on: https://go-review.googlesource.com/c/go/+/210283
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
diff --git a/src/os/os_test.go b/src/os/os_test.go
index 02c80f3..278c19e 100644
--- a/src/os/os_test.go
+++ b/src/os/os_test.go
@@ -2406,3 +2406,45 @@
t.Fatalf("dir %s is not directory; type = %v", dir, fi.Mode())
}
}
+
+func TestDirSeek(t *testing.T) {
+ if runtime.GOOS == "windows" {
+ testenv.SkipFlaky(t, 36019)
+ }
+ wd, err := Getwd()
+ if err != nil {
+ t.Fatal(err)
+ }
+ f, err := Open(wd)
+ if err != nil {
+ t.Fatal(err)
+ }
+ dirnames1, err := f.Readdirnames(0)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ ret, err := f.Seek(0, 0)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if ret != 0 {
+ t.Fatalf("seek result not zero: %d", ret)
+ }
+
+ dirnames2, err := f.Readdirnames(0)
+ if err != nil {
+ t.Fatal(err)
+ return
+ }
+
+ if len(dirnames1) != len(dirnames2) {
+ t.Fatalf("listings have different lengths: %d and %d\n", len(dirnames1), len(dirnames2))
+ }
+ for i, n1 := range dirnames1 {
+ n2 := dirnames2[i]
+ if n1 != n2 {
+ t.Fatalf("different name i=%d n1=%s n2=%s\n", i, n1, n2)
+ }
+ }
+}
diff --git a/test/fixedbugs/issue35767.go b/test/fixedbugs/issue35767.go
deleted file mode 100644
index b930faa..0000000
--- a/test/fixedbugs/issue35767.go
+++ /dev/null
@@ -1,51 +0,0 @@
-// run
-
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import (
- "log"
- "os"
-)
-
-func main() {
- wd, err := os.Getwd()
- if err != nil {
- log.Fatal(err)
- }
- f, err := os.Open(wd)
- if err != nil {
- log.Fatal(err)
- }
- dirnames1, err := f.Readdirnames(0)
- if err != nil {
- log.Fatal(err)
- }
-
- ret, err := f.Seek(0, 0)
- if err != nil {
- log.Fatal(err)
- }
- if ret != 0 {
- log.Fatalf("seek result not zero: %d", ret)
- }
-
- dirnames2, err := f.Readdirnames(0)
- if err != nil {
- log.Fatal(err)
- return
- }
-
- if len(dirnames1) != len(dirnames2) {
- log.Fatalf("listings have different lengths: %d and %d\n", len(dirnames1), len(dirnames2))
- }
- for i, n1 := range dirnames1 {
- n2 := dirnames2[i]
- if n1 != n2 {
- log.Fatalf("different name i=%d n1=%s n2=%s\n", i, n1, n2)
- }
- }
-}