func mergeApiTestTraceFiles()

in report/api_test_report.go [135:162]


func mergeApiTestTraceFiles(wd string, traceLogPath string) error {
	if err := os.RemoveAll(traceLogPath); err != nil {
		return fmt.Errorf("error removing test trace dir %s: %+v", traceLogPath, err)
	}

	if err := os.MkdirAll(traceLogPath, 0755); err != nil {
		return fmt.Errorf("error creating test report dir %s: %+v", traceLogPath, err)
	}

	dirs, err := os.ReadDir(wd)
	if err != nil {
		return fmt.Errorf("failed to read working directory: %+v", err)
	}
	for _, d := range dirs {
		if !d.IsDir() {
			continue
		}
		traceDir := filepath.Join(wd, d.Name(), TraceLogDirName)
		if utils.Exists(traceDir) && traceDir != traceLogPath {
			err := utils.CopyWithOptions(traceDir, traceLogPath, fmt.Sprintf("%s-", d.Name()))
			if err != nil {
				return fmt.Errorf("failed to copy trace files: %+v", err)
			}
		}
	}

	return nil
}