| Index: mojo/public/cpp/bindings/tests/serialization_warning_unittest.cc
|
| diff --git a/mojo/public/cpp/bindings/tests/serialization_warning_unittest.cc b/mojo/public/cpp/bindings/tests/serialization_warning_unittest.cc
|
| deleted file mode 100644
|
| index 4359be82733da7cbb635210cb3013c975dfd087b..0000000000000000000000000000000000000000
|
| --- a/mojo/public/cpp/bindings/tests/serialization_warning_unittest.cc
|
| +++ /dev/null
|
| @@ -1,223 +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.
|
| -
|
| -// Serialization warnings are only recorded in debug build.
|
| -#ifndef NDEBUG
|
| -
|
| -#include "mojo/public/cpp/bindings/array.h"
|
| -#include "mojo/public/cpp/bindings/lib/array_internal.h"
|
| -#include "mojo/public/cpp/bindings/lib/array_serialization.h"
|
| -#include "mojo/public/cpp/bindings/lib/fixed_buffer.h"
|
| -#include "mojo/public/cpp/bindings/lib/validation_errors.h"
|
| -#include "mojo/public/cpp/bindings/string.h"
|
| -#include "mojo/public/cpp/environment/environment.h"
|
| -#include "mojo/public/cpp/system/message_pipe.h"
|
| -#include "mojo/public/interfaces/bindings/tests/serialization_test_structs.mojom.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace mojo {
|
| -namespace test {
|
| -namespace {
|
| -
|
| -using mojo::internal::ArrayValidateParams;
|
| -using mojo::internal::NoValidateParams;
|
| -
|
| -// Creates an array of arrays of handles (2 X 3) for testing.
|
| -Array<Array<ScopedHandle>> CreateTestNestedHandleArray() {
|
| - Array<Array<ScopedHandle>> array(2);
|
| - for (size_t i = 0; i < array.size(); ++i) {
|
| - Array<ScopedHandle> nested_array(3);
|
| - for (size_t j = 0; j < nested_array.size(); ++j) {
|
| - MessagePipe pipe;
|
| - nested_array[j] = ScopedHandle::From(pipe.handle1.Pass());
|
| - }
|
| - array[i] = nested_array.Pass();
|
| - }
|
| -
|
| - return array.Pass();
|
| -}
|
| -
|
| -class SerializationWarningTest : public testing::Test {
|
| - public:
|
| - ~SerializationWarningTest() override {}
|
| -
|
| - protected:
|
| - template <typename T>
|
| - void TestWarning(StructPtr<T> obj,
|
| - mojo::internal::ValidationError expected_warning) {
|
| - warning_observer_.set_last_warning(mojo::internal::VALIDATION_ERROR_NONE);
|
| -
|
| - mojo::internal::FixedBuffer buf(GetSerializedSize_(obj));
|
| - typename T::Data_* data;
|
| - Serialize_(obj.Pass(), &buf, &data);
|
| -
|
| - EXPECT_EQ(expected_warning, warning_observer_.last_warning());
|
| - }
|
| -
|
| - template <typename ValidateParams, typename T>
|
| - void TestArrayWarning(T obj,
|
| - mojo::internal::ValidationError expected_warning) {
|
| - warning_observer_.set_last_warning(mojo::internal::VALIDATION_ERROR_NONE);
|
| -
|
| - mojo::internal::FixedBuffer buf(GetSerializedSize_(obj));
|
| - typename T::Data_* data;
|
| - SerializeArray_<ValidateParams>(obj.Pass(), &buf, &data);
|
| -
|
| - EXPECT_EQ(expected_warning, warning_observer_.last_warning());
|
| - }
|
| -
|
| - mojo::internal::SerializationWarningObserverForTesting warning_observer_;
|
| - Environment env_;
|
| -};
|
| -
|
| -TEST_F(SerializationWarningTest, HandleInStruct) {
|
| - Struct2Ptr test_struct(Struct2::New());
|
| - EXPECT_FALSE(test_struct->hdl.is_valid());
|
| -
|
| - TestWarning(test_struct.Pass(),
|
| - mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE);
|
| -
|
| - test_struct = Struct2::New();
|
| - MessagePipe pipe;
|
| - test_struct->hdl = ScopedHandle::From(pipe.handle1.Pass());
|
| -
|
| - TestWarning(test_struct.Pass(), mojo::internal::VALIDATION_ERROR_NONE);
|
| -}
|
| -
|
| -TEST_F(SerializationWarningTest, StructInStruct) {
|
| - Struct3Ptr test_struct(Struct3::New());
|
| - EXPECT_TRUE(!test_struct->struct_1);
|
| -
|
| - TestWarning(test_struct.Pass(),
|
| - mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER);
|
| -
|
| - test_struct = Struct3::New();
|
| - test_struct->struct_1 = Struct1::New();
|
| -
|
| - TestWarning(test_struct.Pass(), mojo::internal::VALIDATION_ERROR_NONE);
|
| -}
|
| -
|
| -TEST_F(SerializationWarningTest, ArrayOfStructsInStruct) {
|
| - Struct4Ptr test_struct(Struct4::New());
|
| - EXPECT_TRUE(!test_struct->data);
|
| -
|
| - TestWarning(test_struct.Pass(),
|
| - mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER);
|
| -
|
| - test_struct = Struct4::New();
|
| - test_struct->data.resize(1);
|
| -
|
| - TestWarning(test_struct.Pass(),
|
| - mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER);
|
| -
|
| - test_struct = Struct4::New();
|
| - test_struct->data.resize(0);
|
| -
|
| - TestWarning(test_struct.Pass(), mojo::internal::VALIDATION_ERROR_NONE);
|
| -
|
| - test_struct = Struct4::New();
|
| - test_struct->data.resize(1);
|
| - test_struct->data[0] = Struct1::New();
|
| -
|
| - TestWarning(test_struct.Pass(), mojo::internal::VALIDATION_ERROR_NONE);
|
| -}
|
| -
|
| -TEST_F(SerializationWarningTest, FixedArrayOfStructsInStruct) {
|
| - Struct5Ptr test_struct(Struct5::New());
|
| - EXPECT_TRUE(!test_struct->pair);
|
| -
|
| - TestWarning(test_struct.Pass(),
|
| - mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER);
|
| -
|
| - test_struct = Struct5::New();
|
| - test_struct->pair.resize(1);
|
| - test_struct->pair[0] = Struct1::New();
|
| -
|
| - TestWarning(test_struct.Pass(),
|
| - mojo::internal::VALIDATION_ERROR_UNEXPECTED_ARRAY_HEADER);
|
| -
|
| - test_struct = Struct5::New();
|
| - test_struct->pair.resize(2);
|
| - test_struct->pair[0] = Struct1::New();
|
| - test_struct->pair[1] = Struct1::New();
|
| -
|
| - TestWarning(test_struct.Pass(), mojo::internal::VALIDATION_ERROR_NONE);
|
| -}
|
| -
|
| -TEST_F(SerializationWarningTest, StringInStruct) {
|
| - Struct6Ptr test_struct(Struct6::New());
|
| - EXPECT_TRUE(!test_struct->str);
|
| -
|
| - TestWarning(test_struct.Pass(),
|
| - mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER);
|
| -
|
| - test_struct = Struct6::New();
|
| - test_struct->str = "hello world";
|
| -
|
| - TestWarning(test_struct.Pass(), mojo::internal::VALIDATION_ERROR_NONE);
|
| -}
|
| -
|
| -TEST_F(SerializationWarningTest, ArrayOfArraysOfHandles) {
|
| - Array<Array<ScopedHandle>> test_array = CreateTestNestedHandleArray();
|
| - test_array[0] = Array<ScopedHandle>();
|
| - test_array[1][0] = ScopedHandle();
|
| -
|
| - TestArrayWarning<
|
| - ArrayValidateParams<0,
|
| - true,
|
| - ArrayValidateParams<0, true, NoValidateParams>>>(
|
| - test_array.Pass(), mojo::internal::VALIDATION_ERROR_NONE);
|
| -
|
| - test_array = CreateTestNestedHandleArray();
|
| - test_array[0] = Array<ScopedHandle>();
|
| - TestArrayWarning<
|
| - ArrayValidateParams<0,
|
| - false,
|
| - ArrayValidateParams<0, true, NoValidateParams>>>(
|
| - test_array.Pass(),
|
| - mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER);
|
| -
|
| - test_array = CreateTestNestedHandleArray();
|
| - test_array[1][0] = ScopedHandle();
|
| - TestArrayWarning<
|
| - ArrayValidateParams<0,
|
| - true,
|
| - ArrayValidateParams<0, false, NoValidateParams>>>(
|
| - test_array.Pass(),
|
| - mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE);
|
| -}
|
| -
|
| -TEST_F(SerializationWarningTest, ArrayOfStrings) {
|
| - Array<String> test_array(3);
|
| - for (size_t i = 0; i < test_array.size(); ++i)
|
| - test_array[i] = "hello";
|
| -
|
| - TestArrayWarning<
|
| - ArrayValidateParams<0,
|
| - true,
|
| - ArrayValidateParams<0, false, NoValidateParams>>>(
|
| - test_array.Pass(), mojo::internal::VALIDATION_ERROR_NONE);
|
| -
|
| - test_array = Array<String>(3);
|
| - TestArrayWarning<
|
| - ArrayValidateParams<0,
|
| - false,
|
| - ArrayValidateParams<0, false, NoValidateParams>>>(
|
| - test_array.Pass(),
|
| - mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER);
|
| -
|
| - test_array = Array<String>(2);
|
| - TestArrayWarning<
|
| - ArrayValidateParams<3,
|
| - true,
|
| - ArrayValidateParams<0, false, NoValidateParams>>>(
|
| - test_array.Pass(),
|
| - mojo::internal::VALIDATION_ERROR_UNEXPECTED_ARRAY_HEADER);
|
| -}
|
| -
|
| -} // namespace
|
| -} // namespace test
|
| -} // namespace mojo
|
| -
|
| -#endif
|
|
|