Files
garble/testdata/scripts/init.txt
Daniel Martí ff0bea73b5 all: drop support for Go 1.15.x (#265)
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.
2021-03-05 16:52:00 +01:00

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