mirror of
https://github.com/burrowers/garble.git
synced 2025-12-24 12:58:05 +08:00
This mainly cleans up the few bits of code where we explicitly kept support for Go 1.15.x. With v0.1.0 released, we can drop support now, since the next v0.2.0 release will only support Go 1.16.x. Also updates all modules, including test ones, to 'go 1.16'. Note that the TOOLEXEC_IMPORTPATH refactor is not done here, despite all the TODOs about doing so when we drop 1.15 support. This is because that refactor needs to be done carefully and might have side effects, so it's best to keep it to a separate commit. Finally, update the deps.
89 lines
1.9 KiB
Plaintext
89 lines
1.9 KiB
Plaintext
# Test that garble keeps init functions in the order they were declared in.
|
|
|
|
garble build
|
|
exec ./main
|
|
cmp stderr main.stderr
|
|
|
|
[short] stop # no need to verify this with -short
|
|
|
|
go build
|
|
exec ./main
|
|
cmp stderr main.stderr
|
|
|
|
-- go.mod --
|
|
module test/main
|
|
|
|
go 1.16
|
|
-- main.go --
|
|
package main
|
|
|
|
// chungus is filled by ordered init funcs, all in a single file.
|
|
// If we change the relative order of init funcs within a file, this file will break.
|
|
var chungus []byte
|
|
|
|
func init() { chungus = append(chungus, 'B') }
|
|
func init() { chungus = append(chungus, 'i') }
|
|
func init() { chungus = append(chungus, 'g') }
|
|
func init() { chungus = append(chungus, ' ') }
|
|
func init() { chungus = append(chungus, 'C') }
|
|
func init() { chungus = append(chungus, 'h') }
|
|
func init() { chungus = append(chungus, 'u') }
|
|
func init() { chungus = append(chungus, 'n') }
|
|
func init() { chungus = append(chungus, 'g') }
|
|
func init() { chungus = append(chungus, 'u') }
|
|
func init() { chungus = append(chungus, 's') }
|
|
|
|
func main() {
|
|
println(string(chungus))
|
|
println(string(yoshi))
|
|
}
|
|
-- y.go --
|
|
package main
|
|
|
|
// yoshi is filled by ordered init funcs, all in different files.
|
|
// If we change the relative order of filenames when sorted, this file will break.
|
|
var yoshi []byte
|
|
-- y0.go --
|
|
package main
|
|
|
|
func init() { yoshi = append(yoshi, 'B') }
|
|
-- y1.go --
|
|
package main
|
|
|
|
func init() { yoshi = append(yoshi, 'E') }
|
|
-- y2.go --
|
|
package main
|
|
|
|
func init() { yoshi = append(yoshi, 'E') }
|
|
-- y3.go --
|
|
package main
|
|
|
|
func init() { yoshi = append(yoshi, 'G') }
|
|
-- y4.go --
|
|
package main
|
|
|
|
func init() { yoshi = append(yoshi, ' ') }
|
|
-- y5.go --
|
|
package main
|
|
|
|
func init() { yoshi = append(yoshi, 'Y') }
|
|
-- y6.go --
|
|
package main
|
|
|
|
func init() { yoshi = append(yoshi, 'O') }
|
|
-- y7.go --
|
|
package main
|
|
|
|
func init() { yoshi = append(yoshi, 'S') }
|
|
-- y8.go --
|
|
package main
|
|
|
|
func init() { yoshi = append(yoshi, 'H') }
|
|
-- y9.go --
|
|
package main
|
|
|
|
func init() { yoshi = append(yoshi, 'I') }
|
|
-- main.stderr --
|
|
Big Chungus
|
|
BEEG YOSHI
|