@@ -6,6 +6,7 @@ package godoc
6
6
7
7
import (
8
8
"bytes"
9
+ "context"
9
10
"fmt"
10
11
"go/ast"
11
12
"go/parser"
@@ -19,26 +20,28 @@ import (
19
20
"testing"
20
21
21
22
"github.com/google/go-cmp/cmp"
23
+ "golang.org/x/pkgsite/internal"
24
+ "golang.org/x/pkgsite/internal/experiment"
22
25
)
23
26
24
27
var packageToTest string = filepath .Join (runtime .GOROOT (), "src" , "net" , "http" )
25
28
26
29
func TestEncodeDecodePackage (t * testing.T ) {
27
30
// Verify that we can encode and decode the Go files in this directory.
28
- p , err := packageForDir (packageToTest , true )
31
+ p , err := packageForDir ("." , true )
29
32
if err != nil {
30
33
t .Fatal (err )
31
34
}
32
35
33
- data , err := p .Encode ()
36
+ data , err := p .Encode (context . Background () )
34
37
if err != nil {
35
38
t .Fatal (err )
36
39
}
37
40
p2 , err := DecodePackage (data )
38
41
if err != nil {
39
42
t .Fatal (err )
40
43
}
41
- data2 , err := p2 .Encode ()
44
+ data2 , err := p2 .Encode (context . Background () )
42
45
if err != nil {
43
46
t .Fatal (err )
44
47
}
@@ -49,6 +52,7 @@ func TestEncodeDecodePackage(t *testing.T) {
49
52
50
53
func TestObjectIdentity (t * testing.T ) {
51
54
// Check that encoding and decoding preserves object identity.
55
+ ctx := context .Background ()
52
56
const file = `
53
57
package p
54
58
var a int
@@ -75,7 +79,7 @@ func main() { a = 1 }
75
79
76
80
p := NewPackage (fset , "linux" , "amd64" , nil )
77
81
p .AddFile (f , false )
78
- data , err := p .Encode ()
82
+ data , err := p .Encode (ctx )
79
83
if err != nil {
80
84
t .Fatal (err )
81
85
}
@@ -114,7 +118,7 @@ func BenchmarkRemovingAST(b *testing.B) {
114
118
if err != nil {
115
119
b .Fatal (err )
116
120
}
117
- data , err := p .Encode ()
121
+ data , err := p .Encode (context . Background () )
118
122
if err != nil {
119
123
b .Fatal (err )
120
124
}
@@ -136,11 +140,11 @@ func TestFastEncode(t *testing.T) {
136
140
}
137
141
var want , got bytes.Buffer
138
142
printPackage (& want , p )
139
- data , err := p .FastEncode ( )
143
+ data , err := p .Encode ( experiment . NewContext ( context . Background (), internal . ExperimentFasterDecoding ) )
140
144
if err != nil {
141
145
t .Fatal (err )
142
146
}
143
- p2 , err := FastDecodePackage (data )
147
+ p2 , err := DecodePackage (data )
144
148
if err != nil {
145
149
t .Fatal (err )
146
150
}
@@ -283,15 +287,15 @@ func BenchmarkEncoding(b *testing.B) {
283
287
}
284
288
b .Run ("gob" , func (b * testing.B ) {
285
289
for i := 0 ; i < b .N ; i ++ {
286
- _ , err := p .Encode ()
290
+ _ , err := p .gobEncode ()
287
291
if err != nil {
288
292
b .Fatal (err )
289
293
}
290
294
}
291
295
})
292
296
b .Run ("fast" , func (b * testing.B ) {
293
297
for i := 0 ; i < b .N ; i ++ {
294
- _ , err := p .FastEncode ()
298
+ _ , err := p .fastEncode ()
295
299
if err != nil {
296
300
b .Fatal (err )
297
301
}
@@ -306,26 +310,26 @@ func BenchmarkDecoding(b *testing.B) {
306
310
b .Fatal (err )
307
311
}
308
312
b .Run ("gob" , func (b * testing.B ) {
309
- data , err := p .Encode ()
313
+ data , err := p .gobEncode ()
310
314
if err != nil {
311
315
b .Fatal (err )
312
316
}
313
317
b .ResetTimer ()
314
318
for i := 0 ; i < b .N ; i ++ {
315
- _ , err := DecodePackage (data )
319
+ _ , err := gobDecodePackage (data [ encodingTypeLen :] )
316
320
if err != nil {
317
321
b .Fatal (err )
318
322
}
319
323
}
320
324
})
321
325
b .Run ("fast" , func (b * testing.B ) {
322
- data , err := p .FastEncode ()
326
+ data , err := p .fastEncode ()
323
327
if err != nil {
324
328
b .Fatal (err )
325
329
}
326
330
b .ResetTimer ()
327
331
for i := 0 ; i < b .N ; i ++ {
328
- _ , err := FastDecodePackage (data )
332
+ _ , err := fastDecodePackage (data [ encodingTypeLen :] )
329
333
if err != nil {
330
334
b .Fatal (err )
331
335
}
0 commit comments