#include "common/aligned_memory.h"
#include <memory>
#include "gtest/gtest.h"
#define EXPECT_ALIGNED(ptr, align) EXPECT_EQ(0u, reinterpret_cast<uintptr_t>(ptr) & (align - 1))
namespace angle
{
TEST(AlignedMemoryTest, DynamicAllocation)
{
void *p = AlignedAlloc(8, 8);
EXPECT_TRUE(p);
EXPECT_ALIGNED(p, 8);
AlignedFree(p);
p = AlignedAlloc(8, 16);
EXPECT_TRUE(p);
EXPECT_ALIGNED(p, 16);
AlignedFree(p);
p = AlignedAlloc(8, 256);
EXPECT_TRUE(p);
EXPECT_ALIGNED(p, 256);
AlignedFree(p);
p = AlignedAlloc(8, 4096);
EXPECT_TRUE(p);
EXPECT_ALIGNED(p, 4096);
AlignedFree(p);
}
}