| Index: runtime/vm/service_test.cc
|
| diff --git a/runtime/vm/service_test.cc b/runtime/vm/service_test.cc
|
| index 0e215abd41ec085affcc584e1ad41372f151ec37..8ca0803d3cd366a0bc3dd6de55970c0416e589ed 100644
|
| --- a/runtime/vm/service_test.cc
|
| +++ b/runtime/vm/service_test.cc
|
| @@ -1104,6 +1104,45 @@ TEST_CASE(Service_AllocationProfile) {
|
| Service::HandleIsolateMessage(isolate, service_msg);
|
| handler.HandleNextMessage();
|
| EXPECT_SUBSTRING("\"type\":\"AllocationProfile\"", handler.msg());
|
| +
|
| + // Too long.
|
| + service_msg = Eval(h_lib, "[port, ['allocationprofile', 'foo'], [], []]");
|
| + Service::HandleIsolateMessage(isolate, service_msg);
|
| + handler.HandleNextMessage();
|
| + EXPECT_SUBSTRING("\"type\":\"Error\"", handler.msg());
|
| +
|
| + // Bad gc option.
|
| + service_msg = Eval(h_lib, "[port, ['allocationprofile'], ['gc'], ['cat']]");
|
| + Service::HandleIsolateMessage(isolate, service_msg);
|
| + handler.HandleNextMessage();
|
| + EXPECT_SUBSTRING("\"type\":\"Error\"", handler.msg());
|
| +
|
| + // Bad reset option.
|
| + service_msg = Eval(h_lib, "[port, ['allocationprofile'], ['reset'], ['ff']]");
|
| + Service::HandleIsolateMessage(isolate, service_msg);
|
| + handler.HandleNextMessage();
|
| + EXPECT_SUBSTRING("\"type\":\"Error\"", handler.msg());
|
| +
|
| + // Good reset.
|
| + service_msg =
|
| + Eval(h_lib, "[port, ['allocationprofile'], ['reset'], ['true']]");
|
| + Service::HandleIsolateMessage(isolate, service_msg);
|
| + handler.HandleNextMessage();
|
| + EXPECT_SUBSTRING("\"type\":\"AllocationProfile\"", handler.msg());
|
| +
|
| + // Good GC.
|
| + service_msg =
|
| + Eval(h_lib, "[port, ['allocationprofile'], ['gc'], ['full']]");
|
| + Service::HandleIsolateMessage(isolate, service_msg);
|
| + handler.HandleNextMessage();
|
| + EXPECT_SUBSTRING("\"type\":\"AllocationProfile\"", handler.msg());
|
| +
|
| + // Good GC and reset.
|
| + service_msg = Eval(h_lib,
|
| + "[port, ['allocationprofile'], ['gc', 'reset'], ['full', 'true']]");
|
| + Service::HandleIsolateMessage(isolate, service_msg);
|
| + handler.HandleNextMessage();
|
| + EXPECT_SUBSTRING("\"type\":\"AllocationProfile\"", handler.msg());
|
| }
|
|
|
|
|
|
|