1
0
mirror of https://github.com/golang/go synced 2024-09-24 09:30:13 -06:00

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>
This commit is contained in:
Brad Fitzpatrick 2019-12-06 16:20:50 +00:00
parent 69614c0d0e
commit a6c8fac781
2 changed files with 42 additions and 51 deletions

View File

@ -2406,3 +2406,45 @@ func TestUserHomeDir(t *testing.T) {
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)
}
}
}

View File

@ -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)
}
}
}