1 //
2 //
3 // Copyright 2015 gRPC authors.
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 //
18
19 #include <grpc/support/alloc.h>
20 #include <stdint.h>
21 #include <string.h>
22
23 #include <memory>
24
25 #include "gtest/gtest.h"
26 #include "test/core/test_util/test_config.h"
27
TEST(AllocTest,MallocAligned)28 TEST(AllocTest, MallocAligned) {
29 for (size_t size = 1; size <= 256; ++size) {
30 void* ptr = gpr_malloc_aligned(size, 16);
31 ASSERT_NE(ptr, nullptr);
32 ASSERT_EQ(((intptr_t)ptr & 0xf), 0);
33 memset(ptr, 0, size);
34 gpr_free_aligned(ptr);
35 }
36 }
37
main(int argc,char ** argv)38 int main(int argc, char** argv) {
39 grpc::testing::TestEnvironment env(&argc, argv);
40 ::testing::InitGoogleTest(&argc, argv);
41 return RUN_ALL_TESTS();
42 }
43