| OLD | NEW | 
|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "base/json/json_reader.h" | 5 #include "base/json/json_reader.h" | 
| 6 #include "base/json/json_writer.h" | 6 #include "base/json/json_writer.h" | 
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" | 
| 8 #include "base/values.h" | 8 #include "base/values.h" | 
| 9 #include "content/browser/tracing/background_tracing_config_impl.h" | 9 #include "content/browser/tracing/background_tracing_config_impl.h" | 
| 10 #include "content/browser/tracing/background_tracing_rule.h" | 10 #include "content/browser/tracing/background_tracing_rule.h" | 
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 249   EXPECT_TRUE(config); | 249   EXPECT_TRUE(config); | 
| 250   EXPECT_EQ(config->tracing_mode(), BackgroundTracingConfig::PREEMPTIVE); | 250   EXPECT_EQ(config->tracing_mode(), BackgroundTracingConfig::PREEMPTIVE); | 
| 251   EXPECT_EQ(config->category_preset(), BackgroundTracingConfigImpl::BENCHMARK); | 251   EXPECT_EQ(config->category_preset(), BackgroundTracingConfigImpl::BENCHMARK); | 
| 252   EXPECT_EQ(config->rules().size(), 2u); | 252   EXPECT_EQ(config->rules().size(), 2u); | 
| 253   EXPECT_EQ(RuleToString(config->rules()[0]), | 253   EXPECT_EQ(RuleToString(config->rules()[0]), | 
| 254             "{\"rule\":\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\"," | 254             "{\"rule\":\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\"," | 
| 255             "\"trigger_name\":\"foo1\"}"); | 255             "\"trigger_name\":\"foo1\"}"); | 
| 256   EXPECT_EQ(RuleToString(config->rules()[1]), | 256   EXPECT_EQ(RuleToString(config->rules()[1]), | 
| 257             "{\"rule\":\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\"," | 257             "{\"rule\":\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\"," | 
| 258             "\"trigger_name\":\"foo2\"}"); | 258             "\"trigger_name\":\"foo2\"}"); | 
|  | 259 | 
|  | 260   config = ReadFromJSONString( | 
|  | 261       "{\"category\":\"BENCHMARK_DEEP\",\"configs\":[{\"rule\":" | 
|  | 262       "\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\",\"trigger_name\":" | 
|  | 263       "\"foo1\"}],\"disable_blink_features\":\"SlowerWeb1,SlowerWeb2\"," | 
|  | 264       "\"enable_blink_features\":\"FasterWeb1,FasterWeb2\"," | 
|  | 265       "\"mode\":\"PREEMPTIVE_TRACING_MODE\"," | 
|  | 266       "\"scenario_name\":\"my_awesome_experiment\"}"); | 
|  | 267   EXPECT_EQ(config->enable_blink_features(), "FasterWeb1,FasterWeb2"); | 
|  | 268   EXPECT_EQ(config->disable_blink_features(), "SlowerWeb1,SlowerWeb2"); | 
|  | 269   EXPECT_EQ(config->scenario_name(), "my_awesome_experiment"); | 
| 259 } | 270 } | 
| 260 | 271 | 
| 261 TEST_F(BackgroundTracingConfigTest, ReactiveConfigFromValidString) { | 272 TEST_F(BackgroundTracingConfigTest, ReactiveConfigFromValidString) { | 
| 262   scoped_ptr<BackgroundTracingConfigImpl> config; | 273   scoped_ptr<BackgroundTracingConfigImpl> config; | 
| 263 | 274 | 
| 264   config = ReadFromJSONString( | 275   config = ReadFromJSONString( | 
| 265       "{\"mode\":\"REACTIVE_TRACING_MODE\",\"configs\": [{\"rule\": " | 276       "{\"mode\":\"REACTIVE_TRACING_MODE\",\"configs\": [{\"rule\": " | 
| 266       "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " | 277       "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " | 
| 267       "\"category\": \"BENCHMARK\", \"trigger_name\": \"foo\"}]}"); | 278       "\"category\": \"BENCHMARK\", \"trigger_name\": \"foo\"}]}"); | 
| 268   EXPECT_TRUE(config); | 279   EXPECT_TRUE(config); | 
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 399     second_dict->SetInteger("trigger_delay", 10); | 410     second_dict->SetInteger("trigger_delay", 10); | 
| 400     config->AddPreemptiveRule(second_dict.get()); | 411     config->AddPreemptiveRule(second_dict.get()); | 
| 401 | 412 | 
| 402     EXPECT_EQ(ConfigToString(config.get()), | 413     EXPECT_EQ(ConfigToString(config.get()), | 
| 403               "{\"category\":\"BENCHMARK\",\"configs\":[{\"histogram_lower_" | 414               "{\"category\":\"BENCHMARK\",\"configs\":[{\"histogram_lower_" | 
| 404               "value\":1,\"histogram_name\":\"foo\",\"histogram_repeat\":true," | 415               "value\":1,\"histogram_name\":\"foo\",\"histogram_repeat\":true," | 
| 405               "\"histogram_upper_value\":2,\"rule\":\"MONITOR_AND_DUMP_WHEN_" | 416               "\"histogram_upper_value\":2,\"rule\":\"MONITOR_AND_DUMP_WHEN_" | 
| 406               "SPECIFIC_HISTOGRAM_AND_VALUE\",\"trigger_delay\":10}],\"mode\":" | 417               "SPECIFIC_HISTOGRAM_AND_VALUE\",\"trigger_delay\":10}],\"mode\":" | 
| 407               "\"PREEMPTIVE_TRACING_MODE\"}"); | 418               "\"PREEMPTIVE_TRACING_MODE\"}"); | 
| 408   } | 419   } | 
|  | 420 | 
|  | 421   { | 
|  | 422     config.reset( | 
|  | 423         new BackgroundTracingConfigImpl(BackgroundTracingConfig::PREEMPTIVE)); | 
|  | 424     config->set_category_preset(BackgroundTracingConfigImpl::BENCHMARK_DEEP); | 
|  | 425 | 
|  | 426     scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); | 
|  | 427     dict->SetString("rule", "MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED"); | 
|  | 428     dict->SetString("trigger_name", "foo1"); | 
|  | 429     config->AddPreemptiveRule(dict.get()); | 
|  | 430 | 
|  | 431     config->scenario_name_ = "my_awesome_experiment"; | 
|  | 432     config->enable_blink_features_ = "FasterWeb1,FasterWeb2"; | 
|  | 433     config->disable_blink_features_ = "SlowerWeb1,SlowerWeb2"; | 
|  | 434 | 
|  | 435     EXPECT_EQ(ConfigToString(config.get()), | 
|  | 436               "{\"category\":\"BENCHMARK_DEEP\",\"configs\":[{\"rule\":" | 
|  | 437               "\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\",\"trigger_name\":" | 
|  | 438               "\"foo1\"}],\"disable_blink_features\":\"SlowerWeb1,SlowerWeb2\"," | 
|  | 439               "\"enable_blink_features\":\"FasterWeb1,FasterWeb2\"," | 
|  | 440               "\"mode\":\"PREEMPTIVE_TRACING_MODE\"," | 
|  | 441               "\"scenario_name\":\"my_awesome_experiment\"}"); | 
|  | 442   } | 
| 409 } | 443 } | 
| 410 | 444 | 
| 411 TEST_F(BackgroundTracingConfigTest, InvalidPreemptiveConfigToString) { | 445 TEST_F(BackgroundTracingConfigTest, InvalidPreemptiveConfigToString) { | 
| 412   scoped_ptr<BackgroundTracingConfigImpl> config; | 446   scoped_ptr<BackgroundTracingConfigImpl> config; | 
| 413 | 447 | 
| 414   { | 448   { | 
| 415     config.reset( | 449     config.reset( | 
| 416         new BackgroundTracingConfigImpl(BackgroundTracingConfig::PREEMPTIVE)); | 450         new BackgroundTracingConfigImpl(BackgroundTracingConfig::PREEMPTIVE)); | 
| 417 | 451 | 
| 418     scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); | 452     scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); | 
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 498         ConfigToString(config.get()), | 532         ConfigToString(config.get()), | 
| 499         "{\"configs\":[{\"category\":\"BENCHMARK_DEEP\",\"rule\":\"TRACE_" | 533         "{\"configs\":[{\"category\":\"BENCHMARK_DEEP\",\"rule\":\"TRACE_" | 
| 500         "ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\",\"trigger_name\":\"foo1\"},{" | 534         "ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\",\"trigger_name\":\"foo1\"},{" | 
| 501         "\"category\":\"BENCHMARK_DEEP\",\"rule\":" | 535         "\"category\":\"BENCHMARK_DEEP\",\"rule\":" | 
| 502         "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\",\"trigger_name\":" | 536         "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\",\"trigger_name\":" | 
| 503         "\"foo2\"}],\"mode\":\"REACTIVE_TRACING_MODE\"}"); | 537         "\"foo2\"}],\"mode\":\"REACTIVE_TRACING_MODE\"}"); | 
| 504   } | 538   } | 
| 505 } | 539 } | 
| 506 | 540 | 
| 507 }  // namspace content | 541 }  // namspace content | 
| OLD | NEW | 
|---|