socket-util.c

Socket helper utils
git clone git://git.finwo.net/lib/socket-util.c
Log | Files | Refs | README | LICENSE

merge_fd_arrays.test.c (1643B)


      1 #include <stdlib.h>
      2 #include "socket-util.h"
      3 #include "test.h"
      4 
      5 void test_merge_fd_arrays_single() {
      6     int *arr1 = malloc(sizeof(int) * 3);
      7     arr1[0] = 2;
      8     arr1[1] = 5;
      9     arr1[2] = 10;
     10 
     11     int *arrays[] = { arr1 };
     12     int *result = merge_fd_arrays(arrays, 1);
     13 
     14     ASSERT("single array merge - count", result[0] == 2);
     15     ASSERT("single array merge - first", result[1] == 5);
     16     ASSERT("single array merge - second", result[2] == 10);
     17 
     18     free(result);
     19 }
     20 
     21 void test_merge_fd_arrays_multiple() {
     22     int *arr1 = malloc(sizeof(int) * 3);
     23     arr1[0] = 2;
     24     arr1[1] = 1;
     25     arr1[2] = 2;
     26 
     27     int *arr2 = malloc(sizeof(int) * 3);
     28     arr2[0] = 2;
     29     arr2[1] = 3;
     30     arr2[2] = 4;
     31 
     32     int *arrays[] = { arr1, arr2 };
     33     int *result = merge_fd_arrays(arrays, 2);
     34 
     35     ASSERT("multiple array merge - count", result[0] == 4);
     36     ASSERT("multiple array merge - first", result[1] == 1);
     37     ASSERT("multiple array merge - second", result[2] == 2);
     38     ASSERT("multiple array merge - third", result[3] == 3);
     39     ASSERT("multiple array merge - fourth", result[4] == 4);
     40 
     41     free(result);
     42 }
     43 
     44 void test_merge_fd_arrays_empty() {
     45     int *arr1 = malloc(sizeof(int) * 1);
     46     arr1[0] = 0;
     47 
     48     int *arrays[] = { arr1 };
     49     int *result = merge_fd_arrays(arrays, 1);
     50 
     51     ASSERT("empty array merge", result == NULL);
     52 }
     53 
     54 void test_merge_fd_arrays_null() {
     55     int *result = merge_fd_arrays(NULL, 0);
     56     ASSERT("null arrays", result == NULL);
     57 }
     58 
     59 int main() {
     60     RUN(test_merge_fd_arrays_single);
     61     RUN(test_merge_fd_arrays_multiple);
     62     RUN(test_merge_fd_arrays_empty);
     63     RUN(test_merge_fd_arrays_null);
     64     return TEST_REPORT();
     65 }