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

Method parseStatement

test/test_runner/test_parser.cpp:298–458  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

296}
297
298TestStatement TestParser::parseStatement(const std::string& testCaseName) {
299 TestStatement statement;
300 while (true) {
301 tokenize();
302 switch (currentToken.type) {
303 case TokenType::LOG: {
304 validateStatement(statement, testCaseName, line);
305 checkMinimumParams(1);
306 statement.logMessage = paramsToString(1);
307 replaceVariables(statement.logMessage);
308 statement.type = TestStatementType::LOG;
309 return statement;
310 }
311 case TokenType::BEGIN_CONCURRENT_EXECUTION: {
312 statement.connectionsStatusFlag = ConcurrentStatusFlag::BEGIN;
313 statement.type = TestStatementType::VALID;
314 return statement;
315 }
316 case TokenType::END_CONCURRENT_EXECUTION: {
317 statement.connectionsStatusFlag = ConcurrentStatusFlag::END;
318 statement.type = TestStatementType::VALID;
319 return statement;
320 }
321 case TokenType::SKIP_FSM_LEAK_CHECKER: {
322 statement.skipFSMLeakCheckerFlag = true;
323 statement.type = TestStatementType::VALID;
324 return statement;
325 }
326 case TokenType::RELOADDB: {
327 statement.reloadDBFlag = true;
328 statement.type = TestStatementType::VALID;
329 return statement;
330 }
331 case TokenType::CHECK_STORAGE_VERSION: {
332 statement.expectedStorageVersion = stoll(getParam(1));
333 statement.type = TestStatementType::VALID;
334 return statement;
335 }
336 case TokenType::SET_STORAGE_VERSION: {
337 statement.storageVersionToSet = stoll(getParam(1));
338 statement.type = TestStatementType::VALID;
339 return statement;
340 }
341 case TokenType::CREATE_DATASET_SCHEMA: {
342 validateStatement(statement, testCaseName, line);
343 statement.dataset = getParam(1);
344 statement.manualUseDataset = ManualUseDatasetFlag::SCHEMA;
345 statement.type = TestStatementType::VALID;
346 return statement;
347 }
348 case TokenType::INSERT_DATASET_BY_ROW: {
349 validateStatement(statement, testCaseName, line);
350 statement.dataset = getParam(1);
351 statement.manualUseDataset = ManualUseDatasetFlag::INSERT;
352 statement.type = TestStatementType::VALID;
353 return statement;
354 }
355 case TokenType::IMPORT_DATABASE: {

Callers

nothing calls this directly

Calls 6

validateStatementFunction · 0.85
getParamFunction · 0.85
setenvFunction · 0.85
TestExceptionClass · 0.85
resizeMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected