
TBR=niklas.enbom@webrtc.org Review URL: https://webrtc-codereview.appspot.com/915006 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
58 lines
1.9 KiB
C++
58 lines
1.9 KiB
C++
/*
|
|
* 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 "system_wrappers/interface/trace.h"
|
|
|
|
#include "gtest/gtest.h"
|
|
#include "system_wrappers/source/cpu_measurement_harness.h"
|
|
#include "testsupport/fileutils.h"
|
|
|
|
using webrtc::CpuMeasurementHarness;
|
|
using webrtc::Trace;
|
|
using webrtc::kTraceWarning;
|
|
using webrtc::kTraceUtility;
|
|
|
|
class Logger : public webrtc::CpuTarget {
|
|
public:
|
|
Logger() {
|
|
Trace::CreateTrace();
|
|
std::string trace_file = webrtc::test::OutputPath() +
|
|
"trace_unittest.txt";
|
|
Trace::SetTraceFile(trace_file.c_str());
|
|
Trace::SetLevelFilter(webrtc::kTraceAll);
|
|
}
|
|
virtual ~Logger() {
|
|
Trace::ReturnTrace();
|
|
}
|
|
|
|
virtual bool DoWork() {
|
|
// Use input paremeters to WEBRTC_TRACE that are not likely to be removed
|
|
// in future code. E.g. warnings will likely be kept and this file is in
|
|
// utility so it should use kTraceUtility.
|
|
WEBRTC_TRACE(kTraceWarning, kTraceUtility, 0, "Log line");
|
|
return true;
|
|
}
|
|
};
|
|
|
|
// This test is disabled because it measures CPU usage. This is flaky because
|
|
// the CPU usage for a machine may spike due to OS or other application.
|
|
TEST(TraceTest, DISABLED_CpuUsage) {
|
|
Logger logger;
|
|
const int periodicity_ms = 1;
|
|
const int iterations_per_period = 10;
|
|
const int duration_ms = 1000;
|
|
CpuMeasurementHarness* cpu_harness =
|
|
CpuMeasurementHarness::Create(&logger, periodicity_ms,
|
|
iterations_per_period, duration_ms);
|
|
cpu_harness->Run();
|
|
const int average_cpu = cpu_harness->AverageCpu();
|
|
EXPECT_GE(5, average_cpu);
|
|
}
|