mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	
						commit
						9c0473fa65
					
				
					 16 changed files with 32 additions and 40 deletions
				
			
		| 
						 | 
				
			
			@ -145,7 +145,7 @@ func DetectCompression(source []byte) Compression {
 | 
			
		|||
			logrus.Debug("Len too short")
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		if bytes.Compare(m, source[:len(m)]) == 0 {
 | 
			
		||||
		if bytes.Equal(m, source[:len(m)]) {
 | 
			
		||||
			return compression
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -107,10 +107,7 @@ func handleTarTypeBlockCharFifo(hdr *tar.Header, path string) error {
 | 
			
		|||
		mode |= syscall.S_IFIFO
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := system.Mknod(path, mode, int(system.Mkdev(hdr.Devmajor, hdr.Devminor))); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
	return system.Mknod(path, mode, int(system.Mkdev(hdr.Devmajor, hdr.Devminor)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func handleLChmod(hdr *tar.Header, path string, hdrInfo os.FileInfo) error {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -267,7 +267,7 @@ func (info *FileInfo) addChanges(oldInfo *FileInfo, changes *[]Change) {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	for name, newChild := range info.children {
 | 
			
		||||
		oldChild, _ := oldChildren[name]
 | 
			
		||||
		oldChild := oldChildren[name]
 | 
			
		||||
		if oldChild != nil {
 | 
			
		||||
			// change?
 | 
			
		||||
			oldStat := oldChild.stat
 | 
			
		||||
| 
						 | 
				
			
			@ -279,7 +279,7 @@ func (info *FileInfo) addChanges(oldInfo *FileInfo, changes *[]Change) {
 | 
			
		|||
			// breaks down is if some code intentionally hides a change by setting
 | 
			
		||||
			// back mtime
 | 
			
		||||
			if statDifferent(oldStat, newStat) ||
 | 
			
		||||
				bytes.Compare(oldChild.capability, newChild.capability) != 0 {
 | 
			
		||||
				!bytes.Equal(oldChild.capability, newChild.capability) {
 | 
			
		||||
				change := Change{
 | 
			
		||||
					Path: newChild.path(),
 | 
			
		||||
					Kind: ChangeModify,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,7 +77,7 @@ func TestChrootUntarWithHugeExcludesList(t *testing.T) {
 | 
			
		|||
	options := &archive.TarOptions{}
 | 
			
		||||
	//65534 entries of 64-byte strings ~= 4MB of environment space which should overflow
 | 
			
		||||
	//on most systems when passed via environment or command line arguments
 | 
			
		||||
	excludes := make([]string, 65534, 65534)
 | 
			
		||||
	excludes := make([]string, 65534)
 | 
			
		||||
	for i := 0; i < 65534; i++ {
 | 
			
		||||
		excludes[i] = strings.Repeat(string(i), 64)
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,7 +44,7 @@ func (w *filePoller) Add(name string) error {
 | 
			
		|||
	w.mu.Lock()
 | 
			
		||||
	defer w.mu.Unlock()
 | 
			
		||||
 | 
			
		||||
	if w.closed == true {
 | 
			
		||||
	if w.closed {
 | 
			
		||||
		return errPollerClosed
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -78,7 +78,7 @@ func (w *filePoller) Remove(name string) error {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func (w *filePoller) remove(name string) error {
 | 
			
		||||
	if w.closed == true {
 | 
			
		||||
	if w.closed {
 | 
			
		||||
		return errPollerClosed
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -208,7 +208,7 @@ func TestReadSymlinkedDirectoryToFile(t *testing.T) {
 | 
			
		|||
 | 
			
		||||
func TestWildcardMatches(t *testing.T) {
 | 
			
		||||
	match, _ := Matches("fileutils.go", []string{"*"})
 | 
			
		||||
	if match != true {
 | 
			
		||||
	if !match {
 | 
			
		||||
		t.Errorf("failed to get a wildcard match, got %v", match)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -216,7 +216,7 @@ func TestWildcardMatches(t *testing.T) {
 | 
			
		|||
// A simple pattern match should return true.
 | 
			
		||||
func TestPatternMatches(t *testing.T) {
 | 
			
		||||
	match, _ := Matches("fileutils.go", []string{"*.go"})
 | 
			
		||||
	if match != true {
 | 
			
		||||
	if !match {
 | 
			
		||||
		t.Errorf("failed to get a match, got %v", match)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -224,7 +224,7 @@ func TestPatternMatches(t *testing.T) {
 | 
			
		|||
// An exclusion followed by an inclusion should return true.
 | 
			
		||||
func TestExclusionPatternMatchesPatternBefore(t *testing.T) {
 | 
			
		||||
	match, _ := Matches("fileutils.go", []string{"!fileutils.go", "*.go"})
 | 
			
		||||
	if match != true {
 | 
			
		||||
	if !match {
 | 
			
		||||
		t.Errorf("failed to get true match on exclusion pattern, got %v", match)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -232,7 +232,7 @@ func TestExclusionPatternMatchesPatternBefore(t *testing.T) {
 | 
			
		|||
// A folder pattern followed by an exception should return false.
 | 
			
		||||
func TestPatternMatchesFolderExclusions(t *testing.T) {
 | 
			
		||||
	match, _ := Matches("docs/README.md", []string{"docs", "!docs/README.md"})
 | 
			
		||||
	if match != false {
 | 
			
		||||
	if match {
 | 
			
		||||
		t.Errorf("failed to get a false match on exclusion pattern, got %v", match)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -240,7 +240,7 @@ func TestPatternMatchesFolderExclusions(t *testing.T) {
 | 
			
		|||
// A folder pattern followed by an exception should return false.
 | 
			
		||||
func TestPatternMatchesFolderWithSlashExclusions(t *testing.T) {
 | 
			
		||||
	match, _ := Matches("docs/README.md", []string{"docs/", "!docs/README.md"})
 | 
			
		||||
	if match != false {
 | 
			
		||||
	if match {
 | 
			
		||||
		t.Errorf("failed to get a false match on exclusion pattern, got %v", match)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -248,7 +248,7 @@ func TestPatternMatchesFolderWithSlashExclusions(t *testing.T) {
 | 
			
		|||
// A folder pattern followed by an exception should return false.
 | 
			
		||||
func TestPatternMatchesFolderWildcardExclusions(t *testing.T) {
 | 
			
		||||
	match, _ := Matches("docs/README.md", []string{"docs/*", "!docs/README.md"})
 | 
			
		||||
	if match != false {
 | 
			
		||||
	if match {
 | 
			
		||||
		t.Errorf("failed to get a false match on exclusion pattern, got %v", match)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -256,7 +256,7 @@ func TestPatternMatchesFolderWildcardExclusions(t *testing.T) {
 | 
			
		|||
// A pattern followed by an exclusion should return false.
 | 
			
		||||
func TestExclusionPatternMatchesPatternAfter(t *testing.T) {
 | 
			
		||||
	match, _ := Matches("fileutils.go", []string{"*.go", "!fileutils.go"})
 | 
			
		||||
	if match != false {
 | 
			
		||||
	if match {
 | 
			
		||||
		t.Errorf("failed to get false match on exclusion pattern, got %v", match)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -264,7 +264,7 @@ func TestExclusionPatternMatchesPatternAfter(t *testing.T) {
 | 
			
		|||
// A filename evaluating to . should return false.
 | 
			
		||||
func TestExclusionPatternMatchesWholeDirectory(t *testing.T) {
 | 
			
		||||
	match, _ := Matches(".", []string{"*.go"})
 | 
			
		||||
	if match != false {
 | 
			
		||||
	if match {
 | 
			
		||||
		t.Errorf("failed to get false match on ., got %v", match)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -573,7 +573,7 @@ func TestMatch(t *testing.T) {
 | 
			
		|||
		pattern := tt.pattern
 | 
			
		||||
		s := tt.s
 | 
			
		||||
		if runtime.GOOS == "windows" {
 | 
			
		||||
			if strings.Index(pattern, "\\") >= 0 {
 | 
			
		||||
			if strings.Contains(pattern, "\\") {
 | 
			
		||||
				// no escape allowed on windows.
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,7 +37,7 @@ func TestAtomicWriteToFile(t *testing.T) {
 | 
			
		|||
		t.Fatalf("Error reading from file: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if bytes.Compare(actual, expected) != 0 {
 | 
			
		||||
	if !bytes.Equal(actual, expected) {
 | 
			
		||||
		t.Fatalf("Data mismatch, expected %q, got %q", expected, actual)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -85,7 +85,7 @@ func TestAtomicWriteSetCommit(t *testing.T) {
 | 
			
		|||
		t.Fatalf("Error reading from file: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if bytes.Compare(actual, expected) != 0 {
 | 
			
		||||
	if !bytes.Equal(actual, expected) {
 | 
			
		||||
		t.Fatalf("Data mismatch, expected %q, got %q", expected, actual)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -193,7 +193,7 @@ func TestMultiReadSeekerCurAfterSet(t *testing.T) {
 | 
			
		|||
func TestMultiReadSeekerSmallReads(t *testing.T) {
 | 
			
		||||
	readers := []io.ReadSeeker{}
 | 
			
		||||
	for i := 0; i < 10; i++ {
 | 
			
		||||
		integer := make([]byte, 4, 4)
 | 
			
		||||
		integer := make([]byte, 4)
 | 
			
		||||
		binary.BigEndian.PutUint32(integer, uint32(i))
 | 
			
		||||
		readers = append(readers, bytes.NewReader(integer))
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,7 @@ func (mj *JSONLogs) MarshalJSONBuf(buf *bytes.Buffer) error {
 | 
			
		|||
		ffjsonWriteJSONBytesAsString(buf, mj.Log)
 | 
			
		||||
	}
 | 
			
		||||
	if len(mj.Stream) != 0 {
 | 
			
		||||
		if first == true {
 | 
			
		||||
		if first {
 | 
			
		||||
			first = false
 | 
			
		||||
		} else {
 | 
			
		||||
			buf.WriteString(`,`)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ func lookupGID(name string) (int, error) {
 | 
			
		|||
	if err != nil {
 | 
			
		||||
		return -1, errors.Wrapf(err, "error parsing groups for %s", name)
 | 
			
		||||
	}
 | 
			
		||||
	if groups != nil && len(groups) > 0 {
 | 
			
		||||
	if len(groups) > 0 {
 | 
			
		||||
		return groups[0].Gid, nil
 | 
			
		||||
	}
 | 
			
		||||
	gid, err := strconv.Atoi(name)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,10 +46,7 @@ func Mount(device, target, mType, options string) error {
 | 
			
		|||
// flags.go for supported option flags.
 | 
			
		||||
func ForceMount(device, target, mType, options string) error {
 | 
			
		||||
	flag, data := parseOptions(options)
 | 
			
		||||
	if err := mount(device, target, mType, uintptr(flag), data); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
	return mount(device, target, mType, uintptr(flag), data)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Unmount will unmount the target filesystem, so long as it is mounted.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,7 +66,7 @@ func TestFileSpecPlugin(t *testing.T) {
 | 
			
		|||
			t.Fatalf("Expected plugin addr `%s`, got %s\n", c.addr, p.Addr)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if p.TLSConfig.InsecureSkipVerify != true {
 | 
			
		||||
		if !p.TLSConfig.InsecureSkipVerify {
 | 
			
		||||
			t.Fatalf("Expected TLS verification to be skipped")
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,7 +53,7 @@ func TestLocalSocket(t *testing.T) {
 | 
			
		|||
		if p.Addr != addr {
 | 
			
		||||
			t.Fatalf("Expected plugin addr `%s`, got %s\n", addr, p.Addr)
 | 
			
		||||
		}
 | 
			
		||||
		if p.TLSConfig.InsecureSkipVerify != true {
 | 
			
		||||
		if !p.TLSConfig.InsecureSkipVerify {
 | 
			
		||||
			t.Fatalf("Expected TLS verification to be skipped")
 | 
			
		||||
		}
 | 
			
		||||
		l.Close()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,7 +14,7 @@ func TestOutputOnPrematureClose(t *testing.T) {
 | 
			
		|||
 | 
			
		||||
	pr := NewProgressReader(reader, ChanOutput(progressChan), int64(len(content)), "Test", "Read")
 | 
			
		||||
 | 
			
		||||
	part := make([]byte, 4, 4)
 | 
			
		||||
	part := make([]byte, 4)
 | 
			
		||||
	_, err := io.ReadFull(pr, part)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		pr.Close()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -100,9 +100,7 @@ func (r *Registrar) GetNames(key string) ([]string, error) {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	ls := make([]string, 0, len(names))
 | 
			
		||||
	for _, n := range names {
 | 
			
		||||
		ls = append(ls, n)
 | 
			
		||||
	}
 | 
			
		||||
	ls = append(ls, names...)
 | 
			
		||||
	return ls, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,13 +29,13 @@ var (
 | 
			
		|||
 | 
			
		||||
func TestValidGitTransport(t *testing.T) {
 | 
			
		||||
	for _, url := range gitUrls {
 | 
			
		||||
		if IsGitTransport(url) == false {
 | 
			
		||||
		if !IsGitTransport(url) {
 | 
			
		||||
			t.Fatalf("%q should be detected as valid Git prefix", url)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, url := range incompleteGitUrls {
 | 
			
		||||
		if IsGitTransport(url) == true {
 | 
			
		||||
		if IsGitTransport(url) {
 | 
			
		||||
			t.Fatalf("%q should not be detected as valid Git prefix", url)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -43,19 +43,19 @@ func TestValidGitTransport(t *testing.T) {
 | 
			
		|||
 | 
			
		||||
func TestIsGIT(t *testing.T) {
 | 
			
		||||
	for _, url := range gitUrls {
 | 
			
		||||
		if IsGitURL(url) == false {
 | 
			
		||||
		if !IsGitURL(url) {
 | 
			
		||||
			t.Fatalf("%q should be detected as valid Git url", url)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, url := range incompleteGitUrls {
 | 
			
		||||
		if IsGitURL(url) == false {
 | 
			
		||||
		if !IsGitURL(url) {
 | 
			
		||||
			t.Fatalf("%q should be detected as valid Git url", url)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, url := range invalidGitUrls {
 | 
			
		||||
		if IsGitURL(url) == true {
 | 
			
		||||
		if IsGitURL(url) {
 | 
			
		||||
			t.Fatalf("%q should not be detected as valid Git prefix", url)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -63,7 +63,7 @@ func TestIsGIT(t *testing.T) {
 | 
			
		|||
 | 
			
		||||
func TestIsTransport(t *testing.T) {
 | 
			
		||||
	for _, url := range transportUrls {
 | 
			
		||||
		if IsTransportURL(url) == false {
 | 
			
		||||
		if !IsTransportURL(url) {
 | 
			
		||||
			t.Fatalf("%q should be detected as valid Transport url", url)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue