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 |