Reviewers: Søren Gjesse,
Description:
Fix EVEN number of bugs in already passing test
Please review this at http://codereview.chromium.org/552043
Affected files:
M test/cctest/test-debug.cc
Index: test/cctest/test-debug.cc
diff --git a/test/cctest/test-debug.cc b/test/cctest/test-debug.cc
index
d03785056d385f6f901e6ef6f2aa20070931ecf7..7c3a15f16bef7b0099d79ed2c9e2fd8bfae9e40e
100644
--- a/test/cctest/test-debug.cc
+++ b/test/cctest/test-debug.cc
@@ -2197,13 +2197,25 @@ int Utf16ToAscii(const uint16_t* input_buffer, int
length,
// We match parts of the message to get evaluate result int value.
bool GetEvaluateStringResult(char *message, char* buffer, int buffer_size)
{
- const char* value = "\"value\":";
- char* pos = strstr(message, value);
- if (pos == NULL) {
+ if (strstr(message, "\"command\":\"evaluate\"") == NULL) {
+ return false;
+ }
+ const char* prefix = "\"text\":\"";
+ char* pos1 = strstr(message, prefix);
+ if (pos1 == NULL) {
+ return false;
+ }
+ pos1 += strlen(prefix);
+ char* pos2 = strchr(pos1, '"');
+ if (pos2 == NULL) {
return false;
}
- Vector<char> buf(buffer, buffer_size - 1);
- OS::StrNCpy(buf, pos, buffer_size);
+ Vector<char> buf(buffer, buffer_size);
+ int len = pos2 - pos1;
+ if (len > buffer_size - 1) {
+ len = buffer_size - 1;
+ }
+ OS::StrNCpy(buf, pos1, len);
return true;
}
@@ -2302,9 +2314,9 @@ TEST(DebugEvaluateWithoutStack) {
CHECK_EQ(3, process_debug_messages_data.counter);
- CHECK(strcmp("Pinguin", process_debug_messages_data.results[0].buffer));
- CHECK(strcmp("Captbara", process_debug_messages_data.results[1].buffer));
- CHECK(strcmp("805", process_debug_messages_data.results[2].buffer));
+ CHECK(strcmp("Pinguin", process_debug_messages_data.results[0].buffer)
== 0);
+ CHECK(strcmp("Capybara", process_debug_messages_data.results[1].buffer)
== 0);
+ CHECK(strcmp("805", process_debug_messages_data.results[2].buffer) == 0);
v8::Debug::SetMessageHandler(NULL);
v8::Debug::SetDebugEventListener(NULL);
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev