| 296 | } |
| 297 | |
| 298 | TestStatement 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: { |
nothing calls this directly
no test coverage detected