func getExplicitTests()

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
}