Index: test/cctest/test-log.cc |
diff --git a/test/cctest/test-log.cc b/test/cctest/test-log.cc |
index 5704b07ace5fce9fe2e89027b5a92973477253df..262e7bb505264909b277ecc406d2f9cf30028ac4 100644 |
--- a/test/cctest/test-log.cc |
+++ b/test/cctest/test-log.cc |
@@ -12,6 +12,7 @@ |
#include "v8.h" |
#include "log.h" |
#include "cpu-profiler.h" |
+#include "natives.h" |
#include "v8threads.h" |
#include "v8utils.h" |
#include "cctest.h" |
@@ -469,6 +470,8 @@ TEST(IsLoggingPreserved) { |
} |
+typedef i::NativesCollection<i::TEST> TestSources; |
+ |
// Test that logging of code create / move / delete events |
// is equivalent to traversal of a resulting heap. |
TEST(EquivalenceOfLoggingAndTraversal) { |
@@ -505,38 +508,25 @@ TEST(EquivalenceOfLoggingAndTraversal) { |
v8::Handle<v8::String> log_str = v8::String::New(log.start(), log.length()); |
initialize_logger.env()->Global()->Set(v8_str("_log"), log_str); |
- const char* scripts[] = { |
- "tools/splaytree.js", "tools/codemap.js", "tools/csvparser.js", |
- "tools/consarray.js", "tools/profile.js", "tools/profile_view.js", |
- "tools/logreader.js", "test/cctest/log-eq-of-logging-and-traversal.js" |
- }; |
- int scripts_count = sizeof(scripts) / sizeof(scripts[0]); |
- v8::Handle<v8::Value> last_result; |
- for (int i = 0; i < scripts_count; ++i) { |
- bool exists = true; |
- i::Vector<const char> source(i::ReadFile(scripts[i], &exists, true)); |
- CHECK(exists); |
- CHECK_GT(source.length(), 0); |
- v8::Handle<v8::String> source_str = |
- v8::String::New(source.start(), source.length()); |
- v8::TryCatch try_catch; |
- v8::Handle<v8::Script> script = |
- v8::Script::Compile(source_str, v8_str(scripts[i])); |
- if (script.IsEmpty()) { |
- v8::String::Utf8Value exception(try_catch.Exception()); |
- printf("compile %s: %s\n", scripts[i], *exception); |
- CHECK(false); |
- } |
- last_result = script->Run(); |
- if (last_result.IsEmpty()) { |
- v8::String::Utf8Value exception(try_catch.Exception()); |
- printf("run %s: %s\n", scripts[i], *exception); |
- CHECK(false); |
- } |
+ i::Vector<const unsigned char> source = TestSources::GetScriptsSource(); |
+ v8::Handle<v8::String> source_str = v8::String::New( |
+ reinterpret_cast<const char*>(source.start()), source.length()); |
+ v8::TryCatch try_catch; |
+ v8::Handle<v8::Script> script = v8::Script::Compile(source_str, v8_str("")); |
+ if (script.IsEmpty()) { |
+ v8::String::Utf8Value exception(try_catch.Exception()); |
+ printf("compile: %s\n", *exception); |
+ CHECK(false); |
+ } |
+ v8::Handle<v8::Value> result = script->Run(); |
+ if (result.IsEmpty()) { |
+ v8::String::Utf8Value exception(try_catch.Exception()); |
+ printf("run: %s\n", *exception); |
+ CHECK(false); |
} |
// The result either be a "true" literal or problem description. |
- if (!last_result->IsTrue()) { |
- v8::Local<v8::String> s = last_result->ToString(); |
+ if (!result->IsTrue()) { |
+ v8::Local<v8::String> s = result->ToString(); |
i::ScopedVector<char> data(s->Length() + 1); |
CHECK_NE(NULL, data.start()); |
s->WriteAscii(data.start()); |