func getDiscoveredTests()

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
}