| 147 | #endif // ENABLE_THREAD_CHECKER |
| 148 | |
| 149 | void ThreadCheckerClass::DetachThenCallFromDifferentThreadImpl() { |
| 150 | scoped_ptr<ThreadCheckerClass> thread_checker_class( |
| 151 | new ThreadCheckerClass); |
| 152 | |
| 153 | // DoStuff doesn't assert when called on a different thread |
| 154 | // after a call to DetachFromThread. |
| 155 | thread_checker_class->DetachFromThread(); |
| 156 | CallDoStuffOnThread call_on_thread(thread_checker_class.get()); |
| 157 | |
| 158 | call_on_thread.Start(); |
| 159 | call_on_thread.Join(); |
| 160 | |
| 161 | // DoStuff should assert in debug builds only after moving to |
| 162 | // another thread. |
| 163 | thread_checker_class->DoStuff(); |
| 164 | } |
| 165 | |
| 166 | #if ENABLE_THREAD_CHECKER |
| 167 | TEST(ThreadCheckerDeathTest, DetachFromThreadInDebug) { |
nothing calls this directly
no test coverage detected