MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / testStatement

Method testStatement

test/test_runner/test_runner.cpp:143–175  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

141}
142
143void 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
177void TestRunner::checkLogicalPlan(Connection& conn, QueryResult* queryResult,
178 TestStatement& statement, size_t resultIdx) {

Callers

nothing calls this directly

Calls 5

getParentPathFunction · 0.85
replaceEnvFunction · 0.85
getNextQueryResultMethod · 0.80
queryMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected