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