| 141 | } |
| 142 | |
| 143 | void TestRunner::testStatement(TestStatement& statement, Connection& conn, |
| 144 | const std::string& databasePath) { |
| 145 | if (statement.type == TestStatementType::LOG) { |
| 146 | spdlog::info("DEBUG LOG: {}", statement.logMessage); |
| 147 | return; |
| 148 | } |
| 149 | spdlog::info("QUERY: {}", statement.query); |
| 150 | StringUtils::replaceAll(statement.query, "${DATABASE_PATH}", getParentPath(databasePath)); |
| 151 | StringUtils::replaceAll(statement.query, "${LBUG_ROOT_DIRECTORY}", LBUG_ROOT_DIRECTORY); |
| 152 | replaceEnv(statement.query, "AZURE_PUBLIC_CONTAINER"); |
| 153 | replaceEnv(statement.query, "AZURE_ACCOUNT_NAME"); |
| 154 | replaceEnv(statement.query, "UW_S3_ACCESS_KEY_ID"); |
| 155 | replaceEnv(statement.query, "UW_S3_SECRET_ACCESS_KEY"); |
| 156 | replaceEnv(statement.query, "AWS_S3_ACCESS_KEY_ID"); |
| 157 | replaceEnv(statement.query, "AWS_S3_SECRET_ACCESS_KEY"); |
| 158 | replaceEnv(statement.query, "GCS_ACCESS_KEY_ID"); |
| 159 | replaceEnv(statement.query, "GCS_SECRET_ACCESS_KEY"); |
| 160 | replaceEnv(statement.query, "OLLAMA_URL"); |
| 161 | replaceEnv(statement.query, "POSTGRES_CONNECTION_STRING"); |
| 162 | replaceEnv(statement.query, "RUN_ID"); |
| 163 | const auto actualResult = conn.query(statement.query); |
| 164 | QueryResult* currentQueryResult = actualResult.get(); |
| 165 | idx_t resultIdx = 0u; |
| 166 | do { |
| 167 | if (TestHelper::REWRITE_TESTS) { |
| 168 | generateOutput(currentQueryResult, statement, resultIdx); |
| 169 | } else { |
| 170 | checkLogicalPlan(conn, currentQueryResult, statement, resultIdx); |
| 171 | } |
| 172 | currentQueryResult = currentQueryResult->getNextQueryResult(); |
| 173 | resultIdx++; |
| 174 | } while (currentQueryResult); |
| 175 | } |
| 176 | |
| 177 | void TestRunner::checkLogicalPlan(Connection& conn, QueryResult* queryResult, |
| 178 | TestStatement& statement, size_t resultIdx) { |
nothing calls this directly
no test coverage detected