mirror of
https://github.com/golang/go
synced 2024-11-19 12:34:47 -07:00
6643abb26c
Suggested reading order: - doc.go - api.go, analysis.go, callgraph.go, labels.go - print.go, util.go - gen.go - solve.go - pointer_test.go, testdata/* - intrinsics.go (none are implemented yet) R=dannyb, gri, crawshaw, 0xjnml CC=golang-dev https://golang.org/cl/10618043
43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
// +build ignore
|
|
|
|
package a
|
|
|
|
// This test exercises the synthesis of testmain packages for tests.
|
|
// The test framework doesn't directly let us perform negative
|
|
// assertions (i.e. that TestingQuux isn't called, or that its
|
|
// parameter's PTS is empty) so this test is rather roundabout.
|
|
|
|
import "testing"
|
|
|
|
func log(f func(*testing.T)) {
|
|
// The PTS of f is the set of called tests. TestingQuux is not present.
|
|
print(f) // @pointsto main.Test | main.TestFoo
|
|
}
|
|
|
|
func Test(t *testing.T) {
|
|
// Don't assert @pointsto(t) since its label contains a fragile line number.
|
|
log(Test)
|
|
}
|
|
|
|
func TestFoo(t *testing.T) {
|
|
// Don't assert @pointsto(t) since its label contains a fragile line number.
|
|
log(TestFoo)
|
|
}
|
|
|
|
func TestingQuux(t *testing.T) {
|
|
// We can't assert @pointsto(t) since this is dead code.
|
|
log(TestingQuux)
|
|
}
|
|
|
|
func BenchmarkFoo(b *testing.B) {
|
|
}
|
|
|
|
func ExampleBar() {
|
|
}
|
|
|
|
// Excludes TestingQuux.
|
|
// @calls testing.tRunner -> main.Test
|
|
// @calls testing.tRunner -> main.TestFoo
|
|
// @calls testing.runExample -> main.ExampleBar
|
|
// @calls (*testing.B).runN -> main.BenchmarkFoo
|