Chromium Code Reviews| Index: base/thread_unittest.cc |
| =================================================================== |
| --- base/thread_unittest.cc (revision 8282) |
| +++ base/thread_unittest.cc (working copy) |
| @@ -37,6 +37,20 @@ |
| int msec_; |
| }; |
| +class SleepInsideInitThread : public Thread { |
| + public: |
| + SleepInsideInitThread() : Thread("none") { init_called_ = false; } |
|
Mark Mentovai
2009/01/22 19:36:10
Prefer |init_called_(false) { }| for constructors.
|
| + virtual ~SleepInsideInitThread() { } |
| + |
| + virtual void Init() { |
| + PlatformThread::Sleep(1000); |
| + init_called_ = true; |
| + } |
| + bool InitCalled() { return init_called_; } |
|
Mark Mentovai
2009/01/22 19:36:10
It's almost not worth mentioning for this because
|
| + private: |
| + bool init_called_; |
| +}; |
| + |
| } // namespace |
| TEST_F(ThreadTest, Restart) { |
| @@ -107,3 +121,12 @@ |
| EXPECT_TRUE(a.Start()); |
| EXPECT_EQ("ThreadName", a.thread_name()); |
| } |
| + |
| +// Make sure we can't use a thread between Start() and Init(). |
| +TEST_F(ThreadTest, SleepInsideInit) { |
| + SleepInsideInitThread t; |
| + EXPECT_FALSE(t.InitCalled()); |
| + t.Start(); |
| + EXPECT_TRUE(t.InitCalled()); |
| +} |
| + |
|
Mark Mentovai
2009/01/22 19:36:10
Nit: kill trailing blank line.
|