Trace loggging: Check for g_event_logger is not null before calling it.

BUG=webrtc:7868

Review-Url: https://codereview.webrtc.org/2961663002
Cr-Commit-Position: refs/heads/master@{#18933}
This commit is contained in:
jtteh 2017-07-07 11:02:15 -07:00 committed by Commit Bot
parent fb660ae633
commit 7480da4118
3 changed files with 60 additions and 2 deletions

View File

@ -374,10 +374,15 @@ void SetupInternalTracer() {
}
void StartInternalCaptureToFile(FILE* file) {
g_event_logger->Start(file, false);
if (g_event_logger) {
g_event_logger->Start(file, false);
}
}
bool StartInternalCapture(const char* filename) {
if (!g_event_logger)
return false;
FILE* file = fopen(filename, "w");
if (!file) {
LOG(LS_ERROR) << "Failed to open trace file '" << filename
@ -389,7 +394,9 @@ bool StartInternalCapture(const char* filename) {
}
void StopInternalCapture() {
g_event_logger->Stop();
if (g_event_logger) {
g_event_logger->Stop();
}
}
void ShutdownInternalTracer() {

View File

@ -510,6 +510,7 @@ if (is_ios || is_mac) {
"objc/Framework/UnitTests/RTCMediaConstraintsTest.mm",
"objc/Framework/UnitTests/RTCPeerConnectionTest.mm",
"objc/Framework/UnitTests/RTCSessionDescriptionTest.mm",
"objc/Framework/UnitTests/RTCTracingTest.mm",
"objc/Framework/UnitTests/avformatmappertests.mm",
]
if (is_ios &&

View File

@ -0,0 +1,50 @@
/*
* Copyright 2017 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.
*/
#import <Foundation/Foundation.h>
#include <vector>
#include "webrtc/base/gunit.h"
#import "NSString+StdString.h"
#import "WebRTC/RTCTracing.h"
@interface RTCTracingTest : NSObject
- (void)tracingTestNoInitialization;
@end
@implementation RTCTracingTest
- (NSString *)documentsFilePathForFileName:(NSString *)fileName {
NSParameterAssert(fileName.length);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirPath = paths.firstObject;
NSString *filePath =
[documentsDirPath stringByAppendingPathComponent:fileName];
return filePath;
}
- (void)tracingTestNoInitialization {
NSString *filePath = [self documentsFilePathForFileName:@"webrtc-trace.txt"];
EXPECT_EQ(NO, RTCStartInternalCapture(filePath));
RTCStopInternalCapture();
}
@end
TEST(RTCTracingTest, TracingTestNoInitialization) {
@autoreleasepool {
RTCTracingTest *test = [[RTCTracingTest alloc] init];
[test tracingTestNoInitialization];
}
}