xref: /aosp_15_r20/external/executorch/test/utils/alignment_test.cpp (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Worker /*
2*523fa7a6SAndroid Build Coastguard Worker  * Copyright (c) Meta Platforms, Inc. and affiliates.
3*523fa7a6SAndroid Build Coastguard Worker  * All rights reserved.
4*523fa7a6SAndroid Build Coastguard Worker  *
5*523fa7a6SAndroid Build Coastguard Worker  * This source code is licensed under the BSD-style license found in the
6*523fa7a6SAndroid Build Coastguard Worker  * LICENSE file in the root directory of this source tree.
7*523fa7a6SAndroid Build Coastguard Worker  */
8*523fa7a6SAndroid Build Coastguard Worker 
9*523fa7a6SAndroid Build Coastguard Worker #include <executorch/test/utils/alignment.h>
10*523fa7a6SAndroid Build Coastguard Worker 
11*523fa7a6SAndroid Build Coastguard Worker #include <gtest/gtest-spi.h>
12*523fa7a6SAndroid Build Coastguard Worker #include <gtest/gtest.h>
13*523fa7a6SAndroid Build Coastguard Worker 
14*523fa7a6SAndroid Build Coastguard Worker using namespace ::testing;
15*523fa7a6SAndroid Build Coastguard Worker 
16*523fa7a6SAndroid Build Coastguard Worker // The wrappers use the matcher and the underlying helper function, so testing
17*523fa7a6SAndroid Build Coastguard Worker // them gives full coverage.
18*523fa7a6SAndroid Build Coastguard Worker 
TEST(AlignmentTest,ExpectWrapper)19*523fa7a6SAndroid Build Coastguard Worker TEST(AlignmentTest, ExpectWrapper) {
20*523fa7a6SAndroid Build Coastguard Worker   EXPECT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x1000);
21*523fa7a6SAndroid Build Coastguard Worker   EXPECT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x100);
22*523fa7a6SAndroid Build Coastguard Worker   EXPECT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x10);
23*523fa7a6SAndroid Build Coastguard Worker   EXPECT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x8);
24*523fa7a6SAndroid Build Coastguard Worker   EXPECT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x4);
25*523fa7a6SAndroid Build Coastguard Worker   EXPECT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x2);
26*523fa7a6SAndroid Build Coastguard Worker   EXPECT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x1);
27*523fa7a6SAndroid Build Coastguard Worker   EXPECT_NONFATAL_FAILURE(
28*523fa7a6SAndroid Build Coastguard Worker       EXPECT_ALIGNED(reinterpret_cast<void*>(0xfff1001), 0x10), "");
29*523fa7a6SAndroid Build Coastguard Worker   EXPECT_NONFATAL_FAILURE(
30*523fa7a6SAndroid Build Coastguard Worker       EXPECT_ALIGNED(reinterpret_cast<void*>(0xfffffff), 0x10), "");
31*523fa7a6SAndroid Build Coastguard Worker }
32*523fa7a6SAndroid Build Coastguard Worker 
TEST(AlignmentTest,AssertWrapper)33*523fa7a6SAndroid Build Coastguard Worker TEST(AlignmentTest, AssertWrapper) {
34*523fa7a6SAndroid Build Coastguard Worker   ASSERT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x1000);
35*523fa7a6SAndroid Build Coastguard Worker   ASSERT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x100);
36*523fa7a6SAndroid Build Coastguard Worker   ASSERT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x10);
37*523fa7a6SAndroid Build Coastguard Worker   ASSERT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x8);
38*523fa7a6SAndroid Build Coastguard Worker   ASSERT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x4);
39*523fa7a6SAndroid Build Coastguard Worker   ASSERT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x2);
40*523fa7a6SAndroid Build Coastguard Worker   ASSERT_ALIGNED(reinterpret_cast<void*>(0xfff1000), 0x1);
41*523fa7a6SAndroid Build Coastguard Worker   EXPECT_FATAL_FAILURE(
42*523fa7a6SAndroid Build Coastguard Worker       ASSERT_ALIGNED(reinterpret_cast<void*>(0xfff1001), 0x10), "");
43*523fa7a6SAndroid Build Coastguard Worker   EXPECT_FATAL_FAILURE(
44*523fa7a6SAndroid Build Coastguard Worker       ASSERT_ALIGNED(reinterpret_cast<void*>(0xfffffff), 0x10), "");
45*523fa7a6SAndroid Build Coastguard Worker }
46