Commit 84e90b2d authored by loislo's avatar loislo Committed by Commit bot

CpuProfiler: enable tests except four failing tests.

Four tests are failing due to a problem with no frame ranges.

BUG=
LOG=n

Committed: https://crrev.com/2be160e726f2be6272b77e53fbd556aded6024f1
Cr-Commit-Position: refs/heads/master@{#27035}

Review URL: https://codereview.chromium.org/976203003

Cr-Commit-Position: refs/heads/master@{#27116}
parent 36e69a91
......@@ -71,8 +71,17 @@
# The cpu profiler tests are notoriously flaky.
# BUG(2999). (test/cpu-profiler/CollectCpuProfile)
# BUG(3287). (test-cpu-profiler/SampleWhenFrameIsNotSetup)
'test-cpu-profiler/*': [PASS, FLAKY],
'test-cpu-profiler/*': [SKIP],
'test-cpu-profiler/CollectCpuProfile': [SKIP],
'test-cpu-profiler/CollectCpuProfileSamples': [SKIP],
'test-cpu-profiler/FunctionApplySample': [SKIP],
'test-cpu-profiler/FunctionCallSample': [SKIP],
'test-cpu-profiler/SampleWhenFrameIsNotSetup': [SKIP],
'test-cpu-profiler/HotDeoptNoFrameEntry': [SKIP],
'test-cpu-profiler/BoundFunctionCall': [SKIP],
'test-cpu-profiler/CpuProfileDeepStack': [SKIP],
'test-cpu-profiler/JsNativeJsSample': [SKIP],
'test-cpu-profiler/JsNativeJsRuntimeJsSample': [SKIP],
'test-cpu-profiler/JsNative1JsNative2JsSample': [SKIP],
# BUG(3525). Test crashes flakily.
'test-debug/RecursiveBreakpoints': [PASS, FLAKY],
......@@ -116,15 +125,14 @@
##############################################################################
['arch == arm64', {
'test-cpu-profiler/CollectDeoptEvents': [PASS, FAIL],
'test-api/Bug618': [PASS],
# BUG(v8:3385).
'test-serialize/DeserializeFromSecondSerialization': [PASS, FAIL],
'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [PASS, FAIL],
# BUG(v8:2999).
'test-cpu-profiler/CollectCpuProfile': [PASS, FAIL],
# BUG(v8:3154).
'test-heap/ReleaseOverReservedPages': [PASS, FAIL],
......@@ -182,18 +190,12 @@
##############################################################################
['system == windows', {
# BUG(2999).
'test-cpu-profiler/CollectCpuProfile': [PASS, FAIL],
# BUG(3005).
'test-alloc/CodeRange': [PASS, FAIL],
# BUG(3331). Fails on windows.
'test-heap/NoWeakHashTableLeakWithIncrementalMarking': [SKIP],
# BUG(v8:3433). Crashes on windows.
'test-cpu-profiler/FunctionApplySample': [SKIP],
}], # 'system == windows'
##############################################################################
......@@ -208,6 +210,8 @@
##############################################################################
['arch == arm', {
'test-cpu-profiler/CollectDeoptEvents': [PASS, FAIL],
# BUG(355): Test crashes on ARM.
'test-log/ProfLazyMode': [SKIP],
......
......@@ -438,8 +438,7 @@ static v8::CpuProfile* RunProfiler(
static bool ContainsString(v8::Handle<v8::String> string,
const Vector<v8::Handle<v8::String> >& vector) {
for (int i = 0; i < vector.length(); i++) {
if (string->Equals(vector[i]))
return true;
if (string->Equals(vector[i])) return true;
}
return false;
}
......@@ -450,11 +449,25 @@ static void CheckChildrenNames(const v8::CpuProfileNode* node,
int count = node->GetChildrenCount();
for (int i = 0; i < count; i++) {
v8::Handle<v8::String> name = node->GetChild(i)->GetFunctionName();
CHECK(ContainsString(name, names));
if (!ContainsString(name, names)) {
char buffer[100];
i::SNPrintF(Vector<char>(buffer, arraysize(buffer)),
"Unexpected child '%s' found in '%s'",
*v8::String::Utf8Value(name),
*v8::String::Utf8Value(node->GetFunctionName()));
FATAL(buffer);
}
// Check that there are no duplicates.
for (int j = 0; j < count; j++) {
if (j == i) continue;
CHECK(!name->Equals(node->GetChild(j)->GetFunctionName()));
if (name->Equals(node->GetChild(j)->GetFunctionName())) {
char buffer[100];
i::SNPrintF(Vector<char>(buffer, arraysize(buffer)),
"Second child with the same name '%s' found in '%s'",
*v8::String::Utf8Value(name),
*v8::String::Utf8Value(node->GetFunctionName()));
FATAL(buffer);
}
}
}
}
......@@ -1074,10 +1087,10 @@ TEST(TickLines) {
CpuProfilesCollection* profiles = new CpuProfilesCollection(isolate->heap());
profiles->StartProfiling("", false);
ProfileGenerator generator(profiles);
ProfilerEventsProcessor* processor = new ProfilerEventsProcessor(
&generator, NULL, v8::base::TimeDelta::FromMicroseconds(100));
SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor(
&generator, NULL, v8::base::TimeDelta::FromMicroseconds(100)));
processor->Start();
CpuProfiler profiler(isolate, profiles, &generator, processor);
CpuProfiler profiler(isolate, profiles, &generator, processor.get());
// Enqueue code creation events.
i::Handle<i::String> str = factory->NewStringFromAsciiChecked(func_name);
......@@ -1087,7 +1100,7 @@ TEST(TickLines) {
*str, line, column);
// Enqueue a tick event to enable code events processing.
EnqueueTickSampleEvent(processor, code_address);
EnqueueTickSampleEvent(processor.get(), code_address);
processor->StopSynchronously();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment