| Index: runtime/vm/service_test.cc | 
| diff --git a/runtime/vm/service_test.cc b/runtime/vm/service_test.cc | 
| index 1bc8f66f4adc4bae81dfcf1a44a32a63d2f22f4e..bb326aa447c66076045e078d9ca374f3ef522801 100644 | 
| --- a/runtime/vm/service_test.cc | 
| +++ b/runtime/vm/service_test.cc | 
| @@ -1114,6 +1114,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()); | 
| } | 
|  | 
|  | 
|  |