Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1328)

Side by Side Diff: src/pkg/archive/tar/reader_test.go

Issue 6700047: code review 6700047: archive/tar: read/write extended pax/gnu tar archives (Closed)
Patch Set: diff -r 39b31d81b947 https://code.google.com/p/go Created 11 years, 5 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2009 The Go Authors. All rights reserved. 1 // Copyright 2009 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style 2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file. 3 // license that can be found in the LICENSE file.
4 4
5 package tar 5 package tar
6 6
7 import ( 7 import (
8 "bytes" 8 "bytes"
9 "crypto/md5" 9 "crypto/md5"
10 "fmt" 10 "fmt"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 Name: "small2.txt", 101 Name: "small2.txt",
102 Mode: 0444, 102 Mode: 0444,
103 Uid: 73025, 103 Uid: 73025,
104 Gid: 5000, 104 Gid: 5000,
105 Size: 11, 105 Size: 11,
106 ModTime: time.Unix(1244593104, 0), 106 ModTime: time.Unix(1244593104, 0),
107 Typeflag: '\x00', 107 Typeflag: '\x00',
108 }, 108 },
109 }, 109 },
110 }, 110 },
111 {
112 file: "testdata/pax.tar",
113 headers: []*Header{
114 {
115 Name: "a/123456789101112131415161718192021 22232425262728293031323334353637383940414243444546474849505152535455565758596061 6263646566676869707172737475767778798081828384858687888990919293949596979899100" ,
116 Mode: 0664,
117 Uid: 1000,
118 Gid: 1000,
119 Uname: "shane",
120 Gname: "shane",
121 Size: 7,
122 ModTime: time.Unix(1350244992, 23960108),
123 ChangeTime: time.Unix(1350244992, 23960108),
124 AccessTime: time.Unix(1350244992, 23960108),
125 Typeflag: TypeReg,
126 },
127 {
128 Name: "a/b",
129 Mode: 0777,
130 Uid: 1000,
131 Gid: 1000,
132 Uname: "shane",
133 Gname: "shane",
134 Size: 0,
135 ModTime: time.Unix(1350266320, 910238425),
136 ChangeTime: time.Unix(1350266320, 910238425),
137 AccessTime: time.Unix(1350266320, 910238425),
138 Typeflag: TypeSymlink,
139 Linkname: "12345678910111213141516171819202122 23242526272829303132333435363738394041424344454647484950515253545556575859606162 63646566676869707172737475767778798081828384858687888990919293949596979899100",
140 },
141 },
142 },
111 } 143 }
112 144
113 func TestReader(t *testing.T) { 145 func TestReader(t *testing.T) {
114 testLoop: 146 testLoop:
115 for i, test := range untarTests { 147 for i, test := range untarTests {
116 f, err := os.Open(test.file) 148 f, err := os.Open(test.file)
117 if err != nil { 149 if err != nil {
118 t.Errorf("test %d: Unexpected error: %v", i, err) 150 t.Errorf("test %d: Unexpected error: %v", i, err)
119 continue 151 continue
120 } 152 }
121 tr := NewReader(f) 153 tr := NewReader(f)
122 for j, header := range test.headers { 154 for j, header := range test.headers {
123 hdr, err := tr.Next() 155 hdr, err := tr.Next()
124 if err != nil || hdr == nil { 156 if err != nil || hdr == nil {
125 t.Errorf("test %d, entry %d: Didn't get entry: % v", i, j, err) 157 t.Errorf("test %d, entry %d: Didn't get entry: % v", i, j, err)
126 f.Close() 158 f.Close()
127 continue testLoop 159 continue testLoop
128 } 160 }
129 if *hdr != *header { 161 if *hdr != *header {
130 t.Errorf("test %d, entry %d: Incorrect header:\n have %+v\nwant %+v", 162 t.Errorf("test %d, entry %d: Incorrect header:\n have %+v\nwant %+v",
131 i, j, *hdr, *header) 163 i, j, *hdr, *header)
132 } 164 }
133 } 165 }
134 hdr, err := tr.Next() 166 hdr, err := tr.Next()
135 if err == io.EOF { 167 if err == io.EOF {
136 » » » break 168 » » » continue
dfc 2012/10/16 00:54:39 continue testLoop
shanemhansen 2012/10/16 02:14:26 Done. Am I right in thinking the original statemen
137 } 169 }
138 if hdr != nil || err != nil { 170 if hdr != nil || err != nil {
139 t.Errorf("test %d: Unexpected entry or error: hdr=%v err =%v", i, hdr, err) 171 t.Errorf("test %d: Unexpected entry or error: hdr=%v err =%v", i, hdr, err)
140 } 172 }
141 f.Close() 173 f.Close()
142 } 174 }
143 } 175 }
144 176
145 func TestPartialRead(t *testing.T) { 177 func TestPartialRead(t *testing.T) {
146 f, err := os.Open("testdata/gnu.tar") 178 f, err := os.Open("testdata/gnu.tar")
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 } 285 }
254 if err != nil { 286 if err != nil {
255 t.Fatalf("Unexpected error: %v", err) 287 t.Fatalf("Unexpected error: %v", err)
256 } 288 }
257 } 289 }
258 290
259 if nread != len(test.headers) { 291 if nread != len(test.headers) {
260 t.Errorf("Didn't process all files\nexpected: %d\nprocessed %d\n ", len(test.headers), nread) 292 t.Errorf("Didn't process all files\nexpected: %d\nprocessed %d\n ", len(test.headers), nread)
261 } 293 }
262 } 294 }
OLDNEW

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b