Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(720)

Unified Diff: base/metrics/stats_table_unittest.cc

Issue 224713017: Remove IPC dependency from base (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: unit tests Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/metrics/stats_table_unittest.cc
diff --git a/base/metrics/stats_table_unittest.cc b/base/metrics/stats_table_unittest.cc
index 3fcb099af1de488598e2a55d27d862102c0e6226..53a47315e6fbb4f484e267ed5bf3eb429788db5f 100644
--- a/base/metrics/stats_table_unittest.cc
+++ b/base/metrics/stats_table_unittest.cc
@@ -18,21 +18,14 @@
namespace base {
class StatsTableTest : public MultiProcessTest {
- public:
- void DeleteShmem(const std::string& name) {
- SharedMemory mem;
- mem.Delete(name);
- }
};
// Open a StatsTable and verify that we can write to each of the
// locations in the table.
TEST_F(StatsTableTest, VerifySlots) {
- const std::string kTableName = "VerifySlotsStatTable";
const int kMaxThreads = 1;
const int kMaxCounter = 5;
- DeleteShmem(kTableName);
- StatsTable table(kTableName, kMaxThreads, kMaxCounter);
+ StatsTable table(StatsTable::TableIdentifier(), kMaxThreads, kMaxCounter);
// Register a single thread.
std::string thread_name = "mainThread";
@@ -55,8 +48,6 @@ TEST_F(StatsTableTest, VerifySlots) {
// Try to allocate an additional counter. Verify it fails.
int counter_id = table.FindCounter(counter_base_name);
EXPECT_EQ(counter_id, 0);
-
- DeleteShmem(kTableName);
}
// CounterZero will continually be set to 0.
@@ -117,11 +108,9 @@ void StatsTableThread::Run() {
#endif
TEST_F(StatsTableTest, MAYBE_MultipleThreads) {
// Create a stats table.
- const std::string kTableName = "MultipleThreadStatTable";
const int kMaxThreads = 20;
const int kMaxCounter = 5;
- DeleteShmem(kTableName);
- StatsTable table(kTableName, kMaxThreads, kMaxCounter);
+ StatsTable table(StatsTable::TableIdentifier(), kMaxThreads, kMaxCounter);
StatsTable::set_current(&table);
EXPECT_EQ(0, table.CountThreadsRegistered());
@@ -166,10 +155,11 @@ TEST_F(StatsTableTest, MAYBE_MultipleThreads) {
EXPECT_EQ((kMaxThreads % 2) * kThreadLoops,
table.GetCounterValue(name));
EXPECT_EQ(0, table.CountThreadsRegistered());
-
- DeleteShmem(kTableName);
}
+// This multiprocess test only runs on Windows. On Posix, the shared memory
+// handle is not sent between the processes properly.
+#if defined(OS_WIN)
const std::string kMPTableName = "MultipleProcessStatTable";
MULTIPROCESS_TEST_MAIN(StatsTableMultipleProcessMain) {
@@ -199,7 +189,6 @@ TEST_F(StatsTableTest, DISABLED_MultipleProcesses) {
// Create a stats table.
const int kMaxProcs = 20;
const int kMaxCounter = 5;
- DeleteShmem(kMPTableName);
StatsTable table(kMPTableName, kMaxProcs, kMaxCounter);
StatsTable::set_current(&table);
EXPECT_EQ(0, table.CountThreadsRegistered());
@@ -241,9 +230,8 @@ TEST_F(StatsTableTest, DISABLED_MultipleProcesses) {
EXPECT_EQ(-kMaxProcs * kThreadLoops,
table.GetCounterValue(name));
EXPECT_EQ(0, table.CountThreadsRegistered());
-
- DeleteShmem(kMPTableName);
}
+#endif
class MockStatsCounter : public StatsCounter {
public:
@@ -255,11 +243,9 @@ class MockStatsCounter : public StatsCounter {
// Test some basic StatsCounter operations
TEST_F(StatsTableTest, StatsCounter) {
// Create a stats table.
- const std::string kTableName = "StatTable";
const int kMaxThreads = 20;
const int kMaxCounter = 5;
- DeleteShmem(kTableName);
- StatsTable table(kTableName, kMaxThreads, kMaxCounter);
+ StatsTable table(StatsTable::TableIdentifier(), kMaxThreads, kMaxCounter);
StatsTable::set_current(&table);
MockStatsCounter foo("foo");
@@ -295,8 +281,6 @@ TEST_F(StatsTableTest, StatsCounter) {
EXPECT_EQ(-1, table.GetCounterValue("c:foo"));
foo.Subtract(-1);
EXPECT_EQ(0, table.GetCounterValue("c:foo"));
-
- DeleteShmem(kTableName);
}
class MockStatsCounterTimer : public StatsCounterTimer {
@@ -311,11 +295,9 @@ class MockStatsCounterTimer : public StatsCounterTimer {
// Test some basic StatsCounterTimer operations
TEST_F(StatsTableTest, StatsCounterTimer) {
// Create a stats table.
- const std::string kTableName = "StatTable";
const int kMaxThreads = 20;
const int kMaxCounter = 5;
- DeleteShmem(kTableName);
- StatsTable table(kTableName, kMaxThreads, kMaxCounter);
+ StatsTable table(StatsTable::TableIdentifier(), kMaxThreads, kMaxCounter);
StatsTable::set_current(&table);
MockStatsCounterTimer bar("bar");
@@ -340,17 +322,14 @@ TEST_F(StatsTableTest, StatsCounterTimer) {
bar.Stop();
EXPECT_GT(table.GetCounterValue("t:bar"), 0);
EXPECT_LE(kDuration.InMilliseconds() * 2, table.GetCounterValue("t:bar"));
- DeleteShmem(kTableName);
}
// Test some basic StatsRate operations
TEST_F(StatsTableTest, StatsRate) {
// Create a stats table.
- const std::string kTableName = "StatTable";
const int kMaxThreads = 20;
const int kMaxCounter = 5;
- DeleteShmem(kTableName);
- StatsTable table(kTableName, kMaxThreads, kMaxCounter);
+ StatsTable table(StatsTable::TableIdentifier(), kMaxThreads, kMaxCounter);
StatsTable::set_current(&table);
StatsRate baz("baz");
@@ -375,17 +354,14 @@ TEST_F(StatsTableTest, StatsRate) {
baz.Stop();
EXPECT_EQ(2, table.GetCounterValue("c:baz"));
EXPECT_LE(kDuration.InMilliseconds() * 2, table.GetCounterValue("t:baz"));
- DeleteShmem(kTableName);
}
// Test some basic StatsScope operations
TEST_F(StatsTableTest, StatsScope) {
// Create a stats table.
- const std::string kTableName = "StatTable";
const int kMaxThreads = 20;
const int kMaxCounter = 5;
- DeleteShmem(kTableName);
- StatsTable table(kTableName, kMaxThreads, kMaxCounter);
+ StatsTable table(StatsTable::TableIdentifier(), kMaxThreads, kMaxCounter);
StatsTable::set_current(&table);
StatsCounterTimer foo("foo");
@@ -417,8 +393,6 @@ TEST_F(StatsTableTest, StatsScope) {
EXPECT_LE(kDuration.InMilliseconds() * 2, table.GetCounterValue("t:foo"));
EXPECT_LE(kDuration.InMilliseconds() * 2, table.GetCounterValue("t:bar"));
EXPECT_EQ(2, table.GetCounterValue("c:bar"));
-
- DeleteShmem(kTableName);
}
} // namespace base

Powered by Google App Engine
This is Rietveld 408576698