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 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 "{\"mode\":\"REACTIVE_TRACING_MODE\",\"configs\": [{\"rule\": " | 288 "{\"mode\":\"REACTIVE_TRACING_MODE\",\"configs\": [{\"rule\": " |
289 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " | 289 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " |
290 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": \"foo\"}]}"); | 290 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": \"foo\"}]}"); |
291 EXPECT_TRUE(config); | 291 EXPECT_TRUE(config); |
292 EXPECT_EQ(config->tracing_mode(), BackgroundTracingConfig::REACTIVE); | 292 EXPECT_EQ(config->tracing_mode(), BackgroundTracingConfig::REACTIVE); |
293 EXPECT_EQ(config->rules().size(), 1u); | 293 EXPECT_EQ(config->rules().size(), 1u); |
294 EXPECT_EQ(RuleToString(config->rules()[0]), | 294 EXPECT_EQ(RuleToString(config->rules()[0]), |
295 "{\"category\":\"BENCHMARK_DEEP\"," | 295 "{\"category\":\"BENCHMARK_DEEP\"," |
296 "\"rule\":\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\"," | 296 "\"rule\":\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\"," |
297 "\"trigger_name\":\"foo\"}"); | 297 "\"trigger_name\":\"foo\"}"); |
| 298 |
298 config = ReadFromJSONString( | 299 config = ReadFromJSONString( |
299 "{\"mode\":\"REACTIVE_TRACING_MODE\",\"configs\": [{\"rule\": " | 300 "{\"mode\":\"REACTIVE_TRACING_MODE\",\"configs\": [{\"rule\": " |
300 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " | 301 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " |
| 302 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": \"foo\", " |
| 303 "\"trigger_chance\": 0.5}]}"); |
| 304 EXPECT_TRUE(config); |
| 305 EXPECT_EQ(config->tracing_mode(), BackgroundTracingConfig::REACTIVE); |
| 306 EXPECT_EQ(config->rules().size(), 1u); |
| 307 EXPECT_EQ(RuleToString(config->rules()[0]), |
| 308 "{\"category\":\"BENCHMARK_DEEP\"," |
| 309 "\"rule\":\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\"," |
| 310 "\"trigger_chance\":0.5,\"trigger_name\":\"foo\"}"); |
| 311 |
| 312 config = ReadFromJSONString( |
| 313 "{\"mode\":\"REACTIVE_TRACING_MODE\",\"configs\": [{\"rule\": " |
| 314 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " |
301 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": " | 315 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": " |
302 "\"foo1\"},{\"rule\": " | 316 "\"foo1\"},{\"rule\": " |
303 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " | 317 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " |
304 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": \"foo2\"}]}"); | 318 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": \"foo2\"}]}"); |
305 EXPECT_TRUE(config); | 319 EXPECT_TRUE(config); |
306 EXPECT_EQ(config->tracing_mode(), BackgroundTracingConfig::REACTIVE); | 320 EXPECT_EQ(config->tracing_mode(), BackgroundTracingConfig::REACTIVE); |
307 EXPECT_EQ(config->rules().size(), 2u); | 321 EXPECT_EQ(config->rules().size(), 2u); |
308 EXPECT_EQ(RuleToString(config->rules()[0]), | 322 EXPECT_EQ(RuleToString(config->rules()[0]), |
309 "{\"category\":\"BENCHMARK_DEEP\"," | 323 "{\"category\":\"BENCHMARK_DEEP\"," |
310 "\"rule\":\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\"," | 324 "\"rule\":\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\"," |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
356 "\"foo\"}],\"mode\":\"PREEMPTIVE_TRACING_MODE\"}"); | 370 "\"foo\"}],\"mode\":\"PREEMPTIVE_TRACING_MODE\"}"); |
357 } | 371 } |
358 | 372 |
359 { | 373 { |
360 config.reset( | 374 config.reset( |
361 new BackgroundTracingConfigImpl(BackgroundTracingConfig::PREEMPTIVE)); | 375 new BackgroundTracingConfigImpl(BackgroundTracingConfig::PREEMPTIVE)); |
362 config->set_category_preset(BackgroundTracingConfigImpl::BENCHMARK_DEEP); | 376 config->set_category_preset(BackgroundTracingConfigImpl::BENCHMARK_DEEP); |
363 | 377 |
364 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); | 378 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
365 dict->SetString("rule", "MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED"); | 379 dict->SetString("rule", "MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED"); |
| 380 dict->SetString("trigger_name", "foo"); |
| 381 dict->SetDouble("trigger_chance", 0.5); |
| 382 config->AddPreemptiveRule(dict.get()); |
| 383 |
| 384 EXPECT_EQ( |
| 385 ConfigToString(config.get()), |
| 386 "{\"category\":\"BENCHMARK_DEEP\",\"configs\":[{\"rule\":" |
| 387 "\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\",\"trigger_chance\":0.5," |
| 388 "\"trigger_name\":\"foo\"}],\"mode\":\"PREEMPTIVE_TRACING_MODE\"}"); |
| 389 } |
| 390 |
| 391 { |
| 392 config.reset( |
| 393 new BackgroundTracingConfigImpl(BackgroundTracingConfig::PREEMPTIVE)); |
| 394 config->set_category_preset(BackgroundTracingConfigImpl::BENCHMARK_DEEP); |
| 395 |
| 396 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
| 397 dict->SetString("rule", "MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED"); |
366 dict->SetString("trigger_name", "foo1"); | 398 dict->SetString("trigger_name", "foo1"); |
367 config->AddPreemptiveRule(dict.get()); | 399 config->AddPreemptiveRule(dict.get()); |
368 | 400 |
369 dict->SetString("trigger_name", "foo2"); | 401 dict->SetString("trigger_name", "foo2"); |
370 config->AddPreemptiveRule(dict.get()); | 402 config->AddPreemptiveRule(dict.get()); |
371 | 403 |
372 EXPECT_EQ(ConfigToString(config.get()), | 404 EXPECT_EQ(ConfigToString(config.get()), |
373 "{\"category\":\"BENCHMARK_DEEP\",\"configs\":[{\"rule\":" | 405 "{\"category\":\"BENCHMARK_DEEP\",\"configs\":[{\"rule\":" |
374 "\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\",\"trigger_name\":" | 406 "\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\",\"trigger_name\":" |
375 "\"foo1\"},{\"rule\":\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\"," | 407 "\"foo1\"},{\"rule\":\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\"," |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
532 ConfigToString(config.get()), | 564 ConfigToString(config.get()), |
533 "{\"configs\":[{\"category\":\"BENCHMARK_DEEP\",\"rule\":\"TRACE_" | 565 "{\"configs\":[{\"category\":\"BENCHMARK_DEEP\",\"rule\":\"TRACE_" |
534 "ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\",\"trigger_name\":\"foo1\"},{" | 566 "ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\",\"trigger_name\":\"foo1\"},{" |
535 "\"category\":\"BENCHMARK_DEEP\",\"rule\":" | 567 "\"category\":\"BENCHMARK_DEEP\",\"rule\":" |
536 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\",\"trigger_name\":" | 568 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\",\"trigger_name\":" |
537 "\"foo2\"}],\"mode\":\"REACTIVE_TRACING_MODE\"}"); | 569 "\"foo2\"}],\"mode\":\"REACTIVE_TRACING_MODE\"}"); |
538 } | 570 } |
539 } | 571 } |
540 | 572 |
541 } // namspace content | 573 } // namspace content |
OLD | NEW |