| Index: runtime/vm/dart_api_impl_test.cc
|
| diff --git a/runtime/vm/dart_api_impl_test.cc b/runtime/vm/dart_api_impl_test.cc
|
| index 4be3fa900393a10a18c4aab80a8e2d2a7e1cc36f..d8d4fb05b2af148d16d1404a7101366aa00b5c43 100644
|
| --- a/runtime/vm/dart_api_impl_test.cc
|
| +++ b/runtime/vm/dart_api_impl_test.cc
|
| @@ -14,6 +14,7 @@
|
| #include "vm/dart_api_impl.h"
|
| #include "vm/dart_api_state.h"
|
| #include "vm/lockers.h"
|
| +#include "vm/timeline.h"
|
| #include "vm/unit_test.h"
|
| #include "vm/verifier.h"
|
|
|
| @@ -9190,7 +9191,7 @@ TEST_CASE(StringFromExternalTypedData) {
|
| TEST_CASE(Timeline_Dart_TimelineDuration) {
|
| Isolate* isolate = Isolate::Current();
|
| // Grab embedder stream.
|
| - TimelineStream* stream = isolate->GetEmbedderStream();
|
| + TimelineStream* stream = Timeline::GetEmbedderStream();
|
| // Make sure it is enabled.
|
| stream->set_enabled(true);
|
| // Add a duration event.
|
| @@ -9208,7 +9209,7 @@ TEST_CASE(Timeline_Dart_TimelineDuration) {
|
| TEST_CASE(Timeline_Dart_TimelineInstant) {
|
| Isolate* isolate = Isolate::Current();
|
| // Grab embedder stream.
|
| - TimelineStream* stream = isolate->GetEmbedderStream();
|
| + TimelineStream* stream = Timeline::GetEmbedderStream();
|
| // Make sure it is enabled.
|
| stream->set_enabled(true);
|
| Dart_TimelineInstant("testInstantEvent");
|
| @@ -9223,9 +9224,8 @@ TEST_CASE(Timeline_Dart_TimelineInstant) {
|
|
|
|
|
| TEST_CASE(Timeline_Dart_TimelineAsyncDisabled) {
|
| - Isolate* isolate = Isolate::Current();
|
| // Grab embedder stream.
|
| - TimelineStream* stream = isolate->GetEmbedderStream();
|
| + TimelineStream* stream = Timeline::GetEmbedderStream();
|
| // Make sure it is disabled.
|
| stream->set_enabled(false);
|
| int64_t async_id = -1;
|
| @@ -9247,7 +9247,7 @@ TEST_CASE(Timeline_Dart_TimelineAsyncDisabled) {
|
| TEST_CASE(Timeline_Dart_TimelineAsync) {
|
| Isolate* isolate = Isolate::Current();
|
| // Grab embedder stream.
|
| - TimelineStream* stream = isolate->GetEmbedderStream();
|
| + TimelineStream* stream = Timeline::GetEmbedderStream();
|
| // Make sure it is enabled.
|
| stream->set_enabled(true);
|
| int64_t async_id = -1;
|
| @@ -9315,7 +9315,7 @@ TEST_CASE(Timeline_Dart_TimelineGetTrace) {
|
| bool success = false;
|
|
|
| // Enable recording of all streams.
|
| - Dart_TimelineSetRecordedStreams(DART_TIMELINE_STREAM_ALL);
|
| + Dart_GlobalTimelineSetRecordedStreams(DART_TIMELINE_STREAM_ALL);
|
|
|
| // Invoke main, which will be compiled resulting in a compiler event in
|
| // the timeline.
|
| @@ -9327,7 +9327,7 @@ TEST_CASE(Timeline_Dart_TimelineGetTrace) {
|
|
|
| // Grab the trace.
|
| AppendData data;
|
| - success = Dart_TimelineGetTrace(AppendStreamConsumer, &data);
|
| + success = Dart_GlobalTimelineGetTrace(AppendStreamConsumer, &data);
|
| EXPECT(success);
|
| buffer = reinterpret_cast<char*>(data.buffer);
|
| buffer_length = data.buffer_length;
|
| @@ -9367,7 +9367,7 @@ TEST_CASE(Timeline_Dart_TimelineGetTraceOnlyDartEvents) {
|
| bool success = false;
|
|
|
| // Enable recording of the Dart stream.
|
| - Dart_TimelineSetRecordedStreams(DART_TIMELINE_STREAM_DART);
|
| + Dart_GlobalTimelineSetRecordedStreams(DART_TIMELINE_STREAM_DART);
|
|
|
| // Invoke main, which will add a new timeline event from Dart.
|
| Dart_Handle result = Dart_Invoke(lib,
|
| @@ -9380,7 +9380,7 @@ TEST_CASE(Timeline_Dart_TimelineGetTraceOnlyDartEvents) {
|
| AppendData data;
|
| data.buffer = NULL;
|
| data.buffer_length = 0;
|
| - success = Dart_TimelineGetTrace(AppendStreamConsumer, &data);
|
| + success = Dart_GlobalTimelineGetTrace(AppendStreamConsumer, &data);
|
| EXPECT(success);
|
| buffer = reinterpret_cast<char*>(data.buffer);
|
| buffer_length = data.buffer_length;
|
| @@ -9419,7 +9419,7 @@ TEST_CASE(Timeline_Dart_TimelineGetTraceWithDartEvents) {
|
| bool success = false;
|
|
|
| // Enable recording of all streams.
|
| - Dart_TimelineSetRecordedStreams(DART_TIMELINE_STREAM_ALL);
|
| + Dart_GlobalTimelineSetRecordedStreams(DART_TIMELINE_STREAM_ALL);
|
|
|
| // Invoke main, which will be compiled resulting in a compiler event in
|
| // the timeline.
|
| @@ -9431,7 +9431,7 @@ TEST_CASE(Timeline_Dart_TimelineGetTraceWithDartEvents) {
|
|
|
| // Grab the trace.
|
| AppendData data;
|
| - success = Dart_TimelineGetTrace(AppendStreamConsumer, &data);
|
| + success = Dart_GlobalTimelineGetTrace(AppendStreamConsumer, &data);
|
| EXPECT(success);
|
| buffer = reinterpret_cast<char*>(data.buffer);
|
| buffer_length = data.buffer_length;
|
| @@ -9480,7 +9480,7 @@ TEST_CASE(Timeline_Dart_TimelineGetTraceGlobalOverride) {
|
|
|
| // Grab the trace.
|
| AppendData data;
|
| - success = Dart_TimelineGetTrace(AppendStreamConsumer, &data);
|
| + success = Dart_GlobalTimelineGetTrace(AppendStreamConsumer, &data);
|
| EXPECT(success);
|
| buffer = reinterpret_cast<char*>(data.buffer);
|
| buffer_length = data.buffer_length;
|
| @@ -9503,6 +9503,16 @@ TEST_CASE(Timeline_Dart_TimelineGetTraceGlobalOverride) {
|
| }
|
|
|
|
|
| +static const char* arg_names[] = {
|
| + "arg0"
|
| +};
|
| +
|
| +
|
| +static const char* arg_values[] = {
|
| + "value0"
|
| +};
|
| +
|
| +
|
| TEST_CASE(Timeline_Dart_GlobalTimelineGetTrace) {
|
| const char* kScriptChars =
|
| "bar() => 'z';\n"
|
| @@ -9520,6 +9530,17 @@ TEST_CASE(Timeline_Dart_GlobalTimelineGetTrace) {
|
| lib = TestCase::LoadTestScript(kScriptChars, NULL);
|
| }
|
|
|
| + {
|
| + // Add something to the embedder stream.
|
| + Dart_TimelineEvent("TRACE_EVENT",
|
| + Dart_TimelineGetMicros(),
|
| + 0,
|
| + Dart_Timeline_Event_Begin,
|
| + 1,
|
| + &arg_names[0],
|
| + &arg_values[0]);
|
| + }
|
| +
|
| // Invoke main, which will be compiled resulting in a compiler event in
|
| // the timeline.
|
| Dart_Handle result = Dart_Invoke(lib,
|
| @@ -9559,6 +9580,9 @@ TEST_CASE(Timeline_Dart_GlobalTimelineGetTrace) {
|
| EXPECT_SUBSTRING("\"name\":\"CompileFunction\"", buffer);
|
| EXPECT_SUBSTRING("\"function\":\"::_main\"", buffer);
|
| EXPECT_NOTSUBSTRING("\"function\":\"::_bar\"", buffer);
|
| + EXPECT_SUBSTRING("TRACE_EVENT", buffer);
|
| + EXPECT_SUBSTRING("arg0", buffer);
|
| + EXPECT_SUBSTRING("value0", buffer);
|
|
|
| // Free buffer allocated by AppendStreamConsumer
|
| free(data.buffer);
|
| @@ -9786,7 +9810,7 @@ static void StopRecording() {
|
|
|
|
|
| TEST_CASE(Timeline_Dart_EmbedderTimelineStartStopRecording) {
|
| - Dart_SetEmbedderTimelineCallbacks(StartRecording, StopRecording, NULL);
|
| + Dart_SetEmbedderTimelineCallbacks(StartRecording, StopRecording);
|
|
|
| EXPECT(!start_called);
|
| EXPECT(!stop_called);
|
| @@ -9803,37 +9827,6 @@ TEST_CASE(Timeline_Dart_EmbedderTimelineStartStopRecording) {
|
| EXPECT(stop_called);
|
| }
|
|
|
| -static bool GetTimeline(Dart_StreamConsumer stream_consumer,
|
| - void* user_data) {
|
| - ASSERT(stream_consumer != NULL);
|
| - ASSERT(user_data != NULL);
|
| -
|
| - const char* test_string = "HELLO FROM EMBEDDER";
|
| - stream_consumer(Dart_StreamConsumer_kData,
|
| - "embedder.timeline",
|
| - reinterpret_cast<const uint8_t*>(test_string),
|
| - strlen(test_string),
|
| - user_data);
|
| - return true;
|
| -}
|
| -
|
| -TEST_CASE(Timeline_Dart_EmbedderTimelineGetTimeline) {
|
| - Dart_SetEmbedderTimelineCallbacks(NULL, NULL, GetTimeline);
|
| -
|
| - Dart_GlobalTimelineSetRecordedStreams(DART_TIMELINE_STREAM_EMBEDDER);
|
| - Dart_TimelineDuration("testDurationEvent", 0, 1);
|
| -
|
| - AppendData data;
|
| - bool success = Dart_GlobalTimelineGetTrace(AppendStreamConsumer, &data);
|
| - EXPECT(success);
|
| -
|
| - EXPECT_SUBSTRING("}},HELLO FROM EMBEDDER",
|
| - data.buffer);
|
| -
|
| - // Free buffer allocated by AppendStreamConsumer
|
| - free(data.buffer);
|
| -}
|
| -
|
| #endif // !PRODUCT
|
|
|
| } // namespace dart
|
|
|