1c55a96383497a772a307b346368133960b02ad03Eric Laurent/* 2c55a96383497a772a307b346368133960b02ad03Eric Laurent * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 3c55a96383497a772a307b346368133960b02ad03Eric Laurent * 4c55a96383497a772a307b346368133960b02ad03Eric Laurent * Use of this source code is governed by a BSD-style license 5c55a96383497a772a307b346368133960b02ad03Eric Laurent * that can be found in the LICENSE file in the root of the source 6c55a96383497a772a307b346368133960b02ad03Eric Laurent * tree. An additional intellectual property rights grant can be found 7c55a96383497a772a307b346368133960b02ad03Eric Laurent * in the file PATENTS. All contributing project authors may 8c55a96383497a772a307b346368133960b02ad03Eric Laurent * be found in the AUTHORS file in the root of the source tree. 9c55a96383497a772a307b346368133960b02ad03Eric Laurent */ 10c55a96383497a772a307b346368133960b02ad03Eric Laurent 11c55a96383497a772a307b346368133960b02ad03Eric Laurent#include "system_wrappers/source/data_log_c_helpers_unittest.h" 12c55a96383497a772a307b346368133960b02ad03Eric Laurent 13c55a96383497a772a307b346368133960b02ad03Eric Laurent#include <assert.h> 14c55a96383497a772a307b346368133960b02ad03Eric Laurent#include <string.h> 15c55a96383497a772a307b346368133960b02ad03Eric Laurent#include <stdlib.h> 16c55a96383497a772a307b346368133960b02ad03Eric Laurent 17c55a96383497a772a307b346368133960b02ad03Eric Laurent#include "system_wrappers/interface/data_log_c.h" 18c55a96383497a772a307b346368133960b02ad03Eric Laurent 19c55a96383497a772a307b346368133960b02ad03Eric Laurentenum { kTestArrayLen = 4 }; 20c55a96383497a772a307b346368133960b02ad03Eric Laurentstatic const char kTableName[] = "c_wrapper_table"; 21c55a96383497a772a307b346368133960b02ad03Eric Laurentstatic const char kColumnName1[] = "Scalar"; 22c55a96383497a772a307b346368133960b02ad03Eric Laurentstatic const char kColumnName2[] = "Vector"; 23c55a96383497a772a307b346368133960b02ad03Eric Laurent 24c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestCreateLog() { 25c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_CreateLog(); 26c55a96383497a772a307b346368133960b02ad03Eric Laurent} 27c55a96383497a772a307b346368133960b02ad03Eric Laurent 28c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestReturnLog() { 29c55a96383497a772a307b346368133960b02ad03Eric Laurent WebRtcDataLog_ReturnLog(); 30c55a96383497a772a307b346368133960b02ad03Eric Laurent return 0; 31c55a96383497a772a307b346368133960b02ad03Eric Laurent} 32c55a96383497a772a307b346368133960b02ad03Eric Laurent 33c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestCombine() { 34c55a96383497a772a307b346368133960b02ad03Eric Laurent const int kOutLen = strlen(kTableName) + 4; /* Room for "_17" + '\0' */ 35c55a96383497a772a307b346368133960b02ad03Eric Laurent char* combined_name = malloc(kOutLen * sizeof(char)); 36c55a96383497a772a307b346368133960b02ad03Eric Laurent char* out_ptr = WebRtcDataLog_Combine(combined_name, kOutLen, kTableName, 17); 37c55a96383497a772a307b346368133960b02ad03Eric Laurent int return_code = 0; 38c55a96383497a772a307b346368133960b02ad03Eric Laurent if (!out_ptr) { 39c55a96383497a772a307b346368133960b02ad03Eric Laurent return_code = -1; 40c55a96383497a772a307b346368133960b02ad03Eric Laurent } 41c55a96383497a772a307b346368133960b02ad03Eric Laurent if (strcmp(combined_name, "c_wrapper_table_17") != 0) { 42c55a96383497a772a307b346368133960b02ad03Eric Laurent return_code = -2; 43c55a96383497a772a307b346368133960b02ad03Eric Laurent } 44c55a96383497a772a307b346368133960b02ad03Eric Laurent free(combined_name); 45c55a96383497a772a307b346368133960b02ad03Eric Laurent return return_code; 46c55a96383497a772a307b346368133960b02ad03Eric Laurent} 47c55a96383497a772a307b346368133960b02ad03Eric Laurent 48c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestAddTable() { 49c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_AddTable(kTableName); 50c55a96383497a772a307b346368133960b02ad03Eric Laurent} 51c55a96383497a772a307b346368133960b02ad03Eric Laurent 52c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestAddColumn() { 53c55a96383497a772a307b346368133960b02ad03Eric Laurent if (WebRtcDataLog_AddColumn(kTableName, kColumnName1, 1) != 0) { 54c55a96383497a772a307b346368133960b02ad03Eric Laurent return -1; 55c55a96383497a772a307b346368133960b02ad03Eric Laurent } 56c55a96383497a772a307b346368133960b02ad03Eric Laurent if (WebRtcDataLog_AddColumn(kTableName, kColumnName2, kTestArrayLen) != 0) { 57c55a96383497a772a307b346368133960b02ad03Eric Laurent return -2; 58c55a96383497a772a307b346368133960b02ad03Eric Laurent } 59c55a96383497a772a307b346368133960b02ad03Eric Laurent return 0; 60c55a96383497a772a307b346368133960b02ad03Eric Laurent} 61c55a96383497a772a307b346368133960b02ad03Eric Laurent 62c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestNextRow() { 63c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_NextRow(kTableName); 64c55a96383497a772a307b346368133960b02ad03Eric Laurent} 65c55a96383497a772a307b346368133960b02ad03Eric Laurent 66c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestInsertCell_int() { 67c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_InsertCell_int(kTableName, kColumnName1, 17); 68c55a96383497a772a307b346368133960b02ad03Eric Laurent} 69c55a96383497a772a307b346368133960b02ad03Eric Laurent 70c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestInsertArray_int() { 71c55a96383497a772a307b346368133960b02ad03Eric Laurent int values[kTestArrayLen] = {1, 2, 3, 4}; 72c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_InsertArray_int(kTableName, kColumnName2, values, 73c55a96383497a772a307b346368133960b02ad03Eric Laurent kTestArrayLen); 74c55a96383497a772a307b346368133960b02ad03Eric Laurent} 75c55a96383497a772a307b346368133960b02ad03Eric Laurent 76c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestInsertCell_float() { 77c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_InsertCell_float(kTableName, kColumnName1, 17.0f); 78c55a96383497a772a307b346368133960b02ad03Eric Laurent} 79c55a96383497a772a307b346368133960b02ad03Eric Laurent 80c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestInsertArray_float() { 81c55a96383497a772a307b346368133960b02ad03Eric Laurent float values[kTestArrayLen] = {1.0f, 2.0f, 3.0f, 4.0f}; 82c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_InsertArray_float(kTableName, kColumnName2, values, 83c55a96383497a772a307b346368133960b02ad03Eric Laurent kTestArrayLen); 84c55a96383497a772a307b346368133960b02ad03Eric Laurent} 85c55a96383497a772a307b346368133960b02ad03Eric Laurent 86c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestInsertCell_double() { 87c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_InsertCell_int(kTableName, kColumnName1, 17.0); 88c55a96383497a772a307b346368133960b02ad03Eric Laurent} 89c55a96383497a772a307b346368133960b02ad03Eric Laurent 90c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestInsertArray_double() { 91c55a96383497a772a307b346368133960b02ad03Eric Laurent double values[kTestArrayLen] = {1.0, 2.0, 3.0, 4.0}; 92c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_InsertArray_double(kTableName, kColumnName2, values, 93c55a96383497a772a307b346368133960b02ad03Eric Laurent kTestArrayLen); 94c55a96383497a772a307b346368133960b02ad03Eric Laurent} 95c55a96383497a772a307b346368133960b02ad03Eric Laurent 96c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestInsertCell_int32() { 97c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_InsertCell_int32(kTableName, kColumnName1, 17); 98c55a96383497a772a307b346368133960b02ad03Eric Laurent} 99c55a96383497a772a307b346368133960b02ad03Eric Laurent 100c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestInsertArray_int32() { 101c55a96383497a772a307b346368133960b02ad03Eric Laurent int32_t values[kTestArrayLen] = {1, 2, 3, 4}; 102c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_InsertArray_int32(kTableName, kColumnName2, values, 103c55a96383497a772a307b346368133960b02ad03Eric Laurent kTestArrayLen); 104c55a96383497a772a307b346368133960b02ad03Eric Laurent} 105c55a96383497a772a307b346368133960b02ad03Eric Laurent 106c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestInsertCell_uint32() { 107c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_InsertCell_uint32(kTableName, kColumnName1, 17); 108c55a96383497a772a307b346368133960b02ad03Eric Laurent} 109c55a96383497a772a307b346368133960b02ad03Eric Laurent 110c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestInsertArray_uint32() { 111c55a96383497a772a307b346368133960b02ad03Eric Laurent uint32_t values[kTestArrayLen] = {1, 2, 3, 4}; 112c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_InsertArray_uint32(kTableName, kColumnName2, values, 113c55a96383497a772a307b346368133960b02ad03Eric Laurent kTestArrayLen); 114c55a96383497a772a307b346368133960b02ad03Eric Laurent} 115c55a96383497a772a307b346368133960b02ad03Eric Laurent 116c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestInsertCell_int64() { 117c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_InsertCell_int64(kTableName, kColumnName1, 17); 118c55a96383497a772a307b346368133960b02ad03Eric Laurent} 119c55a96383497a772a307b346368133960b02ad03Eric Laurent 120c55a96383497a772a307b346368133960b02ad03Eric Laurentint WebRtcDataLogCHelper_TestInsertArray_int64() { 121c55a96383497a772a307b346368133960b02ad03Eric Laurent int64_t values[kTestArrayLen] = {1, 2, 3, 4}; 122c55a96383497a772a307b346368133960b02ad03Eric Laurent return WebRtcDataLog_InsertArray_int64(kTableName, kColumnName2, values, 123c55a96383497a772a307b346368133960b02ad03Eric Laurent kTestArrayLen); 124c55a96383497a772a307b346368133960b02ad03Eric Laurent} 125