in cli/bptest/list.go [53:83]
func getDiscoveredTests(intTestDir string) ([]bpTest, error) {
discoverTestFile := path.Join(intTestDir, discoverTestFilename)
// skip discovering tests if no discoverTestFile
_, err := os.Stat(discoverTestFile)
if err != nil {
if !errors.Is(err, os.ErrNotExist) {
return nil, err
}
Log.Warn(fmt.Sprintf("Skipping discovered test. %s not found.", discoverTestFilename))
return nil, nil
}
// if discoverTestFile is present, find auto discovered tests
tests := []bpTest{}
if discoverTestFile != "" {
discoverTestName, err := getDiscoverTestName(discoverTestFile)
if err != nil {
return nil, err
}
discoveredSubTests := discovery.FindTestConfigs(&testing.RuntimeT{}, intTestDir)
for testName, testCfg := range discoveredSubTests {
bptestCfg, err := discovery.GetTestConfig(path.Join(testCfg, discovery.DefaultTestConfigFilename))
if err != nil {
Log.Warn(fmt.Sprintf("error discovering BlueprintTest config: %v", err))
}
tests = append(tests, bpTest{name: fmt.Sprintf("%s/%s", discoverTestName, testName), config: testCfg, location: discoverTestFile, bptestCfg: bptestCfg})
}
}
sort.SliceStable(tests, func(i, j int) bool { return tests[i].name < tests[j].name })
return tests, nil
}