diff options
Diffstat (limited to 'mojo/public/c/system/tests/macros_unittest.cc')
-rw-r--r-- | mojo/public/c/system/tests/macros_unittest.cc | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/mojo/public/c/system/tests/macros_unittest.cc b/mojo/public/c/system/tests/macros_unittest.cc deleted file mode 100644 index fb9ff76..0000000 --- a/mojo/public/c/system/tests/macros_unittest.cc +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// This file tests the C Mojo system macros and consists of "positive" tests, -// i.e., those verifying that things work (without compile errors, or even -// warnings if warnings are treated as errors). -// TODO(vtl): Fix no-compile tests (which are all disabled; crbug.com/105388) -// and write some "negative" tests. - -#include "mojo/public/c/system/macros.h" - -#include <assert.h> -#include <stdint.h> -#include <stdlib.h> - -#include "testing/gtest/include/gtest/gtest.h" - -namespace mojo { -namespace { - -// First test |MOJO_STATIC_ASSERT()| in a global scope. -MOJO_STATIC_ASSERT(sizeof(int64_t) == 2 * sizeof(int32_t), - "Bad static_assert() failure in global scope"); - -TEST(MacrosTest, CompileAssert) { - // Then in a local scope. - MOJO_STATIC_ASSERT(sizeof(int32_t) == 2 * sizeof(int16_t), - "Bad static_assert() failure"); -} - -TEST(MacrosTest, Alignof) { - // Strictly speaking, this isn't a portable test, but I think it'll pass on - // all the platforms we currently support. - EXPECT_EQ(1u, MOJO_ALIGNOF(char)); - EXPECT_EQ(4u, MOJO_ALIGNOF(int32_t)); - EXPECT_EQ(8u, MOJO_ALIGNOF(int64_t)); - EXPECT_EQ(8u, MOJO_ALIGNOF(double)); -} - -// These structs are used in the Alignas test. Define them globally to avoid -// MSVS warnings/errors. -#if defined(_MSC_VER) -#pragma warning(push) -// Disable the warning "structure was padded due to __declspec(align())". -#pragma warning(disable : 4324) -#endif -struct MOJO_ALIGNAS(1) StructAlignas1 { - char x; -}; -struct MOJO_ALIGNAS(4) StructAlignas4 { - char x; -}; -struct MOJO_ALIGNAS(8) StructAlignas8 { - char x; -}; -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -TEST(MacrosTest, Alignas) { - EXPECT_EQ(1u, MOJO_ALIGNOF(StructAlignas1)); - EXPECT_EQ(4u, MOJO_ALIGNOF(StructAlignas4)); - EXPECT_EQ(8u, MOJO_ALIGNOF(StructAlignas8)); -} - -} // namespace -} // namespace mojo |