Chromium Code Reviews

Unified Diff: ppapi/tests/test_c_sizes.c

Issue 5340003: Make a new test to enforce the sizes of all structs and enums in the C API.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Index: ppapi/tests/test_c_sizes.c
===================================================================
--- ppapi/tests/test_c_sizes.c (revision 0)
+++ ppapi/tests/test_c_sizes.c (revision 0)
@@ -0,0 +1,136 @@
+/* Copyright (c) 2010 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 test simply includes all the C headers to ensure they compile with a C
brettw 2010/11/24 22:36:40 This comment is wrong.
dmichael(do not use this one) 2010/11/24 23:23:15 Thanks, I tried to improve it.
+ * compiler. If it compiles, it passes.
+ */
+
+#include "ppapi/tests/all_c_includes.h"
+
+#include "ppapi/c/pp_macros.h"
+
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_CharSet_ConversionError, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_CursorType_Dev, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_ObjectProperty_Modifier, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_VideoCodecId_Dev, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_VideoCodecLevel_Dev, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_VideoCodecProfile_Dev, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_VideoDecodeError_Dev, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_VideoDecoderEvent_Dev, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_VideoFrameBufferConst_Dev, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_VideoFrameColorType_Dev, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_VideoFrameInfoFlag_Dev, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_VideoFrameSurfaceType_Dev, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_VideoKey_Dev, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_VideoOperation_Dev, 4);
+PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_VideoPayloadFormat_Dev, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PPB_Audio_Callback, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PPB_GetInterface, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_AudioSampleRate_Dev, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_Bool, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_ClassDestructor, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_ClassFunction, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_CompletionCallback_Func, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_FileChooserMode_Dev, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_FileOpenFlags_Dev, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_FileSystemType_Dev, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_FileType_Dev, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_FontFamily_Dev, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_FontWeight_Dev, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_ImageDataFormat, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_InputEvent_Modifier, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_InputEvent_MouseButton, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_InputEvent_Type, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_Instance, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_Module, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_PrintOrientation_Dev, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_PrintOutputFormat_Dev, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_Resource, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_ScrollBy_Dev, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_Time, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_TimeTicks, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_URLLoaderTrusted_StatusCallback, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_URLRequestProperty, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_URLResponseProperty, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_VarType, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_VideoConfigElement_Dev, 4);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_VideoConfig_Dev, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_VideoDecodeData_Dev, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_VideoDecodeEventHandler_Func_Dev, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_VideoDecodeInputCallback_Func_Dev, 8);
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_VideoDecodeOutputCallback_Func_Dev, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_AudioConfig_Dev, 40);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_AudioTrusted_Dev, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Audio_Dev, 40);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Buffer_Dev, 40);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_CharSet_Dev, 24);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Class, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Core, 64);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_CursorControl_Dev, 40);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_DirectoryReader_Dev, 24);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_FileChooser_Dev, 32);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_FileIOTrusted_Dev, 24);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_FileIO_Dev, 80);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_FileRef_Dev, 88);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_FileSystem_Dev, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Find_Dev, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Font_Dev, 56);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Fullscreen_Dev, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Graphics2D, 56);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Graphics3D_Dev, 88);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_ImageData, 56);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_ImageDataTrusted, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Instance, 40);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_OpenGLES_Dev, 1152);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Scrollbar_Dev, 64);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Testing_Dev, 32);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Transport_Dev, 72);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_URLLoader, 80);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_URLLoaderTrusted, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_URLRequestInfo, 40);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_URLResponseInfo, 24);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_UrlUtil_Dev, 48);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Var, 104);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Var_Deprecated, 112);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_VideoDecoder_Dev, 40);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Widget_Dev, 40);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_Zoom_Dev, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPP_Class_Deprecated, 72);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPP_CursorControl_Dev, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPP_Find_Dev, 24);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPP_Graphics3D_Dev, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPP_Instance, 56);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPP_Printing_Dev, 32);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPP_Scrollbar_Dev, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPP_Selection_Dev, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPP_Widget_Dev, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPP_Zoom_Dev, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_ClassProperty, 40);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_CompletionCallback, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_DirectoryEntry_Dev, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_FileChooserOptions_Dev, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_FileInfo_Dev, 40);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_FontDescription_Dev, 48);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_FontMetrics_Dev, 20);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_ImageDataDesc, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_InputEvent, 80);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_InputEvent_Character, 12);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_InputEvent_Key, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_InputEvent_Mouse, 20);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_InputEvent_Wheel, 24);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_ObjectProperty, 72);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_Point, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_PrintPageNumberRange_Dev, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_PrintSettings_Dev, 32);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_Rect, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_Size, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_TextRun_Dev, 24);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_UrlComponent_Dev, 8);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_UrlComponents_Dev, 64);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_Var, 16);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_VideoCompressedDataBuffer_Dev, 32);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_VideoDecoderConfig_Dev, 40);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_VideoFrameBuffer_Dev, 112);
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_VideoUncompressedDataBuffer_Dev, 136);
+

Powered by Google App Engine