FreeRDP/cunit/test_freerdp.c
2011-06-30 18:17:37 -04:00

101 lines
2.1 KiB
C

/**
* FreeRDP: A Remote Desktop Protocol Client
* FreeRDP Unit Tests
*
* Copyright 2010 Marc-Andre Moreau <marcandre.moreau@gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "CUnit/Basic.h"
#include "test_color.h"
#include "test_libgdi.h"
#include "test_librfx.h"
#include "test_ntlmssp.h"
#include "test_freerdp.h"
void dump_data(unsigned char * p, int len, int width, char* name)
{
unsigned char *line = p;
int i, thisline, offset = 0;
printf("\n%s[%d][%d]:\n", name, len / width, width);
while (offset < len)
{
printf("%04x ", offset);
thisline = len - offset;
if (thisline > width)
thisline = width;
for (i = 0; i < thisline; i++)
printf("%02x ", line[i]);
for (; i < width; i++)
printf(" ");
printf("\n");
offset += thisline;
line += thisline;
}
printf("\n");
}
int main(int argc, char* argv[])
{
int index = 1;
int *pindex = &index;
if (CU_initialize_registry() != CUE_SUCCESS)
return CU_get_error();
if (argc < *pindex + 1)
{
add_color_suite();
add_libgdi_suite();
add_librfx_suite();
add_ntlmssp_suite();
}
else
{
while (*pindex < argc)
{
if (strcmp("color", argv[*pindex]) == 0)
{
add_color_suite();
}
else if (strcmp("libgdi", argv[*pindex]) == 0)
{
add_libgdi_suite();
}
else if (strcmp("librfx", argv[*pindex]) == 0)
{
add_librfx_suite();
}
else if (strcmp("ntlmssp", argv[*pindex]) == 0)
{
add_ntlmssp_suite();
}
*pindex = *pindex + 1;
}
}
CU_basic_set_mode(CU_BRM_VERBOSE);
CU_basic_run_tests();
CU_cleanup_registry();
return CU_get_error();
}