Changeset 225861 in webkit for trunk/Source/JavaScriptCore/testRegExp.cpp
- Timestamp:
- Dec 13, 2017, 11:38:51 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/testRegExp.cpp
r225695 r225861 316 316 } 317 317 318 static RegExp* parseRegExpLine(VM& vm, char* line, int lineLength , const char** regexpError)318 static RegExp* parseRegExpLine(VM& vm, char* line, int lineLength) 319 319 { 320 320 StringBuilder pattern; 321 321 322 322 if (line[0] != '/') 323 323 return 0; … … 331 331 332 332 RegExp* r = RegExp::create(vm, pattern.toString(), regExpFlags(line + i)); 333 if (!r->isValid()) { 334 *regexpError = r->errorMessage(); 335 return nullptr; 336 } 337 return r; 333 if (r->isValid()) 334 return r; 335 return nullptr; 338 336 } 339 337 … … 434 432 char* linePtr = 0; 435 433 unsigned int lineNumber = 0; 436 const char* regexpError = nullptr;437 434 438 435 while ((linePtr = fgets(&lineBuffer[0], MaxLineLength, testCasesFile))) { … … 448 445 449 446 if (linePtr[0] == '/') { 450 regexp = parseRegExpLine(vm, linePtr, lineLength, ®expError); 451 if (!regexp) { 452 failures++; 453 fprintf(stderr, "Failure on line %u. '%s' %s\n", lineNumber, linePtr, regexpError); 454 } 447 regexp = parseRegExpLine(vm, linePtr, lineLength); 455 448 } else if (linePtr[0] == ' ') { 456 449 RegExpTest* regExpTest = parseTestLine(linePtr, lineLength); … … 469 462 tests++; 470 463 regexp = 0; // Reset the live regexp to avoid confusing other subsequent tests 471 bool successfullyParsed = parseRegExpLine(vm, linePtr + 1, lineLength - 1 , ®expError);464 bool successfullyParsed = parseRegExpLine(vm, linePtr + 1, lineLength - 1); 472 465 if (successfullyParsed) { 473 466 failures++; 474 fprintf(stderr, "Failure on line %u. '%s' %s\n", lineNumber, linePtr + 1, regexpError);467 fprintf(stderr, "Failure on line %u. '%s' is not a valid regexp\n", lineNumber, linePtr + 1); 475 468 } 476 469 }
Note:
See TracChangeset
for help on using the changeset viewer.