| Index: common/event_logger_unittest.cc
|
| diff --git a/common/event_logger_unittest.cc b/common/event_logger_unittest.cc
|
| deleted file mode 100644
|
| index 175a0e152b5489bf553bd032de34103d67634bb2..0000000000000000000000000000000000000000
|
| --- a/common/event_logger_unittest.cc
|
| +++ /dev/null
|
| @@ -1,182 +0,0 @@
|
| -// Copyright 2007-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 <stdio.h>
|
| -#include <stdarg.h>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "omaha/base/constants.h"
|
| -#include "omaha/base/error.h"
|
| -#include "omaha/base/reg_key.h"
|
| -#include "omaha/base/vistautil.h"
|
| -#include "omaha/common/event_logger.h"
|
| -#include "omaha/testing/unit_test.h"
|
| -
|
| -namespace omaha {
|
| -
|
| -class EventLoggerTest : public testing::Test {
|
| - protected:
|
| - virtual void SetUp() {
|
| - EXPECT_SUCCEEDED(RegKey::DeleteKey(kRegistryHiveOverrideRoot, true));
|
| - OverrideRegistryHives(kRegistryHiveOverrideRoot);
|
| -
|
| - // Enable logging of events.
|
| - DWORD log_events = LOG_EVENT_LEVEL_ALL;
|
| - EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
|
| - kRegValueEventLogLevel, log_events));
|
| - }
|
| -
|
| - virtual void TearDown() {
|
| - RestoreRegistryHives();
|
| - EXPECT_SUCCEEDED(RegKey::DeleteKey(kRegistryHiveOverrideRoot, true));
|
| - }
|
| -};
|
| -
|
| -TEST_F(EventLoggerTest, AddEventSource) {
|
| - if (!vista_util::IsUserAdmin()) {
|
| - std::wcout << _T("\tTest did not run because the user is not an admin.")
|
| - << std::endl;
|
| - return;
|
| - }
|
| -
|
| - // Registers the "Google Update" event source for the "Application" log
|
| - EXPECT_SUCCEEDED(EventLogger::AddEventSource(EventLogger::kSourceName,
|
| - _T("path")));
|
| -
|
| - const TCHAR key_name[] = _T("HKLM\\SYSTEM\\CurrentControlSet\\Services\\")
|
| - _T("EventLog\\Application\\")
|
| - _T(OMAHA_APP_NAME_ANSI);
|
| - EXPECT_TRUE(RegKey::HasKey(key_name));
|
| -
|
| - CString s;
|
| - EXPECT_SUCCEEDED(RegKey::GetValue(key_name, _T("EventMessageFile"), &s));
|
| - EXPECT_STREQ(s.GetString(), _T("path"));
|
| -
|
| - DWORD types(0);
|
| - EXPECT_SUCCEEDED(RegKey::GetValue(key_name, _T("TypesSupported"), &types));
|
| - EXPECT_EQ(types,
|
| - EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | EVENTLOG_INFORMATION_TYPE);
|
| -
|
| - // Removes the "OmahaUnitTest" event source.
|
| - EXPECT_SUCCEEDED(EventLogger::RemoveEventSource(EventLogger::kSourceName));
|
| - EXPECT_FALSE(RegKey::HasKey(key_name));
|
| - EXPECT_TRUE(RegKey::HasKey(
|
| - _T("HKLM\\SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application")));
|
| -}
|
| -
|
| -TEST_F(EventLoggerTest, ReportEvent) {
|
| - if (!vista_util::IsUserAdmin()) {
|
| - std::wcout << _T("\tTest did not run because the user is not an admin.")
|
| - << std::endl;
|
| - return;
|
| - }
|
| -
|
| - EXPECT_SUCCEEDED(EventLogger::AddEventSource(EventLogger::kSourceName,
|
| - _T("path")));
|
| -
|
| - const TCHAR* strings[] = {_T("foo"), _T("bar")};
|
| - byte buf[] = {0xaa, 0x55, 0};
|
| -
|
| - const int kEventId = 100;
|
| - EXPECT_SUCCEEDED(EventLogger::ReportEvent(EventLogger::kSourceName,
|
| - EVENTLOG_WARNING_TYPE,
|
| - 0,
|
| - kEventId,
|
| - arraysize(strings),
|
| - strings,
|
| - arraysize(buf),
|
| - buf));
|
| - // Read the record at the top to do a brief sanity check.
|
| - const size_t kBufferSize = 1024 * 64;
|
| - byte buffer[kBufferSize] = {0};
|
| - EVENTLOGRECORD* rec = reinterpret_cast<EVENTLOGRECORD*>(buffer);
|
| - rec->Length = kBufferSize;
|
| - EXPECT_SUCCEEDED(EventLogger::ReadLastEvent(EventLogger::kSourceName, rec));
|
| - EXPECT_EQ(rec->EventID, kEventId);
|
| - EXPECT_EQ(rec->EventType, EVENTLOG_WARNING_TYPE);
|
| - EXPECT_EQ(rec->EventCategory, 0);
|
| - EXPECT_EQ(rec->NumStrings, 2);
|
| - const TCHAR* src = reinterpret_cast<const TCHAR*>(
|
| - reinterpret_cast<byte*>(rec) + sizeof EVENTLOGRECORD);
|
| - EXPECT_STREQ(src, EventLogger::kSourceName);
|
| - const TCHAR* s2 = (LPTSTR) ((LPBYTE) rec + rec->StringOffset);
|
| - EXPECT_SUCCEEDED(EventLogger::RemoveEventSource(EventLogger::kSourceName));
|
| -}
|
| -
|
| -TEST_F(EventLoggerTest, LogEvent_LoggingDisabled) {
|
| - // Disable logging.
|
| - EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
|
| - kRegValueEventLogLevel,
|
| - static_cast<DWORD>(0)));
|
| -
|
| - const size_t kBufferSize = 1024 * 64;
|
| - byte buffer[kBufferSize] = {0};
|
| - EVENTLOGRECORD* rec = reinterpret_cast<EVENTLOGRECORD*>(buffer);
|
| - rec->Length = kBufferSize;
|
| - EXPECT_SUCCEEDED(EventLogger::ReadLastEvent(EventLogger::kSourceName, rec));
|
| - int record_number = rec->RecordNumber;
|
| -
|
| - // Logging is disabled, expect no event is logged.
|
| - LogEvent(EVENTLOG_INFORMATION_TYPE, 10);
|
| - rec->Length = kBufferSize;
|
| - EXPECT_SUCCEEDED(EventLogger::ReadLastEvent(EventLogger::kSourceName, rec));
|
| - EXPECT_EQ(record_number, rec->RecordNumber);
|
| -}
|
| -
|
| -TEST_F(EventLoggerTest, LogEvent) {
|
| - const size_t kBufferSize = 1024 * 64;
|
| - byte buffer[kBufferSize] = {0};
|
| - EVENTLOGRECORD* rec = reinterpret_cast<EVENTLOGRECORD*>(buffer);
|
| -
|
| - LogEvent(EVENTLOG_INFORMATION_TYPE, 10);
|
| - rec->Length = kBufferSize;
|
| - EXPECT_SUCCEEDED(EventLogger::ReadLastEvent(EventLogger::kSourceName, rec));
|
| - EXPECT_EQ(10, rec->EventID);
|
| -
|
| - LogEvent(EVENTLOG_INFORMATION_TYPE, 11, _T("s1"));
|
| - rec->Length = kBufferSize;
|
| - EXPECT_SUCCEEDED(EventLogger::ReadLastEvent(EventLogger::kSourceName, rec));
|
| - EXPECT_EQ(11, rec->EventID);
|
| -
|
| - LogEvent(EVENTLOG_INFORMATION_TYPE, 12, _T("s1"), _T("s2"));
|
| - rec->Length = kBufferSize;
|
| - EXPECT_SUCCEEDED(EventLogger::ReadLastEvent(EventLogger::kSourceName, rec));
|
| - EXPECT_EQ(12, rec->EventID);
|
| -}
|
| -
|
| -TEST_F(EventLoggerTest, LogEventContext) {
|
| - const size_t kBufferSize = 1024 * 64;
|
| - byte buffer[kBufferSize] = {0};
|
| - EVENTLOGRECORD* rec = reinterpret_cast<EVENTLOGRECORD*>(buffer);
|
| -
|
| - LogEventContext(EVENTLOG_INFORMATION_TYPE, 20, _T("foo"));
|
| - rec->Length = kBufferSize;
|
| - EXPECT_SUCCEEDED(EventLogger::ReadLastEvent(EventLogger::kSourceName, rec));
|
| - EXPECT_EQ(20, rec->EventID);
|
| -
|
| - LogEventContext(EVENTLOG_INFORMATION_TYPE, 21, _T("s1"), _T("bar"));
|
| - rec->Length = kBufferSize;
|
| - EXPECT_SUCCEEDED(EventLogger::ReadLastEvent(EventLogger::kSourceName, rec));
|
| - EXPECT_EQ(21, rec->EventID);
|
| -
|
| - LogEventContext(EVENTLOG_INFORMATION_TYPE, 22,
|
| - _T("s1"), _T("s2"), _T("foobar"));
|
| - rec->Length = kBufferSize;
|
| - EXPECT_SUCCEEDED(EventLogger::ReadLastEvent(EventLogger::kSourceName, rec));
|
| - EXPECT_EQ(22, rec->EventID);
|
| -}
|
| -
|
| -} // namespace omaha
|
|
|