bind: format generated go code before comparing with golden files

bind_test.go compares the generated Go files against golden files
checked in the repository. The bind package formats some of the
generated Go files, so any changes in the go formatter can break
the tests.

This change makes the test more robust by applying formatting based
on the currently used go version. Since a golden file often
includes multiple go files generated by the bind, the `gofmt`
function splits the golden file using the gobindPreamble marker
and then run format.Source for each chunk. In order to ease the
golden file splitting, this CL also moves the gobindPreamble
to the beginning of each generated file consistently.

It turned out bind omits formatting for some go files (generated
for reverse binding). That needs to be fixed but it is a much
bigger fix. Thus, in this CL, we apply the formatting on the
bind's output as well.

This CL also updates the gobindPreamble to follow the style guide
for generated code. https://golang.org/s/generatedcode

Fixes golang/go#34619

Change-Id: Ia2957693154face2848e051ebbb2373e95d79593
Reviewed-on: https://go-review.googlesource.com/c/mobile/+/198322
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
This commit is contained in:
Hana Kim
2019-10-02 17:59:09 +00:00
committed by Hyang-Ah Hana Kim
parent d3ece3b6da
commit 6d0d39b2ca
73 changed files with 653 additions and 431 deletions
+30 -20
View File
@@ -1,7 +1,8 @@
// Code generated by gobind. DO NOT EDIT.
// Java class interfaces.Error is a proxy for talking to a Go program.
// gobind -lang=java interfaces
//
// File is generated by gobind. Do not edit.
// autogenerated by gobind -lang=java interfaces
package interfaces;
import go.Seq;
@@ -11,10 +12,11 @@ public interface Error {
}
// Code generated by gobind. DO NOT EDIT.
// Java class interfaces.I is a proxy for talking to a Go program.
// gobind -lang=java interfaces
//
// File is generated by gobind. Do not edit.
// autogenerated by gobind -lang=java interfaces
package interfaces;
import go.Seq;
@@ -24,10 +26,11 @@ public interface I {
}
// Code generated by gobind. DO NOT EDIT.
// Java class interfaces.I1 is a proxy for talking to a Go program.
// gobind -lang=java interfaces
//
// File is generated by gobind. Do not edit.
// autogenerated by gobind -lang=java interfaces
package interfaces;
import go.Seq;
@@ -40,10 +43,11 @@ public interface I1 {
}
// Code generated by gobind. DO NOT EDIT.
// Java class interfaces.I2 is a proxy for talking to a Go program.
// gobind -lang=java interfaces
//
// File is generated by gobind. Do not edit.
// autogenerated by gobind -lang=java interfaces
package interfaces;
import go.Seq;
@@ -56,10 +60,11 @@ public interface I2 {
}
// Code generated by gobind. DO NOT EDIT.
// Java class interfaces.I3 is a proxy for talking to a Go program.
// gobind -lang=java interfaces
//
// File is generated by gobind. Do not edit.
// autogenerated by gobind -lang=java interfaces
package interfaces;
import go.Seq;
@@ -73,10 +78,11 @@ public interface I3 {
}
// Code generated by gobind. DO NOT EDIT.
// Java class interfaces.Interfaces_ is a proxy for talking to a Go program.
// gobind -lang=java interfaces
//
// File is generated by gobind. Do not edit.
// autogenerated by gobind -lang=java interfaces
package interfaces;
import go.Seq;
@@ -89,10 +95,11 @@ public interface Interfaces_ {
}
// Code generated by gobind. DO NOT EDIT.
// Java class interfaces.LargerI is a proxy for talking to a Go program.
// gobind -lang=java interfaces
//
// File is generated by gobind. Do not edit.
// autogenerated by gobind -lang=java interfaces
package interfaces;
import go.Seq;
@@ -103,10 +110,11 @@ public interface LargerI extends I, SameI {
}
// Code generated by gobind. DO NOT EDIT.
// Java class interfaces.SameI is a proxy for talking to a Go program.
// gobind -lang=java interfaces
//
// File is generated by gobind. Do not edit.
// autogenerated by gobind -lang=java interfaces
package interfaces;
import go.Seq;
@@ -116,10 +124,11 @@ public interface SameI {
}
// Code generated by gobind. DO NOT EDIT.
// Java class interfaces.WithParam is a proxy for talking to a Go program.
// gobind -lang=java interfaces
//
// File is generated by gobind. Do not edit.
// autogenerated by gobind -lang=java interfaces
package interfaces;
import go.Seq;
@@ -129,10 +138,11 @@ public interface WithParam {
}
// Code generated by gobind. DO NOT EDIT.
// Java class interfaces.Interfaces is a proxy for talking to a Go program.
// gobind -lang=java interfaces
//
// File is generated by gobind. Do not edit.
// autogenerated by gobind -lang=java interfaces
package interfaces;
import go.Seq;