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

Unified Diff: base/reactor_unittest.cc

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 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
« no previous file with comments | « base/reactor.cc ('k') | base/reg_key.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/reactor_unittest.cc
diff --git a/base/reactor_unittest.cc b/base/reactor_unittest.cc
deleted file mode 100644
index 99463b6de923e762a4d75c4c0d663f472b5936d0..0000000000000000000000000000000000000000
--- a/base/reactor_unittest.cc
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright 2008-2009 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// ========================================================================
-
-
-#include <stdlib.h>
-#include "base/scoped_ptr.h"
-#include "omaha/base/event_handler.h"
-#include "omaha/base/reactor.h"
-#include "omaha/base/scoped_any.h"
-#include "omaha/testing/unit_test.h"
-
-namespace omaha {
-
-// TODO(omaha): rename EventHandler to EventHandlerInterface.
-
-// Creates and registers two waitable timers with the reactor. They go off
-// randomly until the reactor stops handling events.
-class ReactorTest
- : public testing::Test,
- public EventHandler {
- protected:
- ReactorTest() : cnt_(0) {}
-
- virtual void SetUp() {
- // Timer handles are with auto reset for simplicity.
- reset(timer1_, ::CreateWaitableTimer(NULL, false, NULL));
- reset(timer2_, ::CreateWaitableTimer(NULL, false, NULL));
-
- reset(event_done_, ::CreateEvent(NULL, true, false, NULL));
-
- ASSERT_TRUE(timer1_);
- ASSERT_TRUE(timer2_);
- ASSERT_TRUE(event_done_);
-
- // We only need the thread handle to queue an empty APC to it.
- reset(main_thread_, ::OpenThread(THREAD_ALL_ACCESS,
- false,
- ::GetCurrentThreadId()));
- ASSERT_TRUE(main_thread_);
- }
-
- virtual void TearDown() {
- }
-
- // EventHandler.
- virtual void HandleEvent(HANDLE h);
-
- // Empty APC to stop the reactor.
- static void _stdcall Stop(ULONG_PTR) {}
-
- // Returns an integer value in the [0, 10) range.
- static int GetSmallInt() {
- unsigned int val = 0;
- rand_s(&val);
- return val % 10;
- }
-
- Reactor reactor_;
-
- scoped_timer timer1_;
- scoped_timer timer2_;
- scoped_event event_done_;
-
- scoped_handle main_thread_;
- LONG cnt_;
- static const LONG ReactorTest::kMaxCount = 10;
-};
-
-const LONG ReactorTest::kMaxCount;
-
-void ReactorTest::HandleEvent(HANDLE h) {
- EXPECT_TRUE(h);
- if (h == get(event_done_)) {
- ASSERT_TRUE(::QueueUserAPC(&ReactorTest::Stop,
- get(main_thread_),
- 0));
- } else if (h == get(timer1_) || h == get(timer2_)) {
- // Check the handles auto reset correctly.
- EXPECT_EQ(::WaitForSingleObject(h, 0), WAIT_TIMEOUT);
- if (::InterlockedIncrement(&cnt_) > kMaxCount) {
- ASSERT_TRUE(::SetEvent(get(event_done_)));
- } else {
- ASSERT_HRESULT_SUCCEEDED(reactor_.RegisterHandle(h));
-
- unsigned int val = 0;
- ASSERT_EQ(rand_s(&val), 0);
- val %= 10;
-
- // Set the timer to fire; negative values indicate relative time.
- LARGE_INTEGER due_time_100ns = {0};
- due_time_100ns.QuadPart = -(static_cast<int>(val) * 10 * 1000);
- ASSERT_TRUE(::SetWaitableTimer(h, &due_time_100ns, 0, NULL, NULL, false));
- }
- }
-}
-
-// Registers the handles, primes the timers, and handles events.
-TEST_F(ReactorTest, HandleEvents) {
- ASSERT_HRESULT_SUCCEEDED(reactor_.RegisterHandle(get(event_done_), this, 0));
- ASSERT_HRESULT_SUCCEEDED(reactor_.RegisterHandle(get(timer1_), this, 0));
- ASSERT_HRESULT_SUCCEEDED(reactor_.RegisterHandle(get(timer2_), this, 0));
-
- LARGE_INTEGER due_time_100ns = {0};
- ASSERT_TRUE(SetWaitableTimer(get(timer1_),
- &due_time_100ns,
- 0,
- NULL,
- NULL,
- false));
- ASSERT_TRUE(SetWaitableTimer(get(timer2_),
- &due_time_100ns,
- 0,
- NULL,
- NULL,
- false));
-
- ASSERT_HRESULT_SUCCEEDED(reactor_.HandleEvents());
-
- ASSERT_HRESULT_SUCCEEDED(reactor_.UnregisterHandle(get(timer2_)));
- ASSERT_HRESULT_SUCCEEDED(reactor_.UnregisterHandle(get(timer1_)));
- ASSERT_HRESULT_SUCCEEDED(reactor_.UnregisterHandle(get(event_done_)));
-}
-
-} // namespace omaha
« no previous file with comments | « base/reactor.cc ('k') | base/reg_key.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698