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