summaryrefslogtreecommitdiff
path: root/test/utils.c
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2020-05-14 10:16:37 -0700
committerCommit Bot <commit-bot@chromium.org>2020-05-15 03:03:15 +0000
commitf21e39083c70a3a04aed865cef65ce4ef95d78b8 (patch)
tree88488d70442770d1db63805532902eefaf5f4e99 /test/utils.c
parentbca6d843094cbc8bc49aea01c87b8338b529fd7b (diff)
downloadchrome-ec-f21e39083c70a3a04aed865cef65ce4ef95d78b8.tar.gz
common/util: Add is_aligned
Helper function to check power-of-two alignment. BRANCH=none BUG=b:155229277, b:156501835 TEST=make buildall -j TEST=make run-utils Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Iadcdaeb59e496f10035bd6c7f9660a3cc33a4898 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2202849 Commit-Queue: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'test/utils.c')
-rw-r--r--test/utils.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/utils.c b/test/utils.c
index 201f607f0c..292b2c84c7 100644
--- a/test/utils.c
+++ b/test/utils.c
@@ -424,6 +424,23 @@ static int test_bytes_are_trivial(void)
return EC_SUCCESS;
}
+test_static int test_is_aligned(void)
+{
+ TEST_EQ(is_aligned(2, 0), false, "%d");
+ TEST_EQ(is_aligned(2, 1), true, "%d");
+ TEST_EQ(is_aligned(2, 2), true, "%d");
+ TEST_EQ(is_aligned(2, 3), false, "%d");
+ TEST_EQ(is_aligned(2, 4), false, "%d");
+
+ TEST_EQ(is_aligned(3, 0), false, "%d");
+ TEST_EQ(is_aligned(3, 1), true, "%d");
+ TEST_EQ(is_aligned(3, 2), false, "%d");
+ TEST_EQ(is_aligned(3, 3), false, "%d");
+ TEST_EQ(is_aligned(3, 4), false, "%d");
+
+ return EC_SUCCESS;
+}
+
void run_test(void)
{
test_reset();
@@ -442,6 +459,7 @@ void run_test(void)
RUN_TEST(test_mula32);
RUN_TEST(test_swap);
RUN_TEST(test_bytes_are_trivial);
+ RUN_TEST(test_is_aligned);
test_print_result();
}