diff options
author | deanm@google.com <deanm@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-22 18:39:02 +0000 |
---|---|---|
committer | deanm@google.com <deanm@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-22 18:39:02 +0000 |
commit | 0178b9dc6ccfdb5d8cb533e76a9e80510aa4daec (patch) | |
tree | fd59749dedbf9935d7ece6d48fe04ed7496afbd5 /base/simple_thread_unittest.cc | |
parent | 8520bbc61b58da359898aeec9fd8715aee1e3625 (diff) | |
download | chromium_src-0178b9dc6ccfdb5d8cb533e76a9e80510aa4daec.zip chromium_src-0178b9dc6ccfdb5d8cb533e76a9e80510aa4daec.tar.gz chromium_src-0178b9dc6ccfdb5d8cb533e76a9e80510aa4daec.tar.bz2 |
Remove CallWrapper and SimpleThread. They overlap too closely with the message loop variants Thread and Task.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1230 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/simple_thread_unittest.cc')
-rw-r--r-- | base/simple_thread_unittest.cc | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/base/simple_thread_unittest.cc b/base/simple_thread_unittest.cc deleted file mode 100644 index fcdabda..0000000 --- a/base/simple_thread_unittest.cc +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2008, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include <vector> - -#include "base/call_wrapper.h" -#include "base/scoped_ptr.h" -#include "base/simple_thread.h" -#include "base/string_util.h" -#include "base/waitable_event.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace { - -void SetInt(int* p, int x) { - *p = x; -} - -void SignalEvent(base::WaitableEvent* event) { - EXPECT_FALSE(event->IsSignaled()); - event->Signal(); - EXPECT_TRUE(event->IsSignaled()); -} - -} // namespace - -TEST(SimpleThreadTest, CreateAndJoin) { - int stack_int = 0; - - scoped_ptr<base::CallWrapper> wrapper( - base::NewFunctionCallWrapper(SetInt, &stack_int, 7)); - EXPECT_EQ(0, stack_int); - scoped_ptr<base::SimpleThread> thread( - new base::CallWrapperSimpleThread(wrapper.get())); - EXPECT_FALSE(thread->HasBeenStarted()); - EXPECT_FALSE(thread->HasBeenJoined()); - EXPECT_EQ(0, stack_int); - - thread->Start(); - EXPECT_TRUE(thread->HasBeenStarted()); - EXPECT_FALSE(thread->HasBeenJoined()); - - thread->Join(); - EXPECT_TRUE(thread->HasBeenStarted()); - EXPECT_TRUE(thread->HasBeenJoined()); - EXPECT_EQ(7, stack_int); -} - -TEST(SimpleThreadTest, WaitForEvent) { - // Create a thread, and wait for it to signal us. - base::WaitableEvent event(true, false); - - scoped_ptr<base::CallWrapper> wrapper( - base::NewFunctionCallWrapper(SignalEvent, &event)); - scoped_ptr<base::SimpleThread> thread( - new base::CallWrapperSimpleThread(wrapper.get())); - - EXPECT_FALSE(event.IsSignaled()); - thread->Start(); - event.Wait(); - EXPECT_TRUE(event.IsSignaled()); - thread->Join(); -} - -TEST(SimpleThreadTest, Named) { - base::WaitableEvent event(true, false); - - base::SimpleThread::Options options; - scoped_ptr<base::CallWrapper> wrapper( - base::NewFunctionCallWrapper(SignalEvent, &event)); - scoped_ptr<base::SimpleThread> thread(new base::CallWrapperSimpleThread( - wrapper.get(), options, "testy")); - EXPECT_EQ(thread->name_prefix(), "testy"); - EXPECT_FALSE(event.IsSignaled()); - - thread->Start(); - EXPECT_EQ(thread->name_prefix(), "testy"); - EXPECT_EQ(thread->name(), std::string("testy/") + IntToString(thread->tid())); - event.Wait(); - - EXPECT_TRUE(event.IsSignaled()); - thread->Join(); - - // We keep the name and tid, even after the thread is gone. - EXPECT_EQ(thread->name_prefix(), "testy"); - EXPECT_EQ(thread->name(), std::string("testy/") + IntToString(thread->tid())); -} |