in cli/bptest/list.go [85:122]
func getExplicitTests(intTestDir string) ([]bpTest, error) {
// find all explicit test files ending with *_test.go excluding discover_test.go within intTestDir
testFiles, err := findFiles(intTestDir,
func(d fs.DirEntry) bool {
return strings.HasSuffix(d.Name(), "_test.go") && d.Name() != discoverTestFilename
},
)
if err != nil {
Log.Warn(fmt.Sprintf("walking file path: %s : details: %v", intTestDir, err))
}
eTests := []bpTest{}
for _, testFile := range testFiles {
// testDir name maps to a matching example/fixture
testDir := path.Dir(testFile)
testCfg, err := discovery.GetConfigDirFromTestDir(testDir)
if err != nil {
Log.Warn(fmt.Sprintf("unable to discover configs for %s: %v", testDir, err))
}
// discover BlueprintTest config if any
bptestCfg, err := discovery.GetTestConfig(path.Join(testCfg, discovery.DefaultTestConfigFilename))
if err != nil {
Log.Warn(fmt.Sprintf("error discovering BlueprintTest config: %v", err))
}
testFns, err := getTestFuncsFromFile(testFile)
if err != nil {
return nil, err
}
for _, fnName := range testFns {
eTests = append(eTests, bpTest{name: fnName, location: testFile, config: testCfg, bptestCfg: bptestCfg})
}
}
sort.SliceStable(eTests, func(i, j int) bool { return eTests[i].name < eTests[j].name })
return eTests, nil
}