#include "chrome/common/profiler/thread_profiler_platform_configuration.h"
#include <utility>
#include "base/profiler/process_type.h"
#include "base/profiler/profiler_buildflags.h"
#include "base/test/bind.h"
#include "base/test/gtest_util.h"
#include "build/build_config.h"
#include "components/version_info/version_info.h"
#include "testing/gtest/include/gtest/gtest.h"
#if (BUILDFLAG(IS_WIN) && defined(ARCH_CPU_X86_64)) || BUILDFLAG(IS_MAC) || \
(BUILDFLAG(IS_ANDROID) && BUILDFLAG(ENABLE_ARM_CFI_TABLE)) || \
(BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_ARM64)) || \
(BUILDFLAG(IS_CHROMEOS) && \
(defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM64)))
#define THREAD_PROFILER_SUPPORTED_ON_PLATFORM …
#else
#define THREAD_PROFILER_SUPPORTED_ON_PLATFORM …
#endif
#if THREAD_PROFILER_SUPPORTED_ON_PLATFORM
#define MAYBE_PLATFORM_CONFIG_TEST_F …
#else
#define MAYBE_PLATFORM_CONFIG_TEST_F(suite, test) …
#endif
namespace {
class ThreadProfilerPlatformConfigurationTest : public ::testing::Test { … };
}
std::ostream& operator<<(
std::ostream& strm,
const ThreadProfilerPlatformConfiguration::RelativePopulations&
populations) { … }
bool operator==(
const ThreadProfilerPlatformConfiguration::RelativePopulations& a,
const ThreadProfilerPlatformConfiguration::RelativePopulations& b) { … }
TEST_F(ThreadProfilerPlatformConfigurationTest, IsSupported) { … }
MAYBE_PLATFORM_CONFIG_TEST_F(ThreadProfilerPlatformConfigurationTest,
GetEnableRates) { … }
MAYBE_PLATFORM_CONFIG_TEST_F(ThreadProfilerPlatformConfigurationTest,
GetChildProcessPerExecutionEnableFraction) { … }
MAYBE_PLATFORM_CONFIG_TEST_F(ThreadProfilerPlatformConfigurationTest,
IsEnabledForThread) { … }