mqliang commented on a change in pull request #6583:
URL: https://github.com/apache/incubator-pinot/pull/6583#discussion_r583157392



##########
File path: 
pinot-integration-tests/src/test/java/org/apache/pinot/compat/tests/QueryOp.java
##########
@@ -55,7 +73,87 @@ public void setExpectedResultsFileName(String 
expectedResultsFileName) {
 
   @Override
   boolean runOp() {
-    System.out.println("Verifying queries in " + _queryFileName + " against 
results in " + _expectedResultsFileName);
-    return true;
+    System.out.printf("Verifying queries in %s against results in %s\n", 
_queryFileName, _expectedResultsFileName);
+    try {
+      return verifyQueries();
+    } catch (Exception e) {
+      LOGGER.error("FAILED to verify queries in {}: {}", _queryFileName, e);
+      return false;
+    }
+  }
+
+  boolean verifyQueries()
+      throws Exception {
+    boolean testPassed = false;
+
+    try (BufferedReader queryReader = new BufferedReader(
+        new InputStreamReader(new FileInputStream(_queryFileName), 
StandardCharsets.UTF_8));
+        BufferedReader expectedResultReader = new BufferedReader(
+            new InputStreamReader(new 
FileInputStream(_expectedResultsFileName), StandardCharsets.UTF_8))) {
+
+      int passed = 0;

Review comment:
       done

##########
File path: 
pinot-integration-tests/src/test/java/org/apache/pinot/compat/tests/QueryOp.java
##########
@@ -55,7 +73,87 @@ public void setExpectedResultsFileName(String 
expectedResultsFileName) {
 
   @Override
   boolean runOp() {
-    System.out.println("Verifying queries in " + _queryFileName + " against 
results in " + _expectedResultsFileName);
-    return true;
+    System.out.printf("Verifying queries in %s against results in %s\n", 
_queryFileName, _expectedResultsFileName);
+    try {
+      return verifyQueries();
+    } catch (Exception e) {
+      LOGGER.error("FAILED to verify queries in {}: {}", _queryFileName, e);
+      return false;
+    }
+  }
+
+  boolean verifyQueries()
+      throws Exception {
+    boolean testPassed = false;
+
+    try (BufferedReader queryReader = new BufferedReader(
+        new InputStreamReader(new FileInputStream(_queryFileName), 
StandardCharsets.UTF_8));
+        BufferedReader expectedResultReader = new BufferedReader(
+            new InputStreamReader(new 
FileInputStream(_expectedResultsFileName), StandardCharsets.UTF_8))) {
+
+      int passed = 0;
+      int total = 0;
+      int queryLineNum = 0;
+      String query;
+
+      while ((query = queryReader.readLine()) != null) {
+        queryLineNum++;
+        if (shouldIgnore(query)) {
+          continue;
+        }
+
+        JsonNode expectedJson = null;
+        try {
+          String expectedResultLine = expectedResultReader.readLine();
+          while (shouldIgnore(expectedResultLine)) {
+            expectedResultLine = expectedResultReader.readLine();
+          }
+          expectedJson = JsonUtils.stringToJsonNode(expectedResultLine);
+        } catch (Exception e) {
+          LOGGER.error("Comparison FAILED: Line: {} Exception caught while 
getting expected response for query: '{}'",
+              queryLineNum, query, e);
+        }
+
+        JsonNode actualJson = null;
+        if (expectedJson != null) {
+          try {
+            actualJson = QueryProcessor.postSqlQuery(query);
+          } catch (Exception e) {
+            LOGGER.error("Comparison FAILED: Line: {} Exception caught while 
running query: '{}'", queryLineNum, query,
+                e);
+          }
+        }
+
+        if (expectedJson != null && actualJson != null) {
+          try {
+            boolean comparisonResult = 
SqlResultComparator.areEqual(actualJson, expectedJson, query);

Review comment:
       done

##########
File path: 
pinot-integration-tests/src/test/java/org/apache/pinot/compat/tests/QueryOp.java
##########
@@ -55,7 +73,87 @@ public void setExpectedResultsFileName(String 
expectedResultsFileName) {
 
   @Override
   boolean runOp() {
-    System.out.println("Verifying queries in " + _queryFileName + " against 
results in " + _expectedResultsFileName);
-    return true;
+    System.out.printf("Verifying queries in %s against results in %s\n", 
_queryFileName, _expectedResultsFileName);
+    try {
+      return verifyQueries();
+    } catch (Exception e) {
+      LOGGER.error("FAILED to verify queries in {}: {}", _queryFileName, e);
+      return false;
+    }
+  }
+
+  boolean verifyQueries()
+      throws Exception {
+    boolean testPassed = false;
+
+    try (BufferedReader queryReader = new BufferedReader(
+        new InputStreamReader(new FileInputStream(_queryFileName), 
StandardCharsets.UTF_8));
+        BufferedReader expectedResultReader = new BufferedReader(
+            new InputStreamReader(new 
FileInputStream(_expectedResultsFileName), StandardCharsets.UTF_8))) {
+
+      int passed = 0;
+      int total = 0;
+      int queryLineNum = 0;
+      String query;
+
+      while ((query = queryReader.readLine()) != null) {
+        queryLineNum++;
+        if (shouldIgnore(query)) {
+          continue;
+        }
+
+        JsonNode expectedJson = null;
+        try {
+          String expectedResultLine = expectedResultReader.readLine();
+          while (shouldIgnore(expectedResultLine)) {
+            expectedResultLine = expectedResultReader.readLine();
+          }
+          expectedJson = JsonUtils.stringToJsonNode(expectedResultLine);
+        } catch (Exception e) {
+          LOGGER.error("Comparison FAILED: Line: {} Exception caught while 
getting expected response for query: '{}'",
+              queryLineNum, query, e);
+        }
+
+        JsonNode actualJson = null;
+        if (expectedJson != null) {
+          try {
+            actualJson = QueryProcessor.postSqlQuery(query);
+          } catch (Exception e) {
+            LOGGER.error("Comparison FAILED: Line: {} Exception caught while 
running query: '{}'", queryLineNum, query,
+                e);
+          }
+        }
+
+        if (expectedJson != null && actualJson != null) {
+          try {
+            boolean comparisonResult = 
SqlResultComparator.areEqual(actualJson, expectedJson, query);
+            if (comparisonResult) {
+              passed++;
+              LOGGER.info("Comparison PASSED: Line: {} actual Time: {} ms 
expected Time: {} ms Docs Scanned: {}",

Review comment:
       done

##########
File path: 
pinot-integration-tests/src/test/java/org/apache/pinot/compat/tests/SegmentOp.java
##########
@@ -67,8 +68,7 @@
   private static final int DEFAULT_SLEEP_INTERVAL_MS = 200;
 
   public enum Op {
-    UPLOAD,
-    DELETE
+    UPLOAD, DELETE

Review comment:
       done




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to