aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/go/doc/doc_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/go/doc/doc_test.go')
-rw-r--r--libgo/go/go/doc/doc_test.go20
1 files changed, 17 insertions, 3 deletions
diff --git a/libgo/go/go/doc/doc_test.go b/libgo/go/go/doc/doc_test.go
index 9ffe72032c2..f957ede4abf 100644
--- a/libgo/go/go/doc/doc_test.go
+++ b/libgo/go/go/doc/doc_test.go
@@ -14,12 +14,14 @@ import (
"io/ioutil"
"os"
"path/filepath"
+ "regexp"
"strings"
"testing"
"text/template"
)
var update = flag.Bool("update", false, "update golden (.out) files")
+var files = flag.String("files", "", "consider only Go test files matching this regular expression")
const dataDir = "testdata"
@@ -66,14 +68,26 @@ type bundle struct {
}
func test(t *testing.T, mode Mode) {
- // get all packages
+ // determine file filter
+ filter := isGoFile
+ if *files != "" {
+ rx, err := regexp.Compile(*files)
+ if err != nil {
+ t.Fatal(err)
+ }
+ filter = func(fi os.FileInfo) bool {
+ return isGoFile(fi) && rx.MatchString(fi.Name())
+ }
+ }
+
+ // get packages
fset := token.NewFileSet()
- pkgs, err := parser.ParseDir(fset, dataDir, isGoFile, parser.ParseComments)
+ pkgs, err := parser.ParseDir(fset, dataDir, filter, parser.ParseComments)
if err != nil {
t.Fatal(err)
}
- // test all packages
+ // test packages
for _, pkg := range pkgs {
importpath := dataDir + "/" + pkg.Name
doc := New(pkg, importpath, mode)