#include "gpu/command_buffer/common/activity_flags.h"
#include "base/memory/unsafe_shared_memory_region.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace gpu {
TEST(ActivityFlagsTest, BasicUsage) {
GpuProcessHostActivityFlags host_flags;
EXPECT_FALSE(
host_flags.IsFlagSet(ActivityFlagsBase::FLAG_LOADING_PROGRAM_BINARY));
GpuProcessActivityFlags service_flags(host_flags.CloneRegion());
{
GpuProcessActivityFlags::ScopedSetFlag scoped_set_flag(
&service_flags, ActivityFlagsBase::FLAG_LOADING_PROGRAM_BINARY);
EXPECT_TRUE(
host_flags.IsFlagSet(ActivityFlagsBase::FLAG_LOADING_PROGRAM_BINARY));
}
EXPECT_FALSE(
host_flags.IsFlagSet(ActivityFlagsBase::FLAG_LOADING_PROGRAM_BINARY));
}
TEST(ActivityFlagsTest, NotInitialized) {
GpuProcessActivityFlags service_flags{base::UnsafeSharedMemoryRegion()};
{
GpuProcessActivityFlags::ScopedSetFlag scoped_set_flag(
&service_flags, ActivityFlagsBase::FLAG_LOADING_PROGRAM_BINARY);
}
}
}