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 <stddef.h> | 5 #include <stddef.h> |
6 #include <utility> | 6 #include <utility> |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 content::BackgroundTracingManager::GetInstance() | 147 content::BackgroundTracingManager::GetInstance() |
148 ->InvalidateTriggerHandlesForTesting(); | 148 ->InvalidateTriggerHandlesForTesting(); |
149 } | 149 } |
150 | 150 |
151 void DisableScenarioWhenIdle() { | 151 void DisableScenarioWhenIdle() { |
152 BackgroundTracingManager::GetInstance()->SetActiveScenario( | 152 BackgroundTracingManager::GetInstance()->SetActiveScenario( |
153 NULL, BackgroundTracingManager::ReceiveCallback(), | 153 NULL, BackgroundTracingManager::ReceiveCallback(), |
154 BackgroundTracingManager::NO_DATA_FILTERING); | 154 BackgroundTracingManager::NO_DATA_FILTERING); |
155 } | 155 } |
156 | 156 |
| 157 #if defined(OS_ANDROID) |
| 158 // Flaky on android: https://crbug.com/639706 |
| 159 #define MAYBE_ReceiveTraceFinalContentsOnTrigger \ |
| 160 DISABLED_ReceiveTraceFinalContentsOnTrigger |
| 161 #else |
| 162 #define MAYBE_ReceiveTraceFinalContentsOnTrigger \ |
| 163 ReceiveTraceFinalContentsOnTrigger |
| 164 #endif |
| 165 |
157 // This tests that the endpoint receives the final trace data. | 166 // This tests that the endpoint receives the final trace data. |
158 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 167 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
159 ReceiveTraceFinalContentsOnTrigger) { | 168 MAYBE_ReceiveTraceFinalContentsOnTrigger) { |
160 { | 169 { |
161 SetupBackgroundTracingManager(); | 170 SetupBackgroundTracingManager(); |
162 | 171 |
163 base::RunLoop run_loop; | 172 base::RunLoop run_loop; |
164 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 173 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
165 run_loop.QuitClosure()); | 174 run_loop.QuitClosure()); |
166 | 175 |
167 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); | 176 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); |
168 | 177 |
169 BackgroundTracingManager::TriggerHandle handle = | 178 BackgroundTracingManager::TriggerHandle handle = |
170 BackgroundTracingManager:: | 179 BackgroundTracingManager:: |
171 GetInstance()->RegisterTriggerType("preemptive_test"); | 180 GetInstance()->RegisterTriggerType("preemptive_test"); |
172 | 181 |
173 EXPECT_TRUE(BackgroundTracingManager::GetInstance()->SetActiveScenario( | 182 EXPECT_TRUE(BackgroundTracingManager::GetInstance()->SetActiveScenario( |
174 std::move(config), upload_config_wrapper.get_receive_callback(), | 183 std::move(config), upload_config_wrapper.get_receive_callback(), |
175 BackgroundTracingManager::NO_DATA_FILTERING)); | 184 BackgroundTracingManager::NO_DATA_FILTERING)); |
176 | 185 |
177 BackgroundTracingManager::GetInstance()->WhenIdle( | 186 BackgroundTracingManager::GetInstance()->WhenIdle( |
178 base::Bind(&DisableScenarioWhenIdle)); | 187 base::Bind(&DisableScenarioWhenIdle)); |
179 | 188 |
180 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 189 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
181 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); | 190 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); |
182 | 191 |
183 run_loop.Run(); | 192 run_loop.Run(); |
184 | 193 |
185 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 194 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
186 } | 195 } |
187 } | 196 } |
188 | 197 |
| 198 #if defined(OS_ANDROID) |
| 199 // Flaky on android: https://crbug.com/639706 |
| 200 #define MAYBE_CallTriggersMoreThanOnceOnlyGatherOnce \ |
| 201 DISABLED_CallTriggersMoreThanOnceOnlyGatherOnce |
| 202 #else |
| 203 #define MAYBE_CallTriggersMoreThanOnceOnlyGatherOnce \ |
| 204 CallTriggersMoreThanOnceOnlyGatherOnce |
| 205 #endif |
| 206 |
189 // This tests triggering more than once still only gathers once. | 207 // This tests triggering more than once still only gathers once. |
190 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 208 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
191 CallTriggersMoreThanOnceOnlyGatherOnce) { | 209 MAYBE_CallTriggersMoreThanOnceOnlyGatherOnce) { |
192 { | 210 { |
193 SetupBackgroundTracingManager(); | 211 SetupBackgroundTracingManager(); |
194 | 212 |
195 base::RunLoop run_loop; | 213 base::RunLoop run_loop; |
196 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 214 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
197 run_loop.QuitClosure()); | 215 run_loop.QuitClosure()); |
198 | 216 |
199 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); | 217 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); |
200 | 218 |
201 content::BackgroundTracingManager::TriggerHandle handle = | 219 content::BackgroundTracingManager::TriggerHandle handle = |
(...skipping 27 matching lines...) Expand all Loading... |
229 if (base::MatchPattern(category_group_name, "benchmark") && | 247 if (base::MatchPattern(category_group_name, "benchmark") && |
230 base::MatchPattern(event_name, "whitelisted")) { | 248 base::MatchPattern(event_name, "whitelisted")) { |
231 return true; | 249 return true; |
232 } | 250 } |
233 | 251 |
234 return false; | 252 return false; |
235 } | 253 } |
236 | 254 |
237 } // namespace | 255 } // namespace |
238 | 256 |
| 257 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) |
| 258 // Flaky on android, chromeos: https://crbug.com/639706 |
| 259 #define MAYBE_NoWhitelistedArgsStripped DISABLED_NoWhitelistedArgsStripped |
| 260 #else |
| 261 #define MAYBE_NoWhitelistedArgsStripped NoWhitelistedArgsStripped |
| 262 #endif |
| 263 |
239 // This tests that non-whitelisted args get stripped if required. | 264 // This tests that non-whitelisted args get stripped if required. |
240 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 265 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
241 NoWhitelistedArgsStripped) { | 266 MAYBE_NoWhitelistedArgsStripped) { |
242 SetupBackgroundTracingManager(); | 267 SetupBackgroundTracingManager(); |
243 | 268 |
244 base::trace_event::TraceLog::GetInstance()->SetArgumentFilterPredicate( | 269 base::trace_event::TraceLog::GetInstance()->SetArgumentFilterPredicate( |
245 base::Bind(&IsTraceEventArgsWhitelisted)); | 270 base::Bind(&IsTraceEventArgsWhitelisted)); |
246 | 271 |
247 base::RunLoop wait_for_upload; | 272 base::RunLoop wait_for_upload; |
248 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 273 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
249 wait_for_upload.QuitClosure()); | 274 wait_for_upload.QuitClosure()); |
250 | 275 |
251 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); | 276 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); |
(...skipping 21 matching lines...) Expand all Loading... |
273 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); | 298 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); |
274 | 299 |
275 wait_for_upload.Run(); | 300 wait_for_upload.Run(); |
276 | 301 |
277 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 302 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
278 EXPECT_TRUE(upload_config_wrapper.TraceHasMatchingString("{")); | 303 EXPECT_TRUE(upload_config_wrapper.TraceHasMatchingString("{")); |
279 EXPECT_TRUE(upload_config_wrapper.TraceHasMatchingString("find_this")); | 304 EXPECT_TRUE(upload_config_wrapper.TraceHasMatchingString("find_this")); |
280 EXPECT_FALSE(upload_config_wrapper.TraceHasMatchingString("this_not_found")); | 305 EXPECT_FALSE(upload_config_wrapper.TraceHasMatchingString("this_not_found")); |
281 } | 306 } |
282 | 307 |
| 308 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) |
| 309 // Flaky on android, chromeos: https://crbug.com/639706 |
| 310 #define MAYBE_TraceMetadataInTrace DISABLED_TraceMetadataInTrace |
| 311 #else |
| 312 #define MAYBE_TraceMetadataInTrace TraceMetadataInTrace |
| 313 #endif |
| 314 |
283 // This tests that browser metadata gets included in the trace. | 315 // This tests that browser metadata gets included in the trace. |
284 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 316 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
285 TraceMetadataInTrace) { | 317 MAYBE_TraceMetadataInTrace) { |
286 SetupBackgroundTracingManager(); | 318 SetupBackgroundTracingManager(); |
287 | 319 |
288 base::trace_event::TraceLog::GetInstance()->SetArgumentFilterPredicate( | 320 base::trace_event::TraceLog::GetInstance()->SetArgumentFilterPredicate( |
289 base::Bind(&IsTraceEventArgsWhitelisted)); | 321 base::Bind(&IsTraceEventArgsWhitelisted)); |
290 | 322 |
291 base::RunLoop wait_for_upload; | 323 base::RunLoop wait_for_upload; |
292 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 324 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
293 wait_for_upload.QuitClosure()); | 325 wait_for_upload.QuitClosure()); |
294 | 326 |
295 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); | 327 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); |
(...skipping 18 matching lines...) Expand all Loading... |
314 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); | 346 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); |
315 | 347 |
316 wait_for_upload.Run(); | 348 wait_for_upload.Run(); |
317 | 349 |
318 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 350 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
319 EXPECT_TRUE(upload_config_wrapper.TraceHasMatchingString("cpu-brand")); | 351 EXPECT_TRUE(upload_config_wrapper.TraceHasMatchingString("cpu-brand")); |
320 EXPECT_TRUE(upload_config_wrapper.TraceHasMatchingString("network-type")); | 352 EXPECT_TRUE(upload_config_wrapper.TraceHasMatchingString("network-type")); |
321 EXPECT_TRUE(upload_config_wrapper.TraceHasMatchingString("user-agent")); | 353 EXPECT_TRUE(upload_config_wrapper.TraceHasMatchingString("user-agent")); |
322 } | 354 } |
323 | 355 |
324 #if defined(OS_ANDROID) | 356 #if defined(OS_ANDROID) || defined(OS_LINUX) |
325 // Flaky on android: https://crbug.com/639706 | 357 // Flaky on android: https://crbug.com/639706 |
| 358 // Flaky on android, linux: https://crbug.com/639706 |
326 #define MAYBE_CrashWhenSubprocessWithoutArgumentFilter \ | 359 #define MAYBE_CrashWhenSubprocessWithoutArgumentFilter \ |
327 DISABLED_CrashWhenSubprocessWithoutArgumentFilter | 360 DISABLED_CrashWhenSubprocessWithoutArgumentFilter |
328 #else | 361 #else |
329 #define MAYBE_CrashWhenSubprocessWithoutArgumentFilter \ | 362 #define MAYBE_CrashWhenSubprocessWithoutArgumentFilter \ |
330 CrashWhenSubprocessWithoutArgumentFilter | 363 CrashWhenSubprocessWithoutArgumentFilter |
331 #endif | 364 #endif |
332 | 365 |
333 // This tests subprocesses (like a navigating renderer) which gets told to | 366 // This tests subprocesses (like a navigating renderer) which gets told to |
334 // provide a argument-filtered trace and has no predicate in place to do the | 367 // provide a argument-filtered trace and has no predicate in place to do the |
335 // filtering (in this case, only the browser process gets it set), will crash | 368 // filtering (in this case, only the browser process gets it set), will crash |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
369 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); | 402 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); |
370 | 403 |
371 wait_for_upload.Run(); | 404 wait_for_upload.Run(); |
372 | 405 |
373 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 406 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
374 // We should *not* receive anything at all from the renderer, | 407 // We should *not* receive anything at all from the renderer, |
375 // the process should've crashed rather than letting that happen. | 408 // the process should've crashed rather than letting that happen. |
376 EXPECT_TRUE(!upload_config_wrapper.TraceHasMatchingString("CrRendererMain")); | 409 EXPECT_TRUE(!upload_config_wrapper.TraceHasMatchingString("CrRendererMain")); |
377 } | 410 } |
378 | 411 |
| 412 #if defined(OS_ANDROID) |
| 413 // Flaky on android: https://crbug.com/639706 |
| 414 #define MAYBE_CallMultipleTriggersOnlyGatherOnce \ |
| 415 DISABLED_CallMultipleTriggersOnlyGatherOnce |
| 416 #else |
| 417 #define MAYBE_CallMultipleTriggersOnlyGatherOnce \ |
| 418 CallMultipleTriggersOnlyGatherOnce |
| 419 #endif |
| 420 |
379 // This tests multiple triggers still only gathers once. | 421 // This tests multiple triggers still only gathers once. |
380 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 422 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
381 CallMultipleTriggersOnlyGatherOnce) { | 423 MAYBE_CallMultipleTriggersOnlyGatherOnce) { |
382 { | 424 { |
383 SetupBackgroundTracingManager(); | 425 SetupBackgroundTracingManager(); |
384 | 426 |
385 base::RunLoop run_loop; | 427 base::RunLoop run_loop; |
386 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 428 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
387 run_loop.QuitClosure()); | 429 run_loop.QuitClosure()); |
388 | 430 |
389 base::DictionaryValue dict; | 431 base::DictionaryValue dict; |
390 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); | 432 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); |
391 dict.SetString("category", "BENCHMARK"); | 433 dict.SetString("category", "BENCHMARK"); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
429 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 471 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
430 handle2, | 472 handle2, |
431 base::Bind(&StartedFinalizingCallback, base::Closure(), false)); | 473 base::Bind(&StartedFinalizingCallback, base::Closure(), false)); |
432 | 474 |
433 run_loop.Run(); | 475 run_loop.Run(); |
434 | 476 |
435 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 477 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
436 } | 478 } |
437 } | 479 } |
438 | 480 |
| 481 #if defined(OS_ANDROID) |
| 482 // Flaky on android: https://crbug.com/639706 |
| 483 #define MAYBE_ToggleBlinkScenarios DISABLED_ToggleBlinkScenarios |
| 484 #else |
| 485 #define MAYBE_ToggleBlinkScenarios ToggleBlinkScenarios |
| 486 #endif |
| 487 |
439 // This tests that toggling Blink scenarios in the config alters the | 488 // This tests that toggling Blink scenarios in the config alters the |
440 // command-line. | 489 // command-line. |
441 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 490 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
442 ToggleBlinkScenarios) { | 491 MAYBE_ToggleBlinkScenarios) { |
443 { | 492 { |
444 SetupBackgroundTracingManager(); | 493 SetupBackgroundTracingManager(); |
445 | 494 |
446 base::RunLoop run_loop; | 495 base::RunLoop run_loop; |
447 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 496 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
448 run_loop.QuitClosure()); | 497 run_loop.QuitClosure()); |
449 | 498 |
450 base::DictionaryValue dict; | 499 base::DictionaryValue dict; |
451 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); | 500 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); |
452 dict.SetString("category", "BENCHMARK"); | 501 dict.SetString("category", "BENCHMARK"); |
(...skipping 25 matching lines...) Expand all Loading... |
478 EXPECT_TRUE(command_line); | 527 EXPECT_TRUE(command_line); |
479 | 528 |
480 EXPECT_EQ(command_line->GetSwitchValueASCII(switches::kEnableBlinkFeatures), | 529 EXPECT_EQ(command_line->GetSwitchValueASCII(switches::kEnableBlinkFeatures), |
481 "FasterWeb1,FasterWeb2"); | 530 "FasterWeb1,FasterWeb2"); |
482 EXPECT_EQ( | 531 EXPECT_EQ( |
483 command_line->GetSwitchValueASCII(switches::kDisableBlinkFeatures), | 532 command_line->GetSwitchValueASCII(switches::kDisableBlinkFeatures), |
484 "SlowerWeb1,SlowerWeb2"); | 533 "SlowerWeb1,SlowerWeb2"); |
485 } | 534 } |
486 } | 535 } |
487 | 536 |
| 537 #if defined(OS_ANDROID) |
| 538 // Flaky on android: https://crbug.com/639706 |
| 539 #define MAYBE_ToggleBlinkScenariosNotOverridingSwitches \ |
| 540 DISABLED_ToggleBlinkScenariosNotOverridingSwitches |
| 541 #else |
| 542 #define MAYBE_ToggleBlinkScenariosNotOverridingSwitches \ |
| 543 ToggleBlinkScenariosNotOverridingSwitches |
| 544 #endif |
| 545 |
488 // This tests that toggling Blink scenarios in a scenario won't activate | 546 // This tests that toggling Blink scenarios in a scenario won't activate |
489 // if there's already Blink features toggled by something else (about://flags) | 547 // if there's already Blink features toggled by something else (about://flags) |
490 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 548 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
491 ToggleBlinkScenariosNotOverridingSwitches) { | 549 MAYBE_ToggleBlinkScenariosNotOverridingSwitches) { |
492 SetupBackgroundTracingManager(); | 550 SetupBackgroundTracingManager(); |
493 | 551 |
494 base::RunLoop run_loop; | 552 base::RunLoop run_loop; |
495 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 553 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
496 run_loop.QuitClosure()); | 554 run_loop.QuitClosure()); |
497 | 555 |
498 base::DictionaryValue dict; | 556 base::DictionaryValue dict; |
499 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); | 557 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); |
500 dict.SetString("category", "BENCHMARK"); | 558 dict.SetString("category", "BENCHMARK"); |
501 | 559 |
(...skipping 17 matching lines...) Expand all Loading... |
519 switches::kEnableBlinkFeatures, "FooFeature"); | 577 switches::kEnableBlinkFeatures, "FooFeature"); |
520 | 578 |
521 bool scenario_activated = | 579 bool scenario_activated = |
522 BackgroundTracingManager::GetInstance()->SetActiveScenario( | 580 BackgroundTracingManager::GetInstance()->SetActiveScenario( |
523 std::move(config), upload_config_wrapper.get_receive_callback(), | 581 std::move(config), upload_config_wrapper.get_receive_callback(), |
524 BackgroundTracingManager::NO_DATA_FILTERING); | 582 BackgroundTracingManager::NO_DATA_FILTERING); |
525 | 583 |
526 EXPECT_FALSE(scenario_activated); | 584 EXPECT_FALSE(scenario_activated); |
527 } | 585 } |
528 | 586 |
| 587 #if defined(OS_ANDROID) |
| 588 // Flaky on android: https://crbug.com/639706 |
| 589 #define MAYBE_CallPreemptiveTriggerWithDelay \ |
| 590 DISABLED_CallPreemptiveTriggerWithDelay |
| 591 #else |
| 592 #define MAYBE_CallPreemptiveTriggerWithDelay CallPreemptiveTriggerWithDelay |
| 593 #endif |
| 594 |
529 // This tests that delayed histogram triggers triggers work as expected | 595 // This tests that delayed histogram triggers triggers work as expected |
530 // with preemptive scenarios. | 596 // with preemptive scenarios. |
531 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 597 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
532 CallPreemptiveTriggerWithDelay) { | 598 MAYBE_CallPreemptiveTriggerWithDelay) { |
533 { | 599 { |
534 SetupBackgroundTracingManager(); | 600 SetupBackgroundTracingManager(); |
535 | 601 |
536 base::RunLoop run_loop; | 602 base::RunLoop run_loop; |
537 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 603 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
538 run_loop.QuitClosure()); | 604 run_loop.QuitClosure()); |
539 | 605 |
540 base::DictionaryValue dict; | 606 base::DictionaryValue dict; |
541 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); | 607 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); |
542 dict.SetString("category", "BENCHMARK"); | 608 dict.SetString("category", "BENCHMARK"); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
585 BackgroundTracingManagerImpl::GetInstance()->FireTimerForTesting(); | 651 BackgroundTracingManagerImpl::GetInstance()->FireTimerForTesting(); |
586 EXPECT_FALSE( | 652 EXPECT_FALSE( |
587 BackgroundTracingManagerImpl::GetInstance()->IsTracingForTesting()); | 653 BackgroundTracingManagerImpl::GetInstance()->IsTracingForTesting()); |
588 | 654 |
589 run_loop.Run(); | 655 run_loop.Run(); |
590 | 656 |
591 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 657 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
592 } | 658 } |
593 } | 659 } |
594 | 660 |
| 661 #if defined(OS_ANDROID) |
| 662 // Flaky on android: https://crbug.com/639706 |
| 663 #define MAYBE_CannotTriggerWithoutScenarioSet \ |
| 664 DISABLED_CannotTriggerWithoutScenarioSet |
| 665 #else |
| 666 #define MAYBE_CannotTriggerWithoutScenarioSet CannotTriggerWithoutScenarioSet |
| 667 #endif |
| 668 |
595 // This tests that you can't trigger without a scenario set. | 669 // This tests that you can't trigger without a scenario set. |
596 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 670 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
597 CannotTriggerWithoutScenarioSet) { | 671 MAYBE_CannotTriggerWithoutScenarioSet) { |
598 { | 672 { |
599 SetupBackgroundTracingManager(); | 673 SetupBackgroundTracingManager(); |
600 | 674 |
601 base::RunLoop run_loop; | 675 base::RunLoop run_loop; |
602 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 676 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
603 (base::Closure())); | 677 (base::Closure())); |
604 | 678 |
605 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); | 679 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); |
606 | 680 |
607 content::BackgroundTracingManager::TriggerHandle handle = | 681 content::BackgroundTracingManager::TriggerHandle handle = |
608 content::BackgroundTracingManager::GetInstance()->RegisterTriggerType( | 682 content::BackgroundTracingManager::GetInstance()->RegisterTriggerType( |
609 "preemptive_test"); | 683 "preemptive_test"); |
610 | 684 |
611 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 685 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
612 handle, | 686 handle, |
613 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); | 687 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); |
614 | 688 |
615 run_loop.Run(); | 689 run_loop.Run(); |
616 | 690 |
617 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); | 691 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); |
618 } | 692 } |
619 } | 693 } |
620 | 694 |
| 695 #if defined(OS_ANDROID) |
| 696 // Flaky on android: https://crbug.com/639706 |
| 697 #define MAYBE_DoesNotTriggerWithWrongHandle \ |
| 698 DISABLED_DoesNotTriggerWithWrongHandle |
| 699 #else |
| 700 #define MAYBE_DoesNotTriggerWithWrongHandle DoesNotTriggerWithWrongHandle |
| 701 #endif |
| 702 |
621 // This tests that no trace is triggered with a handle that isn't specified | 703 // This tests that no trace is triggered with a handle that isn't specified |
622 // in the config. | 704 // in the config. |
623 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 705 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
624 DoesNotTriggerWithWrongHandle) { | 706 MAYBE_DoesNotTriggerWithWrongHandle) { |
625 { | 707 { |
626 SetupBackgroundTracingManager(); | 708 SetupBackgroundTracingManager(); |
627 | 709 |
628 base::RunLoop run_loop; | 710 base::RunLoop run_loop; |
629 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 711 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
630 (base::Closure())); | 712 (base::Closure())); |
631 | 713 |
632 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); | 714 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); |
633 | 715 |
634 content::BackgroundTracingManager::TriggerHandle handle = | 716 content::BackgroundTracingManager::TriggerHandle handle = |
(...skipping 10 matching lines...) Expand all Loading... |
645 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 727 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
646 handle, | 728 handle, |
647 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); | 729 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); |
648 | 730 |
649 run_loop.Run(); | 731 run_loop.Run(); |
650 | 732 |
651 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); | 733 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); |
652 } | 734 } |
653 } | 735 } |
654 | 736 |
| 737 #if defined(OS_ANDROID) |
| 738 // Flaky on android: https://crbug.com/639706 |
| 739 #define MAYBE_DoesNotTriggerWithInvalidHandle \ |
| 740 DISABLED_DoesNotTriggerWithInvalidHandle |
| 741 #else |
| 742 #define MAYBE_DoesNotTriggerWithInvalidHandle DoesNotTriggerWithInvalidHandle |
| 743 #endif |
| 744 |
655 // This tests that no trace is triggered with an invalid handle. | 745 // This tests that no trace is triggered with an invalid handle. |
656 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 746 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
657 DoesNotTriggerWithInvalidHandle) { | 747 MAYBE_DoesNotTriggerWithInvalidHandle) { |
658 { | 748 { |
659 SetupBackgroundTracingManager(); | 749 SetupBackgroundTracingManager(); |
660 | 750 |
661 base::RunLoop run_loop; | 751 base::RunLoop run_loop; |
662 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 752 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
663 (base::Closure())); | 753 (base::Closure())); |
664 | 754 |
665 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); | 755 std::unique_ptr<BackgroundTracingConfig> config = CreatePreemptiveConfig(); |
666 | 756 |
667 content::BackgroundTracingManager::TriggerHandle handle = | 757 content::BackgroundTracingManager::TriggerHandle handle = |
(...skipping 13 matching lines...) Expand all Loading... |
681 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 771 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
682 handle, | 772 handle, |
683 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); | 773 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); |
684 | 774 |
685 run_loop.Run(); | 775 run_loop.Run(); |
686 | 776 |
687 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); | 777 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); |
688 } | 778 } |
689 } | 779 } |
690 | 780 |
| 781 #if defined(OS_ANDROID) |
| 782 // Flaky on android: https://crbug.com/639706 |
| 783 #define MAYBE_PreemptiveNotTriggerWithZeroChance \ |
| 784 DISABLED_PreemptiveNotTriggerWithZeroChance |
| 785 #else |
| 786 #define MAYBE_PreemptiveNotTriggerWithZeroChance \ |
| 787 PreemptiveNotTriggerWithZeroChance |
| 788 #endif |
| 789 |
691 // This tests that no preemptive trace is triggered with 0 chance set. | 790 // This tests that no preemptive trace is triggered with 0 chance set. |
692 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 791 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
693 PreemptiveNotTriggerWithZeroChance) { | 792 MAYBE_PreemptiveNotTriggerWithZeroChance) { |
694 { | 793 { |
695 SetupBackgroundTracingManager(); | 794 SetupBackgroundTracingManager(); |
696 | 795 |
697 base::RunLoop run_loop; | 796 base::RunLoop run_loop; |
698 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 797 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
699 (base::Closure())); | 798 (base::Closure())); |
700 | 799 |
701 base::DictionaryValue dict; | 800 base::DictionaryValue dict; |
702 | 801 |
703 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); | 802 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); |
(...skipping 29 matching lines...) Expand all Loading... |
733 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 832 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
734 handle, | 833 handle, |
735 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); | 834 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); |
736 | 835 |
737 run_loop.Run(); | 836 run_loop.Run(); |
738 | 837 |
739 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); | 838 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); |
740 } | 839 } |
741 } | 840 } |
742 | 841 |
| 842 #if defined(OS_ANDROID) |
| 843 // Flaky on android: https://crbug.com/639706 |
| 844 #define MAYBE_ReactiveNotTriggerWithZeroChance \ |
| 845 DISABLED_ReactiveNotTriggerWithZeroChance |
| 846 #else |
| 847 #define MAYBE_ReactiveNotTriggerWithZeroChance ReactiveNotTriggerWithZeroChance |
| 848 #endif |
| 849 |
743 // This tests that no reactive trace is triggered with 0 chance set. | 850 // This tests that no reactive trace is triggered with 0 chance set. |
744 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 851 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
745 ReactiveNotTriggerWithZeroChance) { | 852 MAYBE_ReactiveNotTriggerWithZeroChance) { |
746 { | 853 { |
747 SetupBackgroundTracingManager(); | 854 SetupBackgroundTracingManager(); |
748 | 855 |
749 base::RunLoop run_loop; | 856 base::RunLoop run_loop; |
750 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 857 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
751 (base::Closure())); | 858 (base::Closure())); |
752 | 859 |
753 base::DictionaryValue dict; | 860 base::DictionaryValue dict; |
754 | 861 |
755 dict.SetString("mode", "REACTIVE_TRACING_MODE"); | 862 dict.SetString("mode", "REACTIVE_TRACING_MODE"); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
787 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 894 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
788 handle, | 895 handle, |
789 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); | 896 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); |
790 | 897 |
791 run_loop.Run(); | 898 run_loop.Run(); |
792 | 899 |
793 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); | 900 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); |
794 } | 901 } |
795 } | 902 } |
796 | 903 |
| 904 #if defined(OS_ANDROID) |
| 905 // Flaky on android: https://crbug.com/639706 |
| 906 #define MAYBE_ReceiveTraceSucceedsOnHigherHistogramSample \ |
| 907 DISABLED_ReceiveTraceSucceedsOnHigherHistogramSample |
| 908 #else |
| 909 #define MAYBE_ReceiveTraceSucceedsOnHigherHistogramSample \ |
| 910 ReceiveTraceSucceedsOnHigherHistogramSample |
| 911 #endif |
| 912 |
797 // This tests that histogram triggers for preemptive mode configs. | 913 // This tests that histogram triggers for preemptive mode configs. |
798 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 914 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
799 ReceiveTraceSucceedsOnHigherHistogramSample) { | 915 MAYBE_ReceiveTraceSucceedsOnHigherHistogramSample) { |
800 { | 916 { |
801 SetupBackgroundTracingManager(); | 917 SetupBackgroundTracingManager(); |
802 | 918 |
803 base::RunLoop run_loop; | 919 base::RunLoop run_loop; |
804 | 920 |
805 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 921 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
806 run_loop.QuitClosure()); | 922 run_loop.QuitClosure()); |
807 | 923 |
808 base::DictionaryValue dict; | 924 base::DictionaryValue dict; |
809 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); | 925 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); |
(...skipping 25 matching lines...) Expand all Loading... |
835 | 951 |
836 // Our reference value is "1", so a value of "2" should trigger a trace. | 952 // Our reference value is "1", so a value of "2" should trigger a trace. |
837 LOCAL_HISTOGRAM_COUNTS("fake", 2); | 953 LOCAL_HISTOGRAM_COUNTS("fake", 2); |
838 | 954 |
839 run_loop.Run(); | 955 run_loop.Run(); |
840 | 956 |
841 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 957 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
842 } | 958 } |
843 } | 959 } |
844 | 960 |
| 961 #if defined(OS_ANDROID) |
| 962 // Flaky on android: https://crbug.com/639706 |
| 963 #define MAYBE_ReceiveReactiveTraceSucceedsOnHigherHistogramSample \ |
| 964 DISABLED_ReceiveReactiveTraceSucceedsOnHigherHistogramSample |
| 965 #else |
| 966 #define MAYBE_ReceiveReactiveTraceSucceedsOnHigherHistogramSample \ |
| 967 ReceiveReactiveTraceSucceedsOnHigherHistogramSample |
| 968 #endif |
| 969 |
845 // This tests that histogram triggers for reactive mode configs. | 970 // This tests that histogram triggers for reactive mode configs. |
846 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 971 IN_PROC_BROWSER_TEST_F( |
847 ReceiveReactiveTraceSucceedsOnHigherHistogramSample) { | 972 BackgroundTracingManagerBrowserTest, |
| 973 MAYBE_ReceiveReactiveTraceSucceedsOnHigherHistogramSample) { |
848 { | 974 { |
849 SetupBackgroundTracingManager(); | 975 SetupBackgroundTracingManager(); |
850 | 976 |
851 base::RunLoop run_loop; | 977 base::RunLoop run_loop; |
852 | 978 |
853 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 979 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
854 run_loop.QuitClosure()); | 980 run_loop.QuitClosure()); |
855 | 981 |
856 base::DictionaryValue dict; | 982 base::DictionaryValue dict; |
857 dict.SetString("mode", "REACTIVE_TRACING_MODE"); | 983 dict.SetString("mode", "REACTIVE_TRACING_MODE"); |
(...skipping 25 matching lines...) Expand all Loading... |
883 | 1009 |
884 // Our reference value is "1", so a value of "2" should trigger a trace. | 1010 // Our reference value is "1", so a value of "2" should trigger a trace. |
885 LOCAL_HISTOGRAM_COUNTS("fake", 2); | 1011 LOCAL_HISTOGRAM_COUNTS("fake", 2); |
886 | 1012 |
887 run_loop.Run(); | 1013 run_loop.Run(); |
888 | 1014 |
889 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 1015 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
890 } | 1016 } |
891 } | 1017 } |
892 | 1018 |
| 1019 #if defined(OS_ANDROID) |
| 1020 // Flaky on android: https://crbug.com/639706 |
| 1021 #define MAYBE_ReceiveTraceFailsOnLowerHistogramSample \ |
| 1022 DISABLED_ReceiveTraceFailsOnLowerHistogramSample |
| 1023 #else |
| 1024 #define MAYBE_ReceiveTraceFailsOnLowerHistogramSample \ |
| 1025 ReceiveTraceFailsOnLowerHistogramSample |
| 1026 #endif |
| 1027 |
893 // This tests that histogram values < reference value don't trigger. | 1028 // This tests that histogram values < reference value don't trigger. |
894 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 1029 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
895 ReceiveTraceFailsOnLowerHistogramSample) { | 1030 MAYBE_ReceiveTraceFailsOnLowerHistogramSample) { |
896 { | 1031 { |
897 SetupBackgroundTracingManager(); | 1032 SetupBackgroundTracingManager(); |
898 | 1033 |
899 base::RunLoop run_loop; | 1034 base::RunLoop run_loop; |
900 | 1035 |
901 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 1036 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
902 run_loop.QuitClosure()); | 1037 run_loop.QuitClosure()); |
903 | 1038 |
904 base::DictionaryValue dict; | 1039 base::DictionaryValue dict; |
905 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); | 1040 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); |
(...skipping 26 matching lines...) Expand all Loading... |
932 // This should fail to trigger a trace since the sample value < the | 1067 // This should fail to trigger a trace since the sample value < the |
933 // the reference value above. | 1068 // the reference value above. |
934 LOCAL_HISTOGRAM_COUNTS("fake", 0); | 1069 LOCAL_HISTOGRAM_COUNTS("fake", 0); |
935 | 1070 |
936 run_loop.RunUntilIdle(); | 1071 run_loop.RunUntilIdle(); |
937 | 1072 |
938 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); | 1073 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); |
939 } | 1074 } |
940 } | 1075 } |
941 | 1076 |
| 1077 #if defined(OS_ANDROID) |
| 1078 // Flaky on android: https://crbug.com/639706 |
| 1079 #define MAYBE_ReceiveTraceFailsOnHigherHistogramSample \ |
| 1080 DISABLED_ReceiveTraceFailsOnHigherHistogramSample |
| 1081 #else |
| 1082 #define MAYBE_ReceiveTraceFailsOnHigherHistogramSample \ |
| 1083 ReceiveTraceFailsOnHigherHistogramSample |
| 1084 #endif |
| 1085 |
942 // This tests that histogram values > upper reference value don't trigger. | 1086 // This tests that histogram values > upper reference value don't trigger. |
943 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 1087 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
944 ReceiveTraceFailsOnHigherHistogramSample) { | 1088 MAYBE_ReceiveTraceFailsOnHigherHistogramSample) { |
945 { | 1089 { |
946 SetupBackgroundTracingManager(); | 1090 SetupBackgroundTracingManager(); |
947 | 1091 |
948 base::RunLoop run_loop; | 1092 base::RunLoop run_loop; |
949 | 1093 |
950 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 1094 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
951 run_loop.QuitClosure()); | 1095 run_loop.QuitClosure()); |
952 | 1096 |
953 base::DictionaryValue dict; | 1097 base::DictionaryValue dict; |
954 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); | 1098 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); |
(...skipping 27 matching lines...) Expand all Loading... |
982 // This should fail to trigger a trace since the sample value > the | 1126 // This should fail to trigger a trace since the sample value > the |
983 // the upper reference value above. | 1127 // the upper reference value above. |
984 LOCAL_HISTOGRAM_COUNTS("fake", 0); | 1128 LOCAL_HISTOGRAM_COUNTS("fake", 0); |
985 | 1129 |
986 run_loop.RunUntilIdle(); | 1130 run_loop.RunUntilIdle(); |
987 | 1131 |
988 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); | 1132 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 0); |
989 } | 1133 } |
990 } | 1134 } |
991 | 1135 |
| 1136 #if defined(OS_ANDROID) |
| 1137 // Flaky on android: https://crbug.com/639706 |
| 1138 #define MAYBE_SetActiveScenarioFailsWithInvalidPreemptiveConfig \ |
| 1139 DISABLED_SetActiveScenarioFailsWithInvalidPreemptiveConfig |
| 1140 #else |
| 1141 #define MAYBE_SetActiveScenarioFailsWithInvalidPreemptiveConfig \ |
| 1142 SetActiveScenarioFailsWithInvalidPreemptiveConfig |
| 1143 #endif |
| 1144 |
992 // This tests that invalid preemptive mode configs will fail. | 1145 // This tests that invalid preemptive mode configs will fail. |
993 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 1146 IN_PROC_BROWSER_TEST_F( |
994 SetActiveScenarioFailsWithInvalidPreemptiveConfig) { | 1147 BackgroundTracingManagerBrowserTest, |
| 1148 MAYBE_SetActiveScenarioFailsWithInvalidPreemptiveConfig) { |
995 { | 1149 { |
996 SetupBackgroundTracingManager(); | 1150 SetupBackgroundTracingManager(); |
997 | 1151 |
998 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 1152 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
999 (base::Closure())); | 1153 (base::Closure())); |
1000 | 1154 |
1001 base::DictionaryValue dict; | 1155 base::DictionaryValue dict; |
1002 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); | 1156 dict.SetString("mode", "PREEMPTIVE_TRACING_MODE"); |
1003 dict.SetString("category", "BENCHMARK"); | 1157 dict.SetString("category", "BENCHMARK"); |
1004 | 1158 |
1005 std::unique_ptr<base::ListValue> rules_list(new base::ListValue()); | 1159 std::unique_ptr<base::ListValue> rules_list(new base::ListValue()); |
1006 { | 1160 { |
1007 std::unique_ptr<base::DictionaryValue> rules_dict( | 1161 std::unique_ptr<base::DictionaryValue> rules_dict( |
1008 new base::DictionaryValue()); | 1162 new base::DictionaryValue()); |
1009 rules_dict->SetString("rule", "INVALID_RULE"); | 1163 rules_dict->SetString("rule", "INVALID_RULE"); |
1010 rules_list->Append(std::move(rules_dict)); | 1164 rules_list->Append(std::move(rules_dict)); |
1011 } | 1165 } |
1012 | 1166 |
1013 dict.Set("configs", std::move(rules_list)); | 1167 dict.Set("configs", std::move(rules_list)); |
1014 | 1168 |
1015 std::unique_ptr<BackgroundTracingConfig> config( | 1169 std::unique_ptr<BackgroundTracingConfig> config( |
1016 BackgroundTracingConfigImpl::FromDict(&dict)); | 1170 BackgroundTracingConfigImpl::FromDict(&dict)); |
1017 // An invalid config should always return a nullptr here. | 1171 // An invalid config should always return a nullptr here. |
1018 EXPECT_FALSE(config); | 1172 EXPECT_FALSE(config); |
1019 } | 1173 } |
1020 } | 1174 } |
1021 | 1175 |
| 1176 #if defined(OS_ANDROID) |
| 1177 // Flaky on android: https://crbug.com/639706 |
| 1178 #define MAYBE_ReactiveTimeoutTermination DISABLED_ReactiveTimeoutTermination |
| 1179 #else |
| 1180 #define MAYBE_ReactiveTimeoutTermination ReactiveTimeoutTermination |
| 1181 #endif |
| 1182 |
1022 // This tests that reactive mode records and terminates with timeout. | 1183 // This tests that reactive mode records and terminates with timeout. |
1023 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 1184 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
1024 ReactiveTimeoutTermination) { | 1185 MAYBE_ReactiveTimeoutTermination) { |
1025 { | 1186 { |
1026 SetupBackgroundTracingManager(); | 1187 SetupBackgroundTracingManager(); |
1027 | 1188 |
1028 base::RunLoop run_loop; | 1189 base::RunLoop run_loop; |
1029 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 1190 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
1030 run_loop.QuitClosure()); | 1191 run_loop.QuitClosure()); |
1031 | 1192 |
1032 std::unique_ptr<BackgroundTracingConfig> config = CreateReactiveConfig(); | 1193 std::unique_ptr<BackgroundTracingConfig> config = CreateReactiveConfig(); |
1033 | 1194 |
1034 BackgroundTracingManager::TriggerHandle handle = | 1195 BackgroundTracingManager::TriggerHandle handle = |
(...skipping 11 matching lines...) Expand all Loading... |
1046 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); | 1207 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); |
1047 | 1208 |
1048 BackgroundTracingManager::GetInstance()->FireTimerForTesting(); | 1209 BackgroundTracingManager::GetInstance()->FireTimerForTesting(); |
1049 | 1210 |
1050 run_loop.Run(); | 1211 run_loop.Run(); |
1051 | 1212 |
1052 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 1213 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
1053 } | 1214 } |
1054 } | 1215 } |
1055 | 1216 |
| 1217 #if defined(OS_ANDROID) |
| 1218 // Flaky on android: https://crbug.com/639706 |
| 1219 #define MAYBE_ReactiveSecondTriggerTermination \ |
| 1220 DISABLED_ReactiveSecondTriggerTermination |
| 1221 #else |
| 1222 #define MAYBE_ReactiveSecondTriggerTermination ReactiveSecondTriggerTermination |
| 1223 #endif |
| 1224 |
1056 // This tests that reactive mode records and terminates with a second trigger. | 1225 // This tests that reactive mode records and terminates with a second trigger. |
1057 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 1226 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
1058 ReactiveSecondTriggerTermination) { | 1227 MAYBE_ReactiveSecondTriggerTermination) { |
1059 { | 1228 { |
1060 SetupBackgroundTracingManager(); | 1229 SetupBackgroundTracingManager(); |
1061 | 1230 |
1062 base::RunLoop run_loop; | 1231 base::RunLoop run_loop; |
1063 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 1232 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
1064 run_loop.QuitClosure()); | 1233 run_loop.QuitClosure()); |
1065 | 1234 |
1066 std::unique_ptr<BackgroundTracingConfig> config = CreateReactiveConfig(); | 1235 std::unique_ptr<BackgroundTracingConfig> config = CreateReactiveConfig(); |
1067 | 1236 |
1068 BackgroundTracingManager::TriggerHandle handle = | 1237 BackgroundTracingManager::TriggerHandle handle = |
(...skipping 12 matching lines...) Expand all Loading... |
1081 // second trigger to terminate. | 1250 // second trigger to terminate. |
1082 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 1251 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
1083 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); | 1252 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); |
1084 | 1253 |
1085 run_loop.Run(); | 1254 run_loop.Run(); |
1086 | 1255 |
1087 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 1256 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
1088 } | 1257 } |
1089 } | 1258 } |
1090 | 1259 |
| 1260 #if defined(OS_ANDROID) |
| 1261 // Flaky on android: https://crbug.com/639706 |
| 1262 #define MAYBE_ReactiveSecondTriggerMustMatchForTermination \ |
| 1263 DISABLED_ReactiveSecondTriggerMustMatchForTermination |
| 1264 #else |
| 1265 #define MAYBE_ReactiveSecondTriggerMustMatchForTermination \ |
| 1266 ReactiveSecondTriggerMustMatchForTermination |
| 1267 #endif |
| 1268 |
1091 // This tests that reactive mode only terminates with the same trigger. | 1269 // This tests that reactive mode only terminates with the same trigger. |
1092 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 1270 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
1093 ReactiveSecondTriggerMustMatchForTermination) { | 1271 MAYBE_ReactiveSecondTriggerMustMatchForTermination) { |
1094 { | 1272 { |
1095 SetupBackgroundTracingManager(); | 1273 SetupBackgroundTracingManager(); |
1096 | 1274 |
1097 base::RunLoop run_loop; | 1275 base::RunLoop run_loop; |
1098 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 1276 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
1099 run_loop.QuitClosure()); | 1277 run_loop.QuitClosure()); |
1100 | 1278 |
1101 base::DictionaryValue dict; | 1279 base::DictionaryValue dict; |
1102 dict.SetString("mode", "REACTIVE_TRACING_MODE"); | 1280 dict.SetString("mode", "REACTIVE_TRACING_MODE"); |
1103 | 1281 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1150 // second trigger to terminate. | 1328 // second trigger to terminate. |
1151 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 1329 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
1152 handle1, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); | 1330 handle1, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); |
1153 | 1331 |
1154 run_loop.Run(); | 1332 run_loop.Run(); |
1155 | 1333 |
1156 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 1334 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
1157 } | 1335 } |
1158 } | 1336 } |
1159 | 1337 |
| 1338 #if defined(OS_ANDROID) |
| 1339 // Flaky on android: https://crbug.com/639706 |
| 1340 #define MAYBE_ReactiveThirdTriggerTimeout DISABLED_ReactiveThirdTriggerTimeout |
| 1341 #else |
| 1342 #define MAYBE_ReactiveThirdTriggerTimeout ReactiveThirdTriggerTimeout |
| 1343 #endif |
| 1344 |
1160 // This tests a third trigger in reactive more does not start another trace. | 1345 // This tests a third trigger in reactive more does not start another trace. |
1161 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 1346 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
1162 ReactiveThirdTriggerTimeout) { | 1347 MAYBE_ReactiveThirdTriggerTimeout) { |
1163 { | 1348 { |
1164 SetupBackgroundTracingManager(); | 1349 SetupBackgroundTracingManager(); |
1165 | 1350 |
1166 base::RunLoop run_loop; | 1351 base::RunLoop run_loop; |
1167 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 1352 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
1168 run_loop.QuitClosure()); | 1353 run_loop.QuitClosure()); |
1169 | 1354 |
1170 std::unique_ptr<BackgroundTracingConfig> config = CreateReactiveConfig(); | 1355 std::unique_ptr<BackgroundTracingConfig> config = CreateReactiveConfig(); |
1171 | 1356 |
1172 BackgroundTracingManager::TriggerHandle handle = | 1357 BackgroundTracingManager::TriggerHandle handle = |
(...skipping 16 matching lines...) Expand all Loading... |
1189 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 1374 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
1190 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), false)); | 1375 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), false)); |
1191 | 1376 |
1192 run_loop.Run(); | 1377 run_loop.Run(); |
1193 | 1378 |
1194 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 1379 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
1195 } | 1380 } |
1196 } | 1381 } |
1197 | 1382 |
1198 } // namespace content | 1383 } // namespace content |
OLD | NEW |