Clean data races from system_wrappers_unittests.
- Remove unittest_utilities that are not used.
- Remove SetLevelFilter that does not seems necessary and anyhow was racy.
BUG=3549
R=henrike@webrtc.org, henrike
Review URL: https://webrtc-codereview.appspot.com/16819004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6617 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/system_wrappers/source/condition_variable_unittest.cc b/webrtc/system_wrappers/source/condition_variable_unittest.cc
index 0d287b7..b5c1c36 100644
--- a/webrtc/system_wrappers/source/condition_variable_unittest.cc
+++ b/webrtc/system_wrappers/source/condition_variable_unittest.cc
@@ -14,13 +14,11 @@
#include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
#include "webrtc/system_wrappers/interface/thread_wrapper.h"
#include "webrtc/system_wrappers/interface/trace.h"
-#include "webrtc/system_wrappers/source/unittest_utilities.h"
namespace webrtc {
namespace {
-const int kLogTrace = false; // Set to true to enable debug logging to stdout.
const int kLongWaitMs = 100 * 1000; // A long time in testing terms
const int kShortWaitMs = 2 * 1000; // Long enough for process switches to happen
@@ -143,9 +141,7 @@
class CondVarTest : public ::testing::Test {
public:
- CondVarTest()
- : trace_(kLogTrace) {
- }
+ CondVarTest() {}
virtual void SetUp() {
thread_ = ThreadWrapper::CreateThread(&WaitingRunFunction,
@@ -171,7 +167,6 @@
Baton baton_;
private:
- ScopedTracing trace_;
ThreadWrapper* thread_;
};
diff --git a/webrtc/system_wrappers/source/critical_section_unittest.cc b/webrtc/system_wrappers/source/critical_section_unittest.cc
index 5c416b2..9b88e6b 100644
--- a/webrtc/system_wrappers/source/critical_section_unittest.cc
+++ b/webrtc/system_wrappers/source/critical_section_unittest.cc
@@ -14,14 +14,11 @@
#include "webrtc/system_wrappers/interface/sleep.h"
#include "webrtc/system_wrappers/interface/thread_wrapper.h"
#include "webrtc/system_wrappers/interface/trace.h"
-#include "webrtc/system_wrappers/source/unittest_utilities.h"
namespace webrtc {
namespace {
-const bool kLogTrace = false; // Set to true to enable debug logging to stdout.
-
// Cause a process switch. Needed to avoid depending on
// busy-wait in tests.
static void SwitchProcess() {
@@ -54,8 +51,7 @@
class CritSectTest : public ::testing::Test {
public:
- CritSectTest() : trace_(kLogTrace) {
- }
+ CritSectTest() {}
// Waits a number of cycles for the count to reach a given value.
// Returns true if the target is reached or passed.
@@ -70,9 +66,6 @@
}
return (count->Count() >= target);
}
-
-private:
- ScopedTracing trace_;
};
bool LockUnlockThenStopRunFunction(void* obj) {
diff --git a/webrtc/system_wrappers/source/logging_unittest.cc b/webrtc/system_wrappers/source/logging_unittest.cc
index d1eab32..6e45c5c 100644
--- a/webrtc/system_wrappers/source/logging_unittest.cc
+++ b/webrtc/system_wrappers/source/logging_unittest.cc
@@ -46,8 +46,6 @@
void SetUp() {
Trace::CreateTrace();
Trace::SetTraceCallback(this);
- // Reduce the chance that spurious traces will ruin the test.
- Trace::set_level_filter(kTraceWarning | kTraceError);
}
void TearDown() {
diff --git a/webrtc/system_wrappers/source/system_wrappers_tests.gyp b/webrtc/system_wrappers/source/system_wrappers_tests.gyp
index f2f6156..3d08c0d 100644
--- a/webrtc/system_wrappers/source/system_wrappers_tests.gyp
+++ b/webrtc/system_wrappers/source/system_wrappers_tests.gyp
@@ -35,7 +35,6 @@
'stl_util_unittest.cc',
'thread_unittest.cc',
'thread_posix_unittest.cc',
- 'unittest_utilities_unittest.cc',
],
'conditions': [
['enable_data_logging==1', {
diff --git a/webrtc/system_wrappers/source/unittest_utilities.h b/webrtc/system_wrappers/source/unittest_utilities.h
deleted file mode 100644
index b32308e..0000000
--- a/webrtc/system_wrappers/source/unittest_utilities.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef WEBRTC_SYSTEM_WRAPPERS_SOURCE_UNITTEST_UTILITIES_H_
-#define WEBRTC_SYSTEM_WRAPPERS_SOURCE_UNITTEST_UTILITIES_H_
-
-// This file contains utilities that make it simpler to write unittests
-// that are appropriate for the system_wrappers classes.
-
-#include <stdio.h>
-#include <string.h>
-
-#include "webrtc/system_wrappers/interface/trace.h"
-
-namespace webrtc {
-
-class TestTraceCallback : public TraceCallback {
- public:
- virtual void Print(TraceLevel level, const char* msg, int length) {
- if (msg) {
- char* cmd_print = new char[length+1];
- memcpy(cmd_print, msg, length);
- cmd_print[length] = '\0';
- printf("%s\n", cmd_print);
- fflush(stdout);
- delete[] cmd_print;
- }
- }
-};
-
-// A class that turns on tracing to stdout at the beginning of the test,
-// and turns it off once the test is finished.
-// Intended usage:
-// class SomeTest : public ::testing::Test {
-// protected:
-// SomeTest()
-// : trace_(false) {} // Change to true to turn on tracing.
-// private:
-// ScopedTracing trace_;
-// }
-class ScopedTracing {
- public:
- explicit ScopedTracing(bool logOn) {
- logging_ = logOn;
- StartTrace();
- }
-
- ~ScopedTracing() {
- StopTrace();
- }
-
- private:
- void StartTrace() {
- if (logging_) {
- Trace::CreateTrace();
- Trace::set_level_filter(webrtc::kTraceAll);
- Trace::SetTraceCallback(&trace_);
- }
- }
-
- void StopTrace() {
- if (logging_) {
- Trace::SetTraceCallback(NULL);
- Trace::ReturnTrace();
- }
- }
-
- private:
- bool logging_;
- TestTraceCallback trace_;
-};
-
-} // namespace webrtc
-
-#endif // WEBRTC_SYSTEM_WRAPPERS_SOURCE_UNITTEST_UTILITIES_H_
diff --git a/webrtc/system_wrappers/source/unittest_utilities_unittest.cc b/webrtc/system_wrappers/source/unittest_utilities_unittest.cc
deleted file mode 100644
index be6647b..0000000
--- a/webrtc/system_wrappers/source/unittest_utilities_unittest.cc
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "webrtc/system_wrappers/source/unittest_utilities.h"
-
-#include "testing/gtest/include/gtest/gtest.h"
-#include "webrtc/system_wrappers/interface/trace.h"
-
-namespace webrtc {
-
-// These tests merely check that the code compiles and that no
-// fatal accidents happen when logging.
-TEST(UnittestUtilities, TraceOn) {
- ScopedTracing trace(true);
- WEBRTC_TRACE(kTraceInfo, kTraceUtility, 0, "Log line that should appear");
- // TODO(hta): Verify that output appears.
- // Note - output is written on another thread, so can take time to appear.
-}
-
-TEST(UnittestUtilities, TraceOff) {
- ScopedTracing trace(false);
- WEBRTC_TRACE(kTraceInfo, kTraceUtility, 0,
- "Log line that should not appear");
- // TODO(hta): Verify that no output appears.
-}
-
-} // namespace webrtc