Chromium Code Reviews| Index: chrome/browser/task_manager/providers/browser_process_task_unittest.cc |
| diff --git a/chrome/browser/task_manager/providers/browser_process_task_unittest.cc b/chrome/browser/task_manager/providers/browser_process_task_unittest.cc |
| index 15fbc672b1a190b0e708b64b4869eb804a9380f2..83b00ac64a3446f141ee6fb2be1f458380182798 100644 |
| --- a/chrome/browser/task_manager/providers/browser_process_task_unittest.cc |
| +++ b/chrome/browser/task_manager/providers/browser_process_task_unittest.cc |
| @@ -76,13 +76,122 @@ TEST_F(BrowserProcessTaskProviderTest, TestProvidedTask) { |
| EXPECT_EQ(0, provided_task_->GetChildProcessUniqueID()); |
| const int received_bytes = 1024; |
| EXPECT_FALSE(provided_task_->ReportsNetworkUsage()); |
| - EXPECT_EQ(-1, provided_task_->network_usage()); |
| + EXPECT_EQ(-1, provided_task_->network_usage_rate()); |
| provided_task_->OnNetworkBytesRead(received_bytes); |
| // Do a refresh with a 1-second update time. |
| provided_task_->Refresh(base::TimeDelta::FromSeconds(1), |
| REFRESH_TYPE_NETWORK_USAGE); |
| +} |
| + |
| +// Test the provided browser process task itself. |
| +TEST_F(BrowserProcessTaskProviderTest, NetworkBytesReceived) { |
| + BrowserProcessTaskProvider provider; |
| + EXPECT_EQ(nullptr, provided_task_); |
| + provider.SetObserver(this); |
| + ASSERT_NE(nullptr, provided_task_); |
| + |
| + EXPECT_EQ(base::GetCurrentProcessHandle(), provided_task_->process_handle()); |
| + EXPECT_EQ(base::GetCurrentProcId(), provided_task_->process_id()); |
| + EXPECT_FALSE(provided_task_->ReportsWebCacheStats()); |
| + EXPECT_EQ(l10n_util::GetStringUTF16(IDS_TASK_MANAGER_WEB_BROWSER_CELL_TEXT), |
| + provided_task_->title()); |
| + EXPECT_EQ(Task::BROWSER, provided_task_->GetType()); |
| + EXPECT_EQ(0, provided_task_->GetChildProcessUniqueID()); |
| + const int received_bytes = 1024; |
| + EXPECT_FALSE(provided_task_->ReportsNetworkUsage()); |
| + EXPECT_EQ(-1, provided_task_->network_usage_rate()); |
| + provided_task_->OnNetworkBytesRead(received_bytes); |
| + // Do a refresh with a 1-second update time. |
| + provided_task_->Refresh(base::TimeDelta::FromSeconds(1), |
| + REFRESH_TYPE_NETWORK_USAGE); |
| + EXPECT_TRUE(provided_task_->ReportsNetworkUsage()); |
| + EXPECT_EQ(received_bytes, provided_task_->network_usage_rate()); |
| +} |
| + |
| +// Test the provided browser process task for sent bytes rate |
| +TEST_F(BrowserProcessTaskProviderTest, NetworkBytesSent) { |
| + BrowserProcessTaskProvider provider; |
| + provider.SetObserver(this); |
| + |
| + const int sent_bytes = 1024; |
| + EXPECT_FALSE(provided_task_->ReportsNetworkUsage()); |
| + EXPECT_EQ(-1, provided_task_->network_usage_rate()); |
| + provided_task_->OnNetworkBytesSent(sent_bytes); |
| + // Do a refresh with a 1-second update time. |
| + provided_task_->Refresh(base::TimeDelta::FromSeconds(1), |
| + REFRESH_TYPE_NETWORK_USAGE); |
| + EXPECT_TRUE(provided_task_->ReportsNetworkUsage()); |
| + EXPECT_EQ(sent_bytes, provided_task_->network_usage_rate()); |
| +} |
| + |
| +// Test the provided browser process task for received then sent bytes rate |
| +TEST_F(BrowserProcessTaskProviderTest, NetworkBytesReceivedThenSent) { |
| + BrowserProcessTaskProvider provider; |
| + provider.SetObserver(this); |
| + |
| + const int received_bytes = 1024; |
| + const int sent_bytes = 1024; |
| + EXPECT_FALSE(provided_task_->ReportsNetworkUsage()); |
| + EXPECT_EQ(-1, provided_task_->network_usage_rate()); |
| + provided_task_->OnNetworkBytesRead(received_bytes); |
| + provided_task_->OnNetworkBytesSent(sent_bytes); |
| + // Do a refresh with a 1-second update time. |
| + provided_task_->Refresh(base::TimeDelta::FromSeconds(1), |
| + REFRESH_TYPE_NETWORK_USAGE); |
| + EXPECT_TRUE(provided_task_->ReportsNetworkUsage()); |
| + EXPECT_EQ(received_bytes + sent_bytes, provided_task_->network_usage_rate()); |
| +} |
| + |
| +// Test the provided browser process task for sent then received rate. |
| +TEST_F(BrowserProcessTaskProviderTest, NetworkBytesSentThenReceived) { |
| + BrowserProcessTaskProvider provider; |
| + provider.SetObserver(this); |
| + |
| + const int received_bytes = 1024; |
| + const int sent_bytes = 1024; |
| + EXPECT_FALSE(provided_task_->ReportsNetworkUsage()); |
| + EXPECT_EQ(-1, provided_task_->network_usage_rate()); |
| + provided_task_->OnNetworkBytesSent(sent_bytes); |
| + provided_task_->OnNetworkBytesRead(received_bytes); |
| + // Do a refresh with a 1-second update time. |
| + provided_task_->Refresh(base::TimeDelta::FromSeconds(1), |
| + REFRESH_TYPE_NETWORK_USAGE); |
| + EXPECT_TRUE(provided_task_->ReportsNetworkUsage()); |
| + EXPECT_EQ(sent_bytes + received_bytes, provided_task_->network_usage_rate()); |
|
ncarter (slow)
2017/06/14 20:20:58
To really validate that cumulative is "since the b
cburn
2017/06/16 21:52:26
I've added some tests that cover this case.
|
| +} |
| + |
| +TEST_F(BrowserProcessTaskProviderTest, TotalNetworkBytesReceived) { |
| + BrowserProcessTaskProvider provider; |
| + provider.SetObserver(this); |
| + |
| + const int refresh_secs = 2; |
| + const int received_bytes = 1024 * refresh_secs; |
| + EXPECT_FALSE(provided_task_->ReportsNetworkUsage()); |
| + EXPECT_EQ(-1, provided_task_->network_usage_rate()); |
| + provided_task_->OnNetworkBytesRead(received_bytes); |
| + // Do a refresh with a 2-second update time so network_usage_rate() should be |
| + // half of cumulative_network_usage(); |
| + provided_task_->Refresh(base::TimeDelta::FromSeconds(2), |
|
ncarter (slow)
2017/06/14 20:20:58
2 -> refresh_secs
cburn
2017/06/16 21:52:26
Done.
|
| + REFRESH_TYPE_NETWORK_USAGE); |
| + EXPECT_TRUE(provided_task_->ReportsNetworkUsage()); |
| + EXPECT_EQ(received_bytes, provided_task_->cumulative_network_usage()); |
|
ncarter (slow)
2017/06/14 20:20:58
EXPECT_EQ(received_bytes / refresh_secs, provided_
cburn
2017/06/16 21:52:26
Done.
|
| +} |
| + |
| +TEST_F(BrowserProcessTaskProviderTest, TotalNetworkBytesSent) { |
| + BrowserProcessTaskProvider provider; |
| + provider.SetObserver(this); |
| + |
| + const int refresh_secs = 2; |
| + const int sent_bytes = 1024 * refresh_secs; |
| + EXPECT_FALSE(provided_task_->ReportsNetworkUsage()); |
| + EXPECT_EQ(-1, provided_task_->network_usage_rate()); |
| + provided_task_->OnNetworkBytesRead(sent_bytes); |
| + // Do a refresh with a 2-second update time so network_usage_rate() should be |
| + // half of cumulative_network_usage(); |
| + provided_task_->Refresh(base::TimeDelta::FromSeconds(2), |
|
ncarter (slow)
2017/06/14 20:20:58
2 -> refresh_secs
cburn
2017/06/16 21:52:26
Done.
|
| + REFRESH_TYPE_NETWORK_USAGE); |
| EXPECT_TRUE(provided_task_->ReportsNetworkUsage()); |
| - EXPECT_EQ(received_bytes, provided_task_->network_usage()); |
| + EXPECT_EQ(sent_bytes, provided_task_->cumulative_network_usage()); |
|
ncarter (slow)
2017/06/14 20:20:58
EXPECT_EQ(sent_bytes / refresh_secs, provided_task
cburn
2017/06/16 21:52:26
Done.
|
| } |
| } // namespace task_manager |