aboutsummaryrefslogtreecommitdiff
path: root/cmp
diff options
context:
space:
mode:
authorJoe Tsai <joetsai@digital-static.net>2017-12-15 11:45:42 -0800
committerGitHub <noreply@github.com>2017-12-15 11:45:42 -0800
commitab3beb0f1673c5cab43e36db4ea73c2613100e69 (patch)
treea92c01631f81d8af91f7c88dfba87f390087b449 /cmp
parent2809dbc3d6ef202ae00b52b8f2a982862a993f36 (diff)
downloadgo-cmp-ab3beb0f1673c5cab43e36db4ea73c2613100e69.tar.gz
Adjust Travis CI script (#60)
Rather than running gofmt for every version, leading to version skew when what gofmt considers "correct" differs between versions, only use one specific version of gofmt. Also, remove the "-s" flag from gofmt because it is not backwards compatible. Suppose Go1.11 allowed for elliding types on struct literals and the "-s" flag strips them, then this would be problematic because it would not compile on Go1.10 and earlier. Also, fix the code so that vet is happy. I am not sure why these checks were not triggered before. There seems to be a bug in the caching of $GOPATH/pkg files. This may be fixed in Go1.10 by the new caching logic. Running "go install" before running go vet fixes the issue. In other words, the only check we perform for differing versions is that the tests pass (and implicitly that it builds).
Diffstat (limited to 'cmp')
-rw-r--r--cmp/compare_test.go240
-rw-r--r--cmp/internal/teststructs/project3.go7
2 files changed, 126 insertions, 121 deletions
diff --git a/cmp/compare_test.go b/cmp/compare_test.go
index 7bbb977..5cff328 100644
--- a/cmp/compare_test.go
+++ b/cmp/compare_test.go
@@ -1255,135 +1255,135 @@ func methodTests() []test {
// Since the method should be called, these are expected to be equal.
return []test{{
label: label + "StructA",
- x: ts.StructA{"NotEqual"},
- y: ts.StructA{"not_equal"},
+ x: ts.StructA{X: "NotEqual"},
+ y: ts.StructA{X: "not_equal"},
}, {
label: label + "StructA",
- x: &ts.StructA{"NotEqual"},
- y: &ts.StructA{"not_equal"},
+ x: &ts.StructA{X: "NotEqual"},
+ y: &ts.StructA{X: "not_equal"},
}, {
label: label + "StructB",
- x: ts.StructB{"NotEqual"},
- y: ts.StructB{"not_equal"},
+ x: ts.StructB{X: "NotEqual"},
+ y: ts.StructB{X: "not_equal"},
wantDiff: `
{teststructs.StructB}.X:
-: "NotEqual"
+: "not_equal"`,
}, {
label: label + "StructB",
- x: ts.StructB{"NotEqual"},
- y: ts.StructB{"not_equal"},
+ x: ts.StructB{X: "NotEqual"},
+ y: ts.StructB{X: "not_equal"},
opts: []cmp.Option{derefTransform},
}, {
label: label + "StructB",
- x: &ts.StructB{"NotEqual"},
- y: &ts.StructB{"not_equal"},
+ x: &ts.StructB{X: "NotEqual"},
+ y: &ts.StructB{X: "not_equal"},
}, {
label: label + "StructC",
- x: ts.StructC{"NotEqual"},
- y: ts.StructC{"not_equal"},
+ x: ts.StructC{X: "NotEqual"},
+ y: ts.StructC{X: "not_equal"},
}, {
label: label + "StructC",
- x: &ts.StructC{"NotEqual"},
- y: &ts.StructC{"not_equal"},
+ x: &ts.StructC{X: "NotEqual"},
+ y: &ts.StructC{X: "not_equal"},
}, {
label: label + "StructD",
- x: ts.StructD{"NotEqual"},
- y: ts.StructD{"not_equal"},
+ x: ts.StructD{X: "NotEqual"},
+ y: ts.StructD{X: "not_equal"},
wantDiff: `
{teststructs.StructD}.X:
-: "NotEqual"
+: "not_equal"`,
}, {
label: label + "StructD",
- x: ts.StructD{"NotEqual"},
- y: ts.StructD{"not_equal"},
+ x: ts.StructD{X: "NotEqual"},
+ y: ts.StructD{X: "not_equal"},
opts: []cmp.Option{derefTransform},
}, {
label: label + "StructD",
- x: &ts.StructD{"NotEqual"},
- y: &ts.StructD{"not_equal"},
+ x: &ts.StructD{X: "NotEqual"},
+ y: &ts.StructD{X: "not_equal"},
}, {
label: label + "StructE",
- x: ts.StructE{"NotEqual"},
- y: ts.StructE{"not_equal"},
+ x: ts.StructE{X: "NotEqual"},
+ y: ts.StructE{X: "not_equal"},
wantDiff: `
{teststructs.StructE}.X:
-: "NotEqual"
+: "not_equal"`,
}, {
label: label + "StructE",
- x: ts.StructE{"NotEqual"},
- y: ts.StructE{"not_equal"},
+ x: ts.StructE{X: "NotEqual"},
+ y: ts.StructE{X: "not_equal"},
opts: []cmp.Option{derefTransform},
}, {
label: label + "StructE",
- x: &ts.StructE{"NotEqual"},
- y: &ts.StructE{"not_equal"},
+ x: &ts.StructE{X: "NotEqual"},
+ y: &ts.StructE{X: "not_equal"},
}, {
label: label + "StructF",
- x: ts.StructF{"NotEqual"},
- y: ts.StructF{"not_equal"},
+ x: ts.StructF{X: "NotEqual"},
+ y: ts.StructF{X: "not_equal"},
wantDiff: `
{teststructs.StructF}.X:
-: "NotEqual"
+: "not_equal"`,
}, {
label: label + "StructF",
- x: &ts.StructF{"NotEqual"},
- y: &ts.StructF{"not_equal"},
+ x: &ts.StructF{X: "NotEqual"},
+ y: &ts.StructF{X: "not_equal"},
}, {
label: label + "StructA1",
- x: ts.StructA1{ts.StructA{"NotEqual"}, "equal"},
- y: ts.StructA1{ts.StructA{"not_equal"}, "equal"},
+ x: ts.StructA1{StructA: ts.StructA{X: "NotEqual"}, X: "equal"},
+ y: ts.StructA1{StructA: ts.StructA{X: "not_equal"}, X: "equal"},
}, {
label: label + "StructA1",
- x: ts.StructA1{ts.StructA{"NotEqual"}, "NotEqual"},
- y: ts.StructA1{ts.StructA{"not_equal"}, "not_equal"},
+ x: ts.StructA1{StructA: ts.StructA{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructA1{StructA: ts.StructA{X: "not_equal"}, X: "not_equal"},
wantDiff: "{teststructs.StructA1}.X:\n\t-: \"NotEqual\"\n\t+: \"not_equal\"\n",
}, {
label: label + "StructA1",
- x: &ts.StructA1{ts.StructA{"NotEqual"}, "equal"},
- y: &ts.StructA1{ts.StructA{"not_equal"}, "equal"},
+ x: &ts.StructA1{StructA: ts.StructA{X: "NotEqual"}, X: "equal"},
+ y: &ts.StructA1{StructA: ts.StructA{X: "not_equal"}, X: "equal"},
}, {
label: label + "StructA1",
- x: &ts.StructA1{ts.StructA{"NotEqual"}, "NotEqual"},
- y: &ts.StructA1{ts.StructA{"not_equal"}, "not_equal"},
+ x: &ts.StructA1{StructA: ts.StructA{X: "NotEqual"}, X: "NotEqual"},
+ y: &ts.StructA1{StructA: ts.StructA{X: "not_equal"}, X: "not_equal"},
wantDiff: "{*teststructs.StructA1}.X:\n\t-: \"NotEqual\"\n\t+: \"not_equal\"\n",
}, {
label: label + "StructB1",
- x: ts.StructB1{ts.StructB{"NotEqual"}, "equal"},
- y: ts.StructB1{ts.StructB{"not_equal"}, "equal"},
+ x: ts.StructB1{StructB: ts.StructB{X: "NotEqual"}, X: "equal"},
+ y: ts.StructB1{StructB: ts.StructB{X: "not_equal"}, X: "equal"},
opts: []cmp.Option{derefTransform},
}, {
label: label + "StructB1",
- x: ts.StructB1{ts.StructB{"NotEqual"}, "NotEqual"},
- y: ts.StructB1{ts.StructB{"not_equal"}, "not_equal"},
+ x: ts.StructB1{StructB: ts.StructB{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructB1{StructB: ts.StructB{X: "not_equal"}, X: "not_equal"},
opts: []cmp.Option{derefTransform},
wantDiff: "{teststructs.StructB1}.X:\n\t-: \"NotEqual\"\n\t+: \"not_equal\"\n",
}, {
label: label + "StructB1",
- x: &ts.StructB1{ts.StructB{"NotEqual"}, "equal"},
- y: &ts.StructB1{ts.StructB{"not_equal"}, "equal"},
+ x: &ts.StructB1{StructB: ts.StructB{X: "NotEqual"}, X: "equal"},
+ y: &ts.StructB1{StructB: ts.StructB{X: "not_equal"}, X: "equal"},
opts: []cmp.Option{derefTransform},
}, {
label: label + "StructB1",
- x: &ts.StructB1{ts.StructB{"NotEqual"}, "NotEqual"},
- y: &ts.StructB1{ts.StructB{"not_equal"}, "not_equal"},
+ x: &ts.StructB1{StructB: ts.StructB{X: "NotEqual"}, X: "NotEqual"},
+ y: &ts.StructB1{StructB: ts.StructB{X: "not_equal"}, X: "not_equal"},
opts: []cmp.Option{derefTransform},
wantDiff: "{*teststructs.StructB1}.X:\n\t-: \"NotEqual\"\n\t+: \"not_equal\"\n",
}, {
label: label + "StructC1",
- x: ts.StructC1{ts.StructC{"NotEqual"}, "NotEqual"},
- y: ts.StructC1{ts.StructC{"not_equal"}, "not_equal"},
+ x: ts.StructC1{StructC: ts.StructC{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructC1{StructC: ts.StructC{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructC1",
- x: &ts.StructC1{ts.StructC{"NotEqual"}, "NotEqual"},
- y: &ts.StructC1{ts.StructC{"not_equal"}, "not_equal"},
+ x: &ts.StructC1{StructC: ts.StructC{X: "NotEqual"}, X: "NotEqual"},
+ y: &ts.StructC1{StructC: ts.StructC{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructD1",
- x: ts.StructD1{ts.StructD{"NotEqual"}, "NotEqual"},
- y: ts.StructD1{ts.StructD{"not_equal"}, "not_equal"},
+ x: ts.StructD1{StructD: ts.StructD{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructD1{StructD: ts.StructD{X: "not_equal"}, X: "not_equal"},
wantDiff: `
{teststructs.StructD1}.StructD.X:
-: "NotEqual"
@@ -1393,17 +1393,17 @@ func methodTests() []test {
+: "not_equal"`,
}, {
label: label + "StructD1",
- x: ts.StructD1{ts.StructD{"NotEqual"}, "NotEqual"},
- y: ts.StructD1{ts.StructD{"not_equal"}, "not_equal"},
+ x: ts.StructD1{StructD: ts.StructD{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructD1{StructD: ts.StructD{X: "not_equal"}, X: "not_equal"},
opts: []cmp.Option{derefTransform},
}, {
label: label + "StructD1",
- x: &ts.StructD1{ts.StructD{"NotEqual"}, "NotEqual"},
- y: &ts.StructD1{ts.StructD{"not_equal"}, "not_equal"},
+ x: &ts.StructD1{StructD: ts.StructD{X: "NotEqual"}, X: "NotEqual"},
+ y: &ts.StructD1{StructD: ts.StructD{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructE1",
- x: ts.StructE1{ts.StructE{"NotEqual"}, "NotEqual"},
- y: ts.StructE1{ts.StructE{"not_equal"}, "not_equal"},
+ x: ts.StructE1{StructE: ts.StructE{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructE1{StructE: ts.StructE{X: "not_equal"}, X: "not_equal"},
wantDiff: `
{teststructs.StructE1}.StructE.X:
-: "NotEqual"
@@ -1413,17 +1413,17 @@ func methodTests() []test {
+: "not_equal"`,
}, {
label: label + "StructE1",
- x: ts.StructE1{ts.StructE{"NotEqual"}, "NotEqual"},
- y: ts.StructE1{ts.StructE{"not_equal"}, "not_equal"},
+ x: ts.StructE1{StructE: ts.StructE{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructE1{StructE: ts.StructE{X: "not_equal"}, X: "not_equal"},
opts: []cmp.Option{derefTransform},
}, {
label: label + "StructE1",
- x: &ts.StructE1{ts.StructE{"NotEqual"}, "NotEqual"},
- y: &ts.StructE1{ts.StructE{"not_equal"}, "not_equal"},
+ x: &ts.StructE1{StructE: ts.StructE{X: "NotEqual"}, X: "NotEqual"},
+ y: &ts.StructE1{StructE: ts.StructE{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructF1",
- x: ts.StructF1{ts.StructF{"NotEqual"}, "NotEqual"},
- y: ts.StructF1{ts.StructF{"not_equal"}, "not_equal"},
+ x: ts.StructF1{StructF: ts.StructF{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructF1{StructF: ts.StructF{X: "not_equal"}, X: "not_equal"},
wantDiff: `
{teststructs.StructF1}.StructF.X:
-: "NotEqual"
@@ -1433,80 +1433,80 @@ func methodTests() []test {
+: "not_equal"`,
}, {
label: label + "StructF1",
- x: &ts.StructF1{ts.StructF{"NotEqual"}, "NotEqual"},
- y: &ts.StructF1{ts.StructF{"not_equal"}, "not_equal"},
+ x: &ts.StructF1{StructF: ts.StructF{X: "NotEqual"}, X: "NotEqual"},
+ y: &ts.StructF1{StructF: ts.StructF{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructA2",
- x: ts.StructA2{&ts.StructA{"NotEqual"}, "equal"},
- y: ts.StructA2{&ts.StructA{"not_equal"}, "equal"},
+ x: ts.StructA2{StructA: &ts.StructA{X: "NotEqual"}, X: "equal"},
+ y: ts.StructA2{StructA: &ts.StructA{X: "not_equal"}, X: "equal"},
}, {
label: label + "StructA2",
- x: ts.StructA2{&ts.StructA{"NotEqual"}, "NotEqual"},
- y: ts.StructA2{&ts.StructA{"not_equal"}, "not_equal"},
+ x: ts.StructA2{StructA: &ts.StructA{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructA2{StructA: &ts.StructA{X: "not_equal"}, X: "not_equal"},
wantDiff: "{teststructs.StructA2}.X:\n\t-: \"NotEqual\"\n\t+: \"not_equal\"\n",
}, {
label: label + "StructA2",
- x: &ts.StructA2{&ts.StructA{"NotEqual"}, "equal"},
- y: &ts.StructA2{&ts.StructA{"not_equal"}, "equal"},
+ x: &ts.StructA2{StructA: &ts.StructA{X: "NotEqual"}, X: "equal"},
+ y: &ts.StructA2{StructA: &ts.StructA{X: "not_equal"}, X: "equal"},
}, {
label: label + "StructA2",
- x: &ts.StructA2{&ts.StructA{"NotEqual"}, "NotEqual"},
- y: &ts.StructA2{&ts.StructA{"not_equal"}, "not_equal"},
+ x: &ts.StructA2{StructA: &ts.StructA{X: "NotEqual"}, X: "NotEqual"},
+ y: &ts.StructA2{StructA: &ts.StructA{X: "not_equal"}, X: "not_equal"},
wantDiff: "{*teststructs.StructA2}.X:\n\t-: \"NotEqual\"\n\t+: \"not_equal\"\n",
}, {
label: label + "StructB2",
- x: ts.StructB2{&ts.StructB{"NotEqual"}, "equal"},
- y: ts.StructB2{&ts.StructB{"not_equal"}, "equal"},
+ x: ts.StructB2{StructB: &ts.StructB{X: "NotEqual"}, X: "equal"},
+ y: ts.StructB2{StructB: &ts.StructB{X: "not_equal"}, X: "equal"},
}, {
label: label + "StructB2",
- x: ts.StructB2{&ts.StructB{"NotEqual"}, "NotEqual"},
- y: ts.StructB2{&ts.StructB{"not_equal"}, "not_equal"},
+ x: ts.StructB2{StructB: &ts.StructB{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructB2{StructB: &ts.StructB{X: "not_equal"}, X: "not_equal"},
wantDiff: "{teststructs.StructB2}.X:\n\t-: \"NotEqual\"\n\t+: \"not_equal\"\n",
}, {
label: label + "StructB2",
- x: &ts.StructB2{&ts.StructB{"NotEqual"}, "equal"},
- y: &ts.StructB2{&ts.StructB{"not_equal"}, "equal"},
+ x: &ts.StructB2{StructB: &ts.StructB{X: "NotEqual"}, X: "equal"},
+ y: &ts.StructB2{StructB: &ts.StructB{X: "not_equal"}, X: "equal"},
}, {
label: label + "StructB2",
- x: &ts.StructB2{&ts.StructB{"NotEqual"}, "NotEqual"},
- y: &ts.StructB2{&ts.StructB{"not_equal"}, "not_equal"},
+ x: &ts.StructB2{StructB: &ts.StructB{X: "NotEqual"}, X: "NotEqual"},
+ y: &ts.StructB2{StructB: &ts.StructB{X: "not_equal"}, X: "not_equal"},
wantDiff: "{*teststructs.StructB2}.X:\n\t-: \"NotEqual\"\n\t+: \"not_equal\"\n",
}, {
label: label + "StructC2",
- x: ts.StructC2{&ts.StructC{"NotEqual"}, "NotEqual"},
- y: ts.StructC2{&ts.StructC{"not_equal"}, "not_equal"},
+ x: ts.StructC2{StructC: &ts.StructC{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructC2{StructC: &ts.StructC{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructC2",
- x: &ts.StructC2{&ts.StructC{"NotEqual"}, "NotEqual"},
- y: &ts.StructC2{&ts.StructC{"not_equal"}, "not_equal"},
+ x: &ts.StructC2{StructC: &ts.StructC{X: "NotEqual"}, X: "NotEqual"},
+ y: &ts.StructC2{StructC: &ts.StructC{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructD2",
- x: ts.StructD2{&ts.StructD{"NotEqual"}, "NotEqual"},
- y: ts.StructD2{&ts.StructD{"not_equal"}, "not_equal"},
+ x: ts.StructD2{StructD: &ts.StructD{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructD2{StructD: &ts.StructD{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructD2",
- x: &ts.StructD2{&ts.StructD{"NotEqual"}, "NotEqual"},
- y: &ts.StructD2{&ts.StructD{"not_equal"}, "not_equal"},
+ x: &ts.StructD2{StructD: &ts.StructD{X: "NotEqual"}, X: "NotEqual"},
+ y: &ts.StructD2{StructD: &ts.StructD{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructE2",
- x: ts.StructE2{&ts.StructE{"NotEqual"}, "NotEqual"},
- y: ts.StructE2{&ts.StructE{"not_equal"}, "not_equal"},
+ x: ts.StructE2{StructE: &ts.StructE{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructE2{StructE: &ts.StructE{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructE2",
- x: &ts.StructE2{&ts.StructE{"NotEqual"}, "NotEqual"},
- y: &ts.StructE2{&ts.StructE{"not_equal"}, "not_equal"},
+ x: &ts.StructE2{StructE: &ts.StructE{X: "NotEqual"}, X: "NotEqual"},
+ y: &ts.StructE2{StructE: &ts.StructE{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructF2",
- x: ts.StructF2{&ts.StructF{"NotEqual"}, "NotEqual"},
- y: ts.StructF2{&ts.StructF{"not_equal"}, "not_equal"},
+ x: ts.StructF2{StructF: &ts.StructF{X: "NotEqual"}, X: "NotEqual"},
+ y: ts.StructF2{StructF: &ts.StructF{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructF2",
- x: &ts.StructF2{&ts.StructF{"NotEqual"}, "NotEqual"},
- y: &ts.StructF2{&ts.StructF{"not_equal"}, "not_equal"},
+ x: &ts.StructF2{StructF: &ts.StructF{X: "NotEqual"}, X: "NotEqual"},
+ y: &ts.StructF2{StructF: &ts.StructF{X: "not_equal"}, X: "not_equal"},
}, {
label: label + "StructNo",
- x: ts.StructNo{"NotEqual"},
- y: ts.StructNo{"not_equal"},
+ x: ts.StructNo{X: "NotEqual"},
+ y: ts.StructNo{X: "not_equal"},
wantDiff: "{teststructs.StructNo}.X:\n\t-: \"NotEqual\"\n\t+: \"not_equal\"\n",
}, {
label: label + "AssignA",
@@ -1563,7 +1563,7 @@ func project1Tests() []test {
}},
Slaps: []ts.Slap{{
Name: "slapID",
- Args: &pb.MetaData{Stringer: pb.Stringer{"metadata"}},
+ Args: &pb.MetaData{Stringer: pb.Stringer{X: "metadata"}},
Immutable: &ts.SlapImmutable{
ID: "immutableSlap",
MildSlap: true,
@@ -1589,28 +1589,28 @@ func project1Tests() []test {
return []test{{
label: label,
x: ts.Eagle{Slaps: []ts.Slap{{
- Args: &pb.MetaData{Stringer: pb.Stringer{"metadata"}},
+ Args: &pb.MetaData{Stringer: pb.Stringer{X: "metadata"}},
}}},
y: ts.Eagle{Slaps: []ts.Slap{{
- Args: &pb.MetaData{Stringer: pb.Stringer{"metadata"}},
+ Args: &pb.MetaData{Stringer: pb.Stringer{X: "metadata"}},
}}},
wantPanic: "cannot handle unexported field",
}, {
label: label,
x: ts.Eagle{Slaps: []ts.Slap{{
- Args: &pb.MetaData{Stringer: pb.Stringer{"metadata"}},
+ Args: &pb.MetaData{Stringer: pb.Stringer{X: "metadata"}},
}}},
y: ts.Eagle{Slaps: []ts.Slap{{
- Args: &pb.MetaData{Stringer: pb.Stringer{"metadata"}},
+ Args: &pb.MetaData{Stringer: pb.Stringer{X: "metadata"}},
}}},
opts: []cmp.Option{cmp.Comparer(pb.Equal)},
}, {
label: label,
x: ts.Eagle{Slaps: []ts.Slap{{}, {}, {}, {}, {
- Args: &pb.MetaData{Stringer: pb.Stringer{"metadata"}},
+ Args: &pb.MetaData{Stringer: pb.Stringer{X: "metadata"}},
}}},
y: ts.Eagle{Slaps: []ts.Slap{{}, {}, {}, {}, {
- Args: &pb.MetaData{Stringer: pb.Stringer{"metadata2"}},
+ Args: &pb.MetaData{Stringer: pb.Stringer{X: "metadata2"}},
}}},
opts: []cmp.Option{cmp.Comparer(pb.Equal)},
wantDiff: "{teststructs.Eagle}.Slaps[4].Args:\n\t-: s\"metadata\"\n\t+: s\"metadata2\"\n",
@@ -1685,22 +1685,22 @@ func project2Tests() []test {
return ts.GermBatch{
DirtyGerms: map[int32][]*pb.Germ{
17: {
- {Stringer: pb.Stringer{"germ1"}},
+ {Stringer: pb.Stringer{X: "germ1"}},
},
18: {
- {Stringer: pb.Stringer{"germ2"}},
- {Stringer: pb.Stringer{"germ3"}},
- {Stringer: pb.Stringer{"germ4"}},
+ {Stringer: pb.Stringer{X: "germ2"}},
+ {Stringer: pb.Stringer{X: "germ3"}},
+ {Stringer: pb.Stringer{X: "germ4"}},
},
},
GermMap: map[int32]*pb.Germ{
- 13: {Stringer: pb.Stringer{"germ13"}},
- 21: {Stringer: pb.Stringer{"germ21"}},
+ 13: {Stringer: pb.Stringer{X: "germ13"}},
+ 21: {Stringer: pb.Stringer{X: "germ21"}},
},
DishMap: map[int32]*ts.Dish{
0: ts.CreateDish(nil, io.EOF),
1: ts.CreateDish(nil, io.ErrUnexpectedEOF),
- 2: ts.CreateDish(&pb.Dish{Stringer: pb.Stringer{"dish"}}, nil),
+ 2: ts.CreateDish(&pb.Dish{Stringer: pb.Stringer{X: "dish"}}, nil),
},
HasPreviousResult: true,
DirtyID: 10,
@@ -1801,10 +1801,10 @@ func project3Tests() []test {
d.SetTable(ts.CreateMockTable([]string{"a", "b", "c"}))
d.SetTimestamp(12345)
d.Discord = 554
- d.Proto = pb.Dirt{Stringer: pb.Stringer{"proto"}}
+ d.Proto = pb.Dirt{Stringer: pb.Stringer{X: "proto"}}
d.SetWizard(map[string]*pb.Wizard{
- "harry": {Stringer: pb.Stringer{"potter"}},
- "albus": {Stringer: pb.Stringer{"dumbledore"}},
+ "harry": {Stringer: pb.Stringer{X: "potter"}},
+ "albus": {Stringer: pb.Stringer{X: "dumbledore"}},
})
d.SetLastTime(54321)
return d
@@ -1831,14 +1831,14 @@ func project3Tests() []test {
x: func() ts.Dirt {
d := createDirt()
d.SetTable(ts.CreateMockTable([]string{"a", "c"}))
- d.Proto = pb.Dirt{Stringer: pb.Stringer{"blah"}}
+ d.Proto = pb.Dirt{Stringer: pb.Stringer{X: "blah"}}
return d
}(),
y: func() ts.Dirt {
d := createDirt()
d.Discord = 500
d.SetWizard(map[string]*pb.Wizard{
- "harry": {Stringer: pb.Stringer{"otter"}},
+ "harry": {Stringer: pb.Stringer{X: "otter"}},
})
return d
}(),
@@ -1885,7 +1885,7 @@ func project4Tests() []test {
hq.SetID(5)
hq.SetLocation("moon")
hq.SetSubDivisions([]string{"alpha", "bravo", "charlie"})
- hq.SetMetaData(&pb.MetaData{Stringer: pb.Stringer{"metadata"}})
+ hq.SetMetaData(&pb.MetaData{Stringer: pb.Stringer{X: "metadata"}})
hq.SetPublicMessage([]byte{1, 2, 3, 4, 5})
hq.SetHorseBack("abcdef")
hq.SetStatus(44)
diff --git a/cmp/internal/teststructs/project3.go b/cmp/internal/teststructs/project3.go
index 00c252e..957d093 100644
--- a/cmp/internal/teststructs/project3.go
+++ b/cmp/internal/teststructs/project3.go
@@ -39,6 +39,11 @@ func equalDirt(x, y *Dirt) bool {
}
*/
+type FakeMutex struct {
+ sync.Locker
+ x struct{}
+}
+
type Dirt struct {
table Table // Always concrete type of MockTable
ts Timestamp
@@ -47,7 +52,7 @@ type Dirt struct {
wizard map[string]*pb.Wizard
sadistic map[string]*pb.Sadistic
lastTime int64
- mu sync.Mutex
+ mu FakeMutex
}
type DiscordState int