| Index: test/heap-unittests/heap-unittest.cc
|
| diff --git a/test/heap-unittests/heap-unittest.cc b/test/heap-unittests/heap-unittest.cc
|
| index ee1dcbca3d619397a83c19dfb75e5b3a0a07ee6f..220d8f2dffb7350579e9d489780eb58cc81f53d5 100644
|
| --- a/test/heap-unittests/heap-unittest.cc
|
| +++ b/test/heap-unittests/heap-unittest.cc
|
| @@ -2,14 +2,43 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include <climits>
|
| +
|
| +#include "src/heap/gc-idle-time-handler.h"
|
| +
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace v8 {
|
| namespace internal {
|
|
|
| -TEST(HeapTest, Dummy) {
|
| - EXPECT_FALSE(false);
|
| - EXPECT_TRUE(true);
|
| +TEST(EstimateMarkingStepSizeTest, EstimateMarkingStepSizeInitial) {
|
| + intptr_t step_size = GCIdleTimeHandler::EstimateMarkingStepSize(1, 0);
|
| + EXPECT_EQ(static_cast<intptr_t>(
|
| + GCIdleTimeHandler::kInitialConservativeMarkingSpeed *
|
| + GCIdleTimeHandler::kConservativeTimeRatio),
|
| + step_size);
|
| +}
|
| +
|
| +
|
| +TEST(EstimateMarkingStepSizeTest, EstimateMarkingStepSizeNonZero) {
|
| + intptr_t marking_speed_in_bytes_per_millisecond = 100;
|
| + intptr_t step_size = GCIdleTimeHandler::EstimateMarkingStepSize(
|
| + 1, marking_speed_in_bytes_per_millisecond);
|
| + EXPECT_EQ(static_cast<intptr_t>(marking_speed_in_bytes_per_millisecond *
|
| + GCIdleTimeHandler::kConservativeTimeRatio),
|
| + step_size);
|
| +}
|
| +
|
| +
|
| +TEST(EstimateMarkingStepSizeTest, EstimateMarkingStepSizeOverflow1) {
|
| + intptr_t step_size = GCIdleTimeHandler::EstimateMarkingStepSize(10, INT_MAX);
|
| + EXPECT_EQ(INT_MAX, step_size);
|
| +}
|
| +
|
| +
|
| +TEST(EstimateMarkingStepSizeTest, EstimateMarkingStepSizeOverflow2) {
|
| + intptr_t step_size = GCIdleTimeHandler::EstimateMarkingStepSize(INT_MAX, 10);
|
| + EXPECT_EQ(INT_MAX, step_size);
|
| }
|
|
|
| } // namespace internal
|
|
|