OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include <cstring> | 5 #include <cstring> |
6 | 6 |
7 #include "platform/assert.h" | 7 #include "platform/assert.h" |
8 | 8 |
9 #include "vm/dart_api_impl.h" | 9 #include "vm/dart_api_impl.h" |
10 #include "vm/dart_api_state.h" | 10 #include "vm/dart_api_state.h" |
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
422 | 422 |
423 // Test case. | 423 // Test case. |
424 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); | 424 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); |
425 { | 425 { |
426 TimelinePauses pauses(zone, isolate, recorder); | 426 TimelinePauses pauses(zone, isolate, recorder); |
427 pauses.Setup(); | 427 pauses.Setup(); |
428 pauses.CalculatePauseTimesForThread(tid); | 428 pauses.CalculatePauseTimesForThread(tid); |
429 EXPECT(!pauses.has_error()); | 429 EXPECT(!pauses.has_error()); |
430 EXPECT_EQ(10, pauses.InclusiveTime("a")); | 430 EXPECT_EQ(10, pauses.InclusiveTime("a")); |
431 EXPECT_EQ(10, pauses.ExclusiveTime("a")); | 431 EXPECT_EQ(10, pauses.ExclusiveTime("a")); |
432 EXPECT_EQ(10, pauses.MaxDurationTime("a")); | 432 EXPECT_EQ(10, pauses.MaxInclusiveTime("a")); |
| 433 EXPECT_EQ(10, pauses.MaxExclusiveTime("a")); |
433 } | 434 } |
434 TimelineTestHelper::Clear(recorder); | 435 TimelineTestHelper::Clear(recorder); |
435 | 436 |
436 // Test case. | 437 // Test case. |
437 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); | 438 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); |
438 TimelineTestHelper::FakeDuration(recorder, "b", 0, 10); | 439 TimelineTestHelper::FakeDuration(recorder, "b", 0, 10); |
439 { | 440 { |
440 TimelinePauses pauses(zone, isolate, recorder); | 441 TimelinePauses pauses(zone, isolate, recorder); |
441 pauses.Setup(); | 442 pauses.Setup(); |
442 pauses.CalculatePauseTimesForThread(tid); | 443 pauses.CalculatePauseTimesForThread(tid); |
443 EXPECT(!pauses.has_error()); | 444 EXPECT(!pauses.has_error()); |
444 EXPECT_EQ(10, pauses.InclusiveTime("a")); | 445 EXPECT_EQ(10, pauses.InclusiveTime("a")); |
445 EXPECT_EQ(0, pauses.ExclusiveTime("a")); | 446 EXPECT_EQ(0, pauses.ExclusiveTime("a")); |
446 EXPECT_EQ(10, pauses.MaxDurationTime("a")); | 447 EXPECT_EQ(10, pauses.MaxInclusiveTime("a")); |
| 448 EXPECT_EQ(0, pauses.MaxExclusiveTime("a")); |
447 EXPECT_EQ(10, pauses.InclusiveTime("b")); | 449 EXPECT_EQ(10, pauses.InclusiveTime("b")); |
448 EXPECT_EQ(10, pauses.ExclusiveTime("b")); | 450 EXPECT_EQ(10, pauses.ExclusiveTime("b")); |
449 EXPECT_EQ(10, pauses.MaxDurationTime("b")); | 451 EXPECT_EQ(10, pauses.MaxInclusiveTime("b")); |
| 452 EXPECT_EQ(10, pauses.MaxExclusiveTime("b")); |
450 } | 453 } |
451 TimelineTestHelper::Clear(recorder); | 454 TimelineTestHelper::Clear(recorder); |
452 | 455 |
453 // Test case. | 456 // Test case. |
454 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); | 457 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); |
455 TimelineTestHelper::FakeDuration(recorder, "b", 1, 8); | 458 TimelineTestHelper::FakeDuration(recorder, "b", 1, 8); |
456 { | 459 { |
457 TimelinePauses pauses(zone, isolate, recorder); | 460 TimelinePauses pauses(zone, isolate, recorder); |
458 pauses.Setup(); | 461 pauses.Setup(); |
459 pauses.CalculatePauseTimesForThread(tid); | 462 pauses.CalculatePauseTimesForThread(tid); |
460 EXPECT(!pauses.has_error()); | 463 EXPECT(!pauses.has_error()); |
461 EXPECT_EQ(10, pauses.InclusiveTime("a")); | 464 EXPECT_EQ(10, pauses.InclusiveTime("a")); |
462 EXPECT_EQ(3, pauses.ExclusiveTime("a")); | 465 EXPECT_EQ(3, pauses.ExclusiveTime("a")); |
463 EXPECT_EQ(10, pauses.MaxDurationTime("a")); | 466 EXPECT_EQ(10, pauses.MaxInclusiveTime("a")); |
| 467 EXPECT_EQ(3, pauses.MaxExclusiveTime("a")); |
464 EXPECT_EQ(7, pauses.InclusiveTime("b")); | 468 EXPECT_EQ(7, pauses.InclusiveTime("b")); |
465 EXPECT_EQ(7, pauses.ExclusiveTime("b")); | 469 EXPECT_EQ(7, pauses.ExclusiveTime("b")); |
466 EXPECT_EQ(7, pauses.MaxDurationTime("b")); | 470 EXPECT_EQ(7, pauses.MaxInclusiveTime("b")); |
| 471 EXPECT_EQ(7, pauses.MaxExclusiveTime("b")); |
467 } | 472 } |
468 TimelineTestHelper::Clear(recorder); | 473 TimelineTestHelper::Clear(recorder); |
469 | 474 |
470 // Test case. | 475 // Test case. |
471 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); | 476 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); |
472 TimelineTestHelper::FakeDuration(recorder, "b", 0, 1); | 477 TimelineTestHelper::FakeDuration(recorder, "b", 0, 1); |
473 TimelineTestHelper::FakeDuration(recorder, "b", 1, 2); | 478 TimelineTestHelper::FakeDuration(recorder, "b", 1, 2); |
474 TimelineTestHelper::FakeDuration(recorder, "b", 2, 3); | 479 TimelineTestHelper::FakeDuration(recorder, "b", 2, 3); |
475 TimelineTestHelper::FakeDuration(recorder, "b", 3, 4); | 480 TimelineTestHelper::FakeDuration(recorder, "b", 3, 4); |
476 TimelineTestHelper::FakeDuration(recorder, "b", 4, 5); | 481 TimelineTestHelper::FakeDuration(recorder, "b", 4, 5); |
477 TimelineTestHelper::FakeDuration(recorder, "b", 5, 6); | 482 TimelineTestHelper::FakeDuration(recorder, "b", 5, 6); |
478 TimelineTestHelper::FakeDuration(recorder, "b", 6, 7); | 483 TimelineTestHelper::FakeDuration(recorder, "b", 6, 7); |
479 TimelineTestHelper::FakeDuration(recorder, "b", 7, 8); | 484 TimelineTestHelper::FakeDuration(recorder, "b", 7, 8); |
480 TimelineTestHelper::FakeDuration(recorder, "b", 8, 9); | 485 TimelineTestHelper::FakeDuration(recorder, "b", 8, 9); |
481 TimelineTestHelper::FakeDuration(recorder, "b", 9, 10); | 486 TimelineTestHelper::FakeDuration(recorder, "b", 9, 10); |
482 { | 487 { |
483 TimelinePauses pauses(zone, isolate, recorder); | 488 TimelinePauses pauses(zone, isolate, recorder); |
484 pauses.Setup(); | 489 pauses.Setup(); |
485 pauses.CalculatePauseTimesForThread(tid); | 490 pauses.CalculatePauseTimesForThread(tid); |
486 EXPECT(!pauses.has_error()); | 491 EXPECT(!pauses.has_error()); |
487 EXPECT_EQ(10, pauses.InclusiveTime("a")); | 492 EXPECT_EQ(10, pauses.InclusiveTime("a")); |
488 EXPECT_EQ(0, pauses.ExclusiveTime("a")); | 493 EXPECT_EQ(0, pauses.ExclusiveTime("a")); |
489 EXPECT_EQ(10, pauses.MaxDurationTime("a")); | 494 EXPECT_EQ(10, pauses.MaxInclusiveTime("a")); |
| 495 EXPECT_EQ(0, pauses.MaxExclusiveTime("a")); |
490 EXPECT_EQ(10, pauses.InclusiveTime("b")); | 496 EXPECT_EQ(10, pauses.InclusiveTime("b")); |
491 EXPECT_EQ(10, pauses.ExclusiveTime("b")); | 497 EXPECT_EQ(10, pauses.ExclusiveTime("b")); |
492 EXPECT_EQ(1, pauses.MaxDurationTime("b")); | 498 EXPECT_EQ(1, pauses.MaxInclusiveTime("b")); |
| 499 EXPECT_EQ(1, pauses.MaxExclusiveTime("b")); |
493 } | 500 } |
494 TimelineTestHelper::Clear(recorder); | 501 TimelineTestHelper::Clear(recorder); |
495 | 502 |
496 // Test case. | 503 // Test case. |
497 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); | 504 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); |
498 TimelineTestHelper::FakeDuration(recorder, "b", 0, 5); | 505 TimelineTestHelper::FakeDuration(recorder, "b", 0, 5); |
499 TimelineTestHelper::FakeDuration(recorder, "c", 1, 4); | 506 TimelineTestHelper::FakeDuration(recorder, "c", 1, 4); |
500 TimelineTestHelper::FakeDuration(recorder, "d", 5, 10); | 507 TimelineTestHelper::FakeDuration(recorder, "d", 5, 10); |
501 | 508 |
502 { | 509 { |
503 TimelinePauses pauses(zone, isolate, recorder); | 510 TimelinePauses pauses(zone, isolate, recorder); |
504 pauses.Setup(); | 511 pauses.Setup(); |
505 pauses.CalculatePauseTimesForThread(tid); | 512 pauses.CalculatePauseTimesForThread(tid); |
506 EXPECT(!pauses.has_error()); | 513 EXPECT(!pauses.has_error()); |
507 EXPECT_EQ(10, pauses.InclusiveTime("a")); | 514 EXPECT_EQ(10, pauses.InclusiveTime("a")); |
508 EXPECT_EQ(0, pauses.ExclusiveTime("a")); | 515 EXPECT_EQ(0, pauses.ExclusiveTime("a")); |
509 EXPECT_EQ(10, pauses.MaxDurationTime("a")); | 516 EXPECT_EQ(10, pauses.MaxInclusiveTime("a")); |
| 517 EXPECT_EQ(0, pauses.MaxExclusiveTime("a")); |
510 EXPECT_EQ(5, pauses.InclusiveTime("b")); | 518 EXPECT_EQ(5, pauses.InclusiveTime("b")); |
511 EXPECT_EQ(2, pauses.ExclusiveTime("b")); | 519 EXPECT_EQ(2, pauses.ExclusiveTime("b")); |
512 EXPECT_EQ(5, pauses.MaxDurationTime("b")); | 520 EXPECT_EQ(5, pauses.MaxInclusiveTime("b")); |
| 521 EXPECT_EQ(2, pauses.MaxExclusiveTime("b")); |
513 EXPECT_EQ(3, pauses.InclusiveTime("c")); | 522 EXPECT_EQ(3, pauses.InclusiveTime("c")); |
514 EXPECT_EQ(3, pauses.ExclusiveTime("c")); | 523 EXPECT_EQ(3, pauses.ExclusiveTime("c")); |
515 EXPECT_EQ(3, pauses.MaxDurationTime("c")); | 524 EXPECT_EQ(3, pauses.MaxInclusiveTime("c")); |
| 525 EXPECT_EQ(3, pauses.MaxExclusiveTime("c")); |
516 EXPECT_EQ(5, pauses.InclusiveTime("d")); | 526 EXPECT_EQ(5, pauses.InclusiveTime("d")); |
517 EXPECT_EQ(5, pauses.ExclusiveTime("d")); | 527 EXPECT_EQ(5, pauses.ExclusiveTime("d")); |
518 EXPECT_EQ(5, pauses.MaxDurationTime("d")); | 528 EXPECT_EQ(5, pauses.MaxInclusiveTime("d")); |
| 529 EXPECT_EQ(5, pauses.MaxExclusiveTime("d")); |
519 } | 530 } |
520 TimelineTestHelper::Clear(recorder); | 531 TimelineTestHelper::Clear(recorder); |
521 | 532 |
522 // Test case. | 533 // Test case. |
523 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); | 534 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); |
524 TimelineTestHelper::FakeDuration(recorder, "b", 1, 9); | 535 TimelineTestHelper::FakeDuration(recorder, "b", 1, 9); |
525 TimelineTestHelper::FakeDuration(recorder, "c", 2, 8); | 536 TimelineTestHelper::FakeDuration(recorder, "c", 2, 8); |
526 TimelineTestHelper::FakeDuration(recorder, "d", 3, 7); | 537 TimelineTestHelper::FakeDuration(recorder, "d", 3, 7); |
527 TimelineTestHelper::FakeDuration(recorder, "e", 4, 6); | 538 TimelineTestHelper::FakeDuration(recorder, "e", 4, 6); |
528 | 539 |
529 { | 540 { |
530 TimelinePauses pauses(zone, isolate, recorder); | 541 TimelinePauses pauses(zone, isolate, recorder); |
531 pauses.Setup(); | 542 pauses.Setup(); |
532 pauses.CalculatePauseTimesForThread(tid); | 543 pauses.CalculatePauseTimesForThread(tid); |
533 EXPECT(!pauses.has_error()); | 544 EXPECT(!pauses.has_error()); |
534 EXPECT_EQ(10, pauses.InclusiveTime("a")); | 545 EXPECT_EQ(10, pauses.InclusiveTime("a")); |
535 EXPECT_EQ(2, pauses.ExclusiveTime("a")); | 546 EXPECT_EQ(2, pauses.ExclusiveTime("a")); |
536 EXPECT_EQ(10, pauses.MaxDurationTime("a")); | 547 EXPECT_EQ(10, pauses.MaxInclusiveTime("a")); |
| 548 EXPECT_EQ(2, pauses.MaxExclusiveTime("a")); |
537 EXPECT_EQ(8, pauses.InclusiveTime("b")); | 549 EXPECT_EQ(8, pauses.InclusiveTime("b")); |
538 EXPECT_EQ(2, pauses.ExclusiveTime("b")); | 550 EXPECT_EQ(2, pauses.ExclusiveTime("b")); |
539 EXPECT_EQ(8, pauses.MaxDurationTime("b")); | 551 EXPECT_EQ(8, pauses.MaxInclusiveTime("b")); |
| 552 EXPECT_EQ(2, pauses.MaxExclusiveTime("b")); |
540 EXPECT_EQ(6, pauses.InclusiveTime("c")); | 553 EXPECT_EQ(6, pauses.InclusiveTime("c")); |
541 EXPECT_EQ(2, pauses.ExclusiveTime("c")); | 554 EXPECT_EQ(2, pauses.ExclusiveTime("c")); |
542 EXPECT_EQ(6, pauses.MaxDurationTime("c")); | 555 EXPECT_EQ(6, pauses.MaxInclusiveTime("c")); |
| 556 EXPECT_EQ(2, pauses.MaxExclusiveTime("c")); |
543 EXPECT_EQ(4, pauses.InclusiveTime("d")); | 557 EXPECT_EQ(4, pauses.InclusiveTime("d")); |
544 EXPECT_EQ(2, pauses.ExclusiveTime("d")); | 558 EXPECT_EQ(2, pauses.ExclusiveTime("d")); |
545 EXPECT_EQ(4, pauses.MaxDurationTime("d")); | 559 EXPECT_EQ(4, pauses.MaxInclusiveTime("d")); |
| 560 EXPECT_EQ(2, pauses.MaxExclusiveTime("d")); |
546 EXPECT_EQ(2, pauses.InclusiveTime("e")); | 561 EXPECT_EQ(2, pauses.InclusiveTime("e")); |
547 EXPECT_EQ(2, pauses.ExclusiveTime("e")); | 562 EXPECT_EQ(2, pauses.ExclusiveTime("e")); |
548 EXPECT_EQ(2, pauses.MaxDurationTime("e")); | 563 EXPECT_EQ(2, pauses.MaxInclusiveTime("e")); |
| 564 EXPECT_EQ(2, pauses.MaxExclusiveTime("e")); |
549 } | 565 } |
550 TimelineTestHelper::Clear(recorder); | 566 TimelineTestHelper::Clear(recorder); |
551 | 567 |
552 // Test case. | 568 // Test case. |
553 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); | 569 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); |
554 TimelineTestHelper::FakeDuration(recorder, "a", 1, 9); | 570 TimelineTestHelper::FakeDuration(recorder, "a", 1, 9); |
555 | 571 |
556 { | 572 { |
557 TimelinePauses pauses(zone, isolate, recorder); | 573 TimelinePauses pauses(zone, isolate, recorder); |
558 pauses.Setup(); | 574 pauses.Setup(); |
559 pauses.CalculatePauseTimesForThread(tid); | 575 pauses.CalculatePauseTimesForThread(tid); |
560 EXPECT(!pauses.has_error()); | 576 EXPECT(!pauses.has_error()); |
561 EXPECT_EQ(18, pauses.InclusiveTime("a")); | 577 EXPECT_EQ(10, pauses.InclusiveTime("a")); |
562 EXPECT_EQ(10, pauses.ExclusiveTime("a")); | 578 EXPECT_EQ(10, pauses.ExclusiveTime("a")); |
563 EXPECT_EQ(10, pauses.MaxDurationTime("a")); | 579 EXPECT_EQ(10, pauses.MaxInclusiveTime("a")); |
| 580 EXPECT_EQ(8, pauses.MaxExclusiveTime("a")); |
564 } | 581 } |
565 TimelineTestHelper::Clear(recorder); | 582 TimelineTestHelper::Clear(recorder); |
566 } | 583 } |
567 | 584 |
568 } // namespace dart | 585 } // namespace dart |
OLD | NEW |