| Index: test/cctest/test-cpu-profiler.cc
|
| diff --git a/test/cctest/test-cpu-profiler.cc b/test/cctest/test-cpu-profiler.cc
|
| index ac5fe86b60677f5fc12c4c78bac9a6c3390abdbb..2eece46230eb565fd17c815980384457fc383ee3 100644
|
| --- a/test/cctest/test-cpu-profiler.cc
|
| +++ b/test/cctest/test-cpu-profiler.cc
|
| @@ -466,12 +466,12 @@ static const char* cpu_profiler_test_source = "function loop(timeout) {\n"
|
| " baz();\n"
|
| " } catch (e) { }\n"
|
| "}\n"
|
| -"function start() {\n"
|
| +"function start(timeout) {\n"
|
| " var start = Date.now();\n"
|
| " do {\n"
|
| " foo();\n"
|
| " var duration = Date.now() - start;\n"
|
| -" } while (duration < 200);\n"
|
| +" } while (duration < timeout);\n"
|
| " return duration;\n"
|
| "}\n";
|
|
|
| @@ -505,7 +505,14 @@ TEST(CollectCpuProfile) {
|
| v8::Local<v8::String> profile_name = v8::String::New("my_profile");
|
|
|
| cpu_profiler->StartCpuProfiling(profile_name);
|
| - function->Call(env->Global(), 0, 0);
|
| + int32_t profiling_interval_ms = 200;
|
| +#if defined(_WIN32) || defined(_WIN64)
|
| + // 200ms is not enough on Windows. See
|
| + // https://code.google.com/p/v8/issues/detail?id=2628
|
| + profiling_interval_ms = 500;
|
| +#endif
|
| + v8::Handle<v8::Value> args[] = { v8::Integer::New(profiling_interval_ms) };
|
| + function->Call(env->Global(), ARRAY_SIZE(args), args);
|
| const v8::CpuProfile* profile = cpu_profiler->StopCpuProfiling(profile_name);
|
|
|
| CHECK_NE(NULL, profile);
|
|
|