diff --git a/src/main.go b/src/main.go index d971b8a..b7e1514 100644 --- a/src/main.go +++ b/src/main.go @@ -248,7 +248,7 @@ func (t *tester) preProcess() { log.Fatalf("Open db err %v", err) } - log.Warn("Create new db", mdb) + log.Debug("Create new db", mdb) if _, err = mdb.Exec(fmt.Sprintf("create database `%s`", t.name)); err != nil { log.Fatalf("Executing create db %s err[%v]", t.name, err) @@ -538,12 +538,8 @@ func (t *tester) concurrentExecute(querys []query, wg *sync.WaitGroup, errOccure } return } -func (t *tester) loadQueries() ([]query, error) { - data, err := ioutil.ReadFile(t.testFileName()) - if err != nil { - return nil, err - } +func parseQueryLines(data []byte) []query { seps := bytes.Split(data, []byte("\n")) queries := make([]query, 0, len(seps)) newStmt := true @@ -573,7 +569,16 @@ func (t *tester) loadQueries() ([]query, error) { // if the line has a ; in the end, we will treat new line as the new statement. newStmt = strings.HasSuffix(s, ";") } + return queries +} +func (t *tester) loadQueries() ([]query, error) { + data, err := ioutil.ReadFile(t.testFileName()) + if err != nil { + return nil, err + } + + queries := parseQueryLines(data) return ParseQueries(queries...) } @@ -1072,6 +1077,11 @@ func consumeError() []error { func main() { flag.Parse() tests := flag.Args() + intLogLevel, err := log.ParseLevel(logLevel) + if err != nil { + log.Fatal(err) + } + log.SetLevel(intLogLevel) startTime := time.Now() if xmlPath != "" { @@ -1079,19 +1089,19 @@ func main() { if err == nil { err = os.Remove(xmlPath) if err != nil { - log.Errorf("drop previous xunit file fail: ", err) + log.Errorf("drop previous xunit file fail: %v", err) os.Exit(1) } } xmlFile, err = os.Create(xmlPath) if err != nil { - log.Errorf("create xunit file fail:", err) + log.Errorf("create xunit file fail: %v", err) os.Exit(1) } xmlFile, err = os.OpenFile(xmlPath, os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0600) if err != nil { - log.Errorf("open xunit file fail:", err) + log.Errorf("open xunit file fail: %v", err) os.Exit(1) } @@ -1113,7 +1123,7 @@ func main() { }) err := Write(xmlFile, testSuite) if err != nil { - log.Errorf("Write xunit file fail:", err) + log.Errorf("Write xunit file fail: %v", err) } } }() diff --git a/src/query_test.go b/src/query_test.go index bc54a19..7406bc6 100644 --- a/src/query_test.go +++ b/src/query_test.go @@ -29,16 +29,16 @@ func assertEqual(t *testing.T, a interface{}, b interface{}, message string) { } func TestParseQueryies(t *testing.T) { - query := "select * from t;" - if q, err := ParseQueries(query); err == nil { + query := []byte("select * from t;") + if q, err := ParseQueries(parseQueryLines(query)...); err == nil { assertEqual(t, q[0].tp, Q_QUERY, fmt.Sprintf("Expected: %d, got: %d", Q_QUERY, q[0].tp)) - assertEqual(t, q[0].Query, query, fmt.Sprintf("Expected: %s, got: %s", query, q[0].Query)) + assertEqual(t, q[0].Query, string(query), fmt.Sprintf("Expected: %s, got: %s", query, q[0].Query)) } else { t.Fatalf("error is not nil. %v", err) } - query = "--sorted_result select * from t;" - if q, err := ParseQueries(query); err == nil { + query = []byte("--sorted_result select * from t;") + if q, err := ParseQueries(parseQueryLines(query)...); err == nil { assertEqual(t, q[0].tp, Q_SORTED_RESULT, "sorted_result") assertEqual(t, q[0].Query, "select * from t;", fmt.Sprintf("Expected: '%s', got '%s'", "select * from t;", q[0].Query)) } else { @@ -46,8 +46,8 @@ func TestParseQueryies(t *testing.T) { } // invalid comment command style - query = "--abc select * from t;" - _, err := ParseQueries(query) + query = []byte("--abc select * from t;") + _, err := ParseQueries(parseQueryLines(query)...) assertEqual(t, err, ErrInvalidCommand, fmt.Sprintf("Expected: %v, got %v", ErrInvalidCommand, err)) } diff --git a/src/xml.go b/src/xml.go index 12f453a..0f5a13f 100644 --- a/src/xml.go +++ b/src/xml.go @@ -63,7 +63,7 @@ func Write(out io.Writer, testSuite XUnitTestSuite) error { testSuites.Suites = append(testSuites.Suites, testSuite) _, err := out.Write([]byte(xml.Header)) if err != nil { - log.Errorf("write xunit file fail:", err) + log.Errorf("write xunit file fail: %v", err) return err } doc, err := xml.MarshalIndent(testSuites, "", "\t")