in commands/verify/verify.go [70:98]
func verifySingleCase(expectedFile, actualFile, query string) error {
expectedData, err := util.ReadFileContent(expectedFile)
if err != nil {
return fmt.Errorf("failed to read the expected data file: %v", err)
}
var actualData, sourceName, stderr string
if actualFile != "" {
sourceName = actualFile
actualData, err = util.ReadFileContent(actualFile)
if err != nil {
return fmt.Errorf("failed to read the actual data file: %v", err)
}
} else if query != "" {
sourceName = query
actualData, stderr, err = util.ExecuteCommand(query)
if err != nil {
return fmt.Errorf("failed to execute the query: %s, output: %s, error: %v", query, actualData, stderr)
}
}
if err = verifier.Verify(actualData, expectedData); err != nil {
if me, ok := err.(*verifier.MismatchError); ok {
return fmt.Errorf("failed to verify the output: %s, error:\n%v", sourceName, me.Error())
}
return fmt.Errorf("failed to verify the output: %s, error:\n%v", sourceName, err)
}
return nil
}