diff options
-rw-r--r-- | testsuites/libtests/ChangeLog | 4 | ||||
-rw-r--r-- | testsuites/libtests/stringto01/init.c | 140 |
2 files changed, 144 insertions, 0 deletions
diff --git a/testsuites/libtests/ChangeLog b/testsuites/libtests/ChangeLog index fd9a8d5933..00e47e52fa 100644 --- a/testsuites/libtests/ChangeLog +++ b/testsuites/libtests/ChangeLog @@ -1,3 +1,7 @@ +2009-12-02 Joel Sherrill <joel.sherrill@OARcorp.com> + + * stringto01/init.c: New file. + 2009-12-01 Joel Sherrill <joel.sherrill@OARcorp.com> * Makefile.am, configure.ac: Add string_to_xxx conversion test. diff --git a/testsuites/libtests/stringto01/init.c b/testsuites/libtests/stringto01/init.c new file mode 100644 index 0000000000..b8ba4e00a7 --- /dev/null +++ b/testsuites/libtests/stringto01/init.c @@ -0,0 +1,140 @@ +/* + * COPYRIGHT (c) 1989-1999. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#include "tmacros.h" +#include <rtems/stringto.h> + +#include <stdio.h> +#include <assert.h> + +/* Test pointer conversions */ +#define TEST_STRING_TO_TYPE void * +#define TEST_STRING_TO_NAME test_rtems_string_to_pointer +#define STRING_TO_NAME_METHOD rtems_string_to_pointer +#define STRING_TO_NAME_METHOD_STRING "rtems_string_to_pointer" +#define STRING_TO_POINTER +#include "stringto_test_template.h" + +/* Test unsigned char conversions */ +#define TEST_STRING_TO_TYPE unsigned char +#define TEST_STRING_TO_NAME test_rtems_string_to_unsigned_char +#define STRING_TO_NAME_METHOD rtems_string_to_unsigned_char +#define STRING_TO_NAME_METHOD_STRING "rtems_string_to_unsigned_char" +/* #define TEST_TOO_LARGE_STRING "987654321123456789123456789" */ +#define STRING_TO_INTEGER +#include "stringto_test_template.h" + +/* Test integer conversions */ +#define TEST_STRING_TO_TYPE int +#define TEST_STRING_TO_NAME test_rtems_string_to_int +#define STRING_TO_NAME_METHOD rtems_string_to_int +#define STRING_TO_NAME_METHOD_STRING "rtems_string_to_int" +#define TEST_TOO_LARGE_STRING "987654321123456789123456789" +#define STRING_TO_INTEGER +#include "stringto_test_template.h" + +/* Test unsigned int conversions */ +#define TEST_STRING_TO_TYPE unsigned int +#define TEST_STRING_TO_NAME test_rtems_string_to_unsigned_int +#define STRING_TO_NAME_METHOD rtems_string_to_unsigned_int +#define STRING_TO_NAME_METHOD_STRING "rtems_string_to_unsigned_int" +#define TEST_TOO_LARGE_STRING "987654321123456789123456789" +#define STRING_TO_INTEGER +#include "stringto_test_template.h" + +/* Test long conversions */ +#define TEST_STRING_TO_TYPE long +#define TEST_STRING_TO_NAME test_rtems_string_to_long +#define STRING_TO_NAME_METHOD rtems_string_to_long +#define STRING_TO_NAME_METHOD_STRING "rtems_string_to_long" +#define TEST_TOO_LARGE_STRING "987654321123456789123456789" +#define TEST_TOO_SMALL_STRING "-98765432198765432123456789" +#define STRING_TO_INTEGER +#include "stringto_test_template.h" + +/* Test unsigned long conversions */ +#define TEST_STRING_TO_TYPE unsigned long +#define TEST_STRING_TO_NAME test_rtems_string_to_unsigned_long +#define STRING_TO_NAME_METHOD rtems_string_to_unsigned_long +#define STRING_TO_NAME_METHOD_STRING "rtems_string_to_unsigned_long" +#define TEST_TOO_LARGE_STRING "987654321123456789123456789" +#define STRING_TO_INTEGER +#include "stringto_test_template.h" + +/* Test long long conversions */ +#define TEST_STRING_TO_TYPE long long +#define TEST_STRING_TO_NAME test_rtems_string_to_long_long +#define STRING_TO_NAME_METHOD rtems_string_to_long_long +#define STRING_TO_NAME_METHOD_STRING "rtems_string_to_long_long" +#define TEST_TOO_LARGE_STRING "987654321123456789123456789" +#define TEST_TOO_SMALL_STRING "-98765432198765432123456789" +#define STRING_TO_INTEGER +#include "stringto_test_template.h" + +/* Test unsigned long long conversions */ +#define TEST_STRING_TO_TYPE unsigned long long +#define TEST_STRING_TO_NAME test_rtems_string_to_unsigned_long_long +#define STRING_TO_NAME_METHOD rtems_string_to_unsigned_long_long +#define STRING_TO_NAME_METHOD_STRING "rtems_string_to_unsigned_long_long" +#define TEST_TOO_LARGE_STRING "987654321123456789123456789" +#define STRING_TO_INTEGER +#include "stringto_test_template.h" + +/* Test float conversions */ +#define TEST_STRING_TO_TYPE float +#define TEST_STRING_TO_NAME test_rtems_string_to_float +#define STRING_TO_NAME_METHOD rtems_string_to_float +#define STRING_TO_NAME_METHOD_STRING "rtems_string_to_float" +#define TEST_TOO_LARGE_STRING "9.87654321123456789123456789E10240" +#define STRING_TO_FLOAT +#include "stringto_test_template.h" + +/* Test double conversions */ +#define TEST_STRING_TO_TYPE double +#define TEST_STRING_TO_NAME test_rtems_string_to_double +#define STRING_TO_NAME_METHOD rtems_string_to_double +#define STRING_TO_NAME_METHOD_STRING "rtems_string_to_double" +#define TEST_TOO_LARGE_STRING "9.87654321123456789123456789E10240" +#define STRING_TO_FLOAT +#include "stringto_test_template.h" + +rtems_task Init( + rtems_task_argument ignored +) +{ + puts( "\n\n*** STRING TO CONVERSION TEST ***" ); + test_rtems_string_to_pointer(); + test_rtems_string_to_unsigned_char(); + test_rtems_string_to_int(); + test_rtems_string_to_unsigned_int(); + test_rtems_string_to_long(); + test_rtems_string_to_unsigned_long(); + test_rtems_string_to_long_long(); + test_rtems_string_to_unsigned_long_long(); + + test_rtems_string_to_float(); + test_rtems_string_to_double(); + puts( "*** END OF STRING TO CONVERSION TEST ***" ); + rtems_test_exit(0); +} + +/* NOTICE: the clock driver is explicitly disabled */ +#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER + +#define CONFIGURE_MAXIMUM_TASKS 1 +#define CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM + +#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_FLOATING_POINT +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE + +#define CONFIGURE_INIT +#include <rtems/confdefs.h> |