Bumping k8s dependencies to 1.13
This commit is contained in:
5
vendor/golang.org/x/tools/internal/fastwalk/fastwalk.go
generated
vendored
5
vendor/golang.org/x/tools/internal/fastwalk/fastwalk.go
generated
vendored
@@ -18,6 +18,11 @@ import (
|
||||
// symlink named in the call may be traversed.
|
||||
var TraverseLink = errors.New("fastwalk: traverse symlink, assuming target is a directory")
|
||||
|
||||
// SkipFiles is a used as a return value from WalkFuncs to indicate that the
|
||||
// callback should not be called for any other files in the current directory.
|
||||
// Child directories will still be traversed.
|
||||
var SkipFiles = errors.New("fastwalk: skip remaining files in directory")
|
||||
|
||||
// Walk is a faster implementation of filepath.Walk.
|
||||
//
|
||||
// filepath.Walk's design necessarily calls os.Lstat on each file,
|
||||
|
13
vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_bsd.go
generated
vendored
Normal file
13
vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_bsd.go
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
// Copyright 2018 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.
|
||||
|
||||
// +build darwin freebsd openbsd netbsd
|
||||
|
||||
package fastwalk
|
||||
|
||||
import "syscall"
|
||||
|
||||
func direntNamlen(dirent *syscall.Dirent) uint64 {
|
||||
return uint64(dirent.Namlen)
|
||||
}
|
29
vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_linux.go
generated
vendored
Normal file
29
vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_linux.go
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
// Copyright 2018 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.
|
||||
|
||||
// +build linux
|
||||
// +build !appengine
|
||||
|
||||
package fastwalk
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"syscall"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
func direntNamlen(dirent *syscall.Dirent) uint64 {
|
||||
const fixedHdr = uint16(unsafe.Offsetof(syscall.Dirent{}.Name))
|
||||
nameBuf := (*[unsafe.Sizeof(dirent.Name)]byte)(unsafe.Pointer(&dirent.Name[0]))
|
||||
const nameBufLen = uint16(len(nameBuf))
|
||||
limit := dirent.Reclen - fixedHdr
|
||||
if limit > nameBufLen {
|
||||
limit = nameBufLen
|
||||
}
|
||||
nameLen := bytes.IndexByte(nameBuf[:limit], 0)
|
||||
if nameLen < 0 {
|
||||
panic("failed to find terminating 0 byte in dirent")
|
||||
}
|
||||
return uint64(nameLen)
|
||||
}
|
8
vendor/golang.org/x/tools/internal/fastwalk/fastwalk_portable.go
generated
vendored
8
vendor/golang.org/x/tools/internal/fastwalk/fastwalk_portable.go
generated
vendored
@@ -20,8 +20,16 @@ func readDir(dirName string, fn func(dirName, entName string, typ os.FileMode) e
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
skipFiles := false
|
||||
for _, fi := range fis {
|
||||
if fi.Mode().IsRegular() && skipFiles {
|
||||
continue
|
||||
}
|
||||
if err := fn(dirName, fi.Name(), fi.Mode()&os.ModeType); err != nil {
|
||||
if err == SkipFiles {
|
||||
skipFiles = true
|
||||
continue
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
49
vendor/golang.org/x/tools/internal/fastwalk/fastwalk_test.go
generated
vendored
49
vendor/golang.org/x/tools/internal/fastwalk/fastwalk_test.go
generated
vendored
@@ -98,6 +98,23 @@ func TestFastWalk_Basic(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestFastWalk_LongFileName(t *testing.T) {
|
||||
longFileName := strings.Repeat("x", 255)
|
||||
|
||||
testFastWalk(t, map[string]string{
|
||||
longFileName: "one",
|
||||
},
|
||||
func(path string, typ os.FileMode) error {
|
||||
return nil
|
||||
},
|
||||
map[string]os.FileMode{
|
||||
"": os.ModeDir,
|
||||
"/src": os.ModeDir,
|
||||
"/src/" + longFileName: 0,
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
func TestFastWalk_Symlink(t *testing.T) {
|
||||
switch runtime.GOOS {
|
||||
case "windows", "plan9":
|
||||
@@ -145,6 +162,38 @@ func TestFastWalk_SkipDir(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestFastWalk_SkipFiles(t *testing.T) {
|
||||
// Directory iteration order is undefined, so there's no way to know
|
||||
// which file to expect until the walk happens. Rather than mess
|
||||
// with the test infrastructure, just mutate want.
|
||||
var mu sync.Mutex
|
||||
want := map[string]os.FileMode{
|
||||
"": os.ModeDir,
|
||||
"/src": os.ModeDir,
|
||||
"/src/zzz": os.ModeDir,
|
||||
"/src/zzz/c.go": 0,
|
||||
}
|
||||
|
||||
testFastWalk(t, map[string]string{
|
||||
"a_skipfiles.go": "a",
|
||||
"b_skipfiles.go": "b",
|
||||
"zzz/c.go": "c",
|
||||
},
|
||||
func(path string, typ os.FileMode) error {
|
||||
if strings.HasSuffix(path, "_skipfiles.go") {
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
want["/src/"+filepath.Base(path)] = 0
|
||||
return fastwalk.SkipFiles
|
||||
}
|
||||
return nil
|
||||
},
|
||||
want)
|
||||
if len(want) != 5 {
|
||||
t.Errorf("saw too many files: wanted 5, got %v (%v)", len(want), want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFastWalk_TraverseSymlink(t *testing.T) {
|
||||
switch runtime.GOOS {
|
||||
case "windows", "plan9":
|
||||
|
14
vendor/golang.org/x/tools/internal/fastwalk/fastwalk_unix.go
generated
vendored
14
vendor/golang.org/x/tools/internal/fastwalk/fastwalk_unix.go
generated
vendored
@@ -8,7 +8,6 @@
|
||||
package fastwalk
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"os"
|
||||
"syscall"
|
||||
@@ -32,6 +31,7 @@ func readDir(dirName string, fn func(dirName, entName string, typ os.FileMode) e
|
||||
buf := make([]byte, blockSize) // stack-allocated; doesn't escape
|
||||
bufp := 0 // starting read position in buf
|
||||
nbuf := 0 // end valid data in buf
|
||||
skipFiles := false
|
||||
for {
|
||||
if bufp >= nbuf {
|
||||
bufp = 0
|
||||
@@ -62,7 +62,14 @@ func readDir(dirName string, fn func(dirName, entName string, typ os.FileMode) e
|
||||
}
|
||||
typ = fi.Mode() & os.ModeType
|
||||
}
|
||||
if skipFiles && typ.IsRegular() {
|
||||
continue
|
||||
}
|
||||
if err := fn(dirName, name, typ); err != nil {
|
||||
if err == SkipFiles {
|
||||
skipFiles = true
|
||||
continue
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -106,10 +113,7 @@ func parseDirEnt(buf []byte) (consumed int, name string, typ os.FileMode) {
|
||||
}
|
||||
|
||||
nameBuf := (*[unsafe.Sizeof(dirent.Name)]byte)(unsafe.Pointer(&dirent.Name[0]))
|
||||
nameLen := bytes.IndexByte(nameBuf[:], 0)
|
||||
if nameLen < 0 {
|
||||
panic("failed to find terminating 0 byte in dirent")
|
||||
}
|
||||
nameLen := direntNamlen(dirent)
|
||||
|
||||
// Special cases for common things:
|
||||
if nameLen == 1 && nameBuf[0] == '.' {
|
||||
|
Reference in New Issue
Block a user