| Index: mojo/public/cpp/tests/system/macros_unittest.cc
|
| diff --git a/mojo/public/tests/system/macros_unittest.cc b/mojo/public/cpp/tests/system/macros_unittest.cc
|
| similarity index 74%
|
| rename from mojo/public/tests/system/macros_unittest.cc
|
| rename to mojo/public/cpp/tests/system/macros_unittest.cc
|
| index 1a4125e8f2dc6e5bb6be44b2932750b3df8660f0..2da1cd66a3cfc181d58b75eec621e36dd2de7f05 100644
|
| --- a/mojo/public/tests/system/macros_unittest.cc
|
| +++ b/mojo/public/cpp/tests/system/macros_unittest.cc
|
| @@ -2,13 +2,15 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -// This file consists of "positive" tests, i.e., those verifying that things
|
| -// work (without compile errors, or even warnings if warnings are treated as
|
| -// errors).
|
| +// 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): Maybe rename "MacrosCppTest" -> "MacrosTest" if/when this gets
|
| +// compiled into a different binary from the C API tests.
|
| // 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 "mojo/public/cpp/system/macros.h"
|
|
|
| #include <assert.h>
|
| #include <stdint.h>
|
| @@ -19,21 +21,6 @@
|
| namespace mojo {
|
| namespace {
|
|
|
| -TEST(MacrosTest, AllowUnused) {
|
| - // Test that no warning/error is issued even though |x| is unused.
|
| - int x MOJO_ALLOW_UNUSED = 123;
|
| -}
|
| -
|
| -int MustUseReturnedResult() MOJO_WARN_UNUSED_RESULT;
|
| -int MustUseReturnedResult() {
|
| - return 456;
|
| -}
|
| -
|
| -TEST(MacrosTest, WarnUnusedResult) {
|
| - if (!MustUseReturnedResult())
|
| - abort();
|
| -}
|
| -
|
| // Note: MSVS is very strict (and arguably buggy) about warnings for classes
|
| // defined in a local scope, so define these globally.
|
| struct TestOverrideBaseClass {
|
| @@ -48,7 +35,7 @@ struct TestOverrideSubclass : public TestOverrideBaseClass {
|
| virtual void AlsoToBeOverridden() MOJO_OVERRIDE {}
|
| };
|
|
|
| -TEST(MacrosTest, Override) {
|
| +TEST(MacrosCppTest, Override) {
|
| TestOverrideSubclass x;
|
| x.ToBeOverridden();
|
| x.AlsoToBeOverridden();
|
| @@ -66,29 +53,19 @@ class TestDisallowCopyAndAssignClass {
|
| MOJO_DISALLOW_COPY_AND_ASSIGN(TestDisallowCopyAndAssignClass);
|
| };
|
|
|
| -TEST(MacrosTest, DisallowCopyAndAssign) {
|
| +TEST(MacrosCppTest, DisallowCopyAndAssign) {
|
| TestDisallowCopyAndAssignClass x;
|
| x.NoOp();
|
| TestDisallowCopyAndAssignClass y(789);
|
| y.NoOp();
|
| }
|
|
|
| -// First test |MOJO_COMPILE_ASSERT()| in a global scope.
|
| -MOJO_COMPILE_ASSERT(sizeof(int64_t) == 2 * sizeof(int32_t),
|
| - bad_compile_assert_failure_in_global_scope);
|
| -
|
| -TEST(MacrosTest, CompileAssert) {
|
| - // Then in a local scope.
|
| - MOJO_COMPILE_ASSERT(sizeof(int32_t) == 2 * sizeof(int16_t),
|
| - bad_compile_assert_failure);
|
| -}
|
| -
|
| // Test that |MOJO_ARRAYSIZE()| works in a |MOJO_COMPILE_ASSERT()|.
|
| const int kGlobalArray[5] = { 1, 2, 3, 4, 5 };
|
| MOJO_COMPILE_ASSERT(MOJO_ARRAYSIZE(kGlobalArray) == 5u,
|
| mojo_array_size_failed_in_compile_assert);
|
|
|
| -TEST(MacrosTest, ArraySize) {
|
| +TEST(MacrosCppTest, ArraySize) {
|
| double local_array[4] = { 6.7, 7.8, 8.9, 9.0 };
|
| EXPECT_EQ(4u, MOJO_ARRAYSIZE(local_array));
|
| }
|
| @@ -125,7 +102,7 @@ class MoveOnlyInt {
|
| int value_;
|
| };
|
|
|
| -TEST(MacrosTest, MoveOnlyTypeForCpp03) {
|
| +TEST(MacrosCppTest, MoveOnlyTypeForCpp03) {
|
| MoveOnlyInt x(123);
|
| EXPECT_TRUE(x.is_set());
|
| EXPECT_EQ(123, x.value());
|
|
|