blob: 4da3ca7dfa60e4e8df28a67bac3fdbe2780bb613 [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/testing/earl_grey/coverage_utils.h"
#include "base/clang_profiling_buildflags.h"
#import "testing/coverage_util_ios.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
#if BUILDFLAG(CLANG_PROFILING)
#include "base/test/clang_profiling.h"
extern "C" void __llvm_profile_reset_counters(void);
#endif
@implementation CoverageUtils
+ (void)configureCoverageReportPath {
coverage_util::ConfigureCoverageReportPath();
}
+ (void)resetCoverageProfileCounters {
#if BUILDFLAG(CLANG_PROFILING)
// In this call, the already-dump flag is also reset, so that the same file
// can be dumped to again.
__llvm_profile_reset_counters();
#endif // BUILDFLAG(CLANG_PROFILING)
}
+ (void)writeClangCoverageProfile {
#if BUILDFLAG(CLANG_PROFILING)
base::WriteClangProfilingProfile();
#endif // BUILDFLAG(CLANG_PROFILING)
}
@end