var packagesFlag … // TestEverything invokes the inliner on every single call site in a // given package. and checks that it produces either a reasonable // error, or output that parses and type-checks. // // It does nothing during ordinary testing, but may be used to find // inlining bugs in large corpora. // // Use this command to inline everything in golang.org/x/tools: // // $ go test ./internal/refactor/inline/ -run=Everything -packages=../../../ // // And these commands to inline everything in the kubernetes repository: // // $ go test -c -o /tmp/everything ./internal/refactor/inline/ // $ (cd kubernetes && /tmp/everything -test.run=Everything -packages=./...) // // TODO(adonovan): // - report counters (number of attempts, failed AnalyzeCallee, failed // Inline, etc.) // - Make a pretty log of the entire output so that we can peruse it // for opportunities for systematic improvement. func TestEverything(t *testing.T) { … } type importerFunc … func (f importerFunc) Import(path string) (*types.Package, error) { … }