mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 23:23:13 +00:00
psxhdrs: Implement POSIX API Signature Compliance Tests for iconv.h (GCI 2018)
This commit is contained in:
committed by
Joel Sherrill
parent
fdcba406db
commit
adc11af97a
@@ -1138,7 +1138,10 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
|
|||||||
psxhdrs/regex/regerror.c \
|
psxhdrs/regex/regerror.c \
|
||||||
psxhdrs/regex/regexec.c \
|
psxhdrs/regex/regexec.c \
|
||||||
psxhdrs/regex/regfree.c \
|
psxhdrs/regex/regfree.c \
|
||||||
psxhdrs/fnmatch/fnmatch.c
|
psxhdrs/fnmatch/fnmatch.c \
|
||||||
|
psxhdrs/iconv/iconv.c \
|
||||||
|
psxhdrs/iconv/iconv_close.c \
|
||||||
|
psxhdrs/iconv/iconv_open.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
rtems_tests_PROGRAMS = $(psx_tests)
|
rtems_tests_PROGRAMS = $(psx_tests)
|
||||||
|
|||||||
44
testsuites/psxtests/psxhdrs/iconv/iconv.c
Executable file
44
testsuites/psxtests/psxhdrs/iconv/iconv.c
Executable file
@@ -0,0 +1,44 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* @brief iconv() API Conformance Test
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* COPYRIGHT (c) 2018.
|
||||||
|
* Jacob Shin
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software
|
||||||
|
* for any purpose with or without fee is hereby granted.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||||
|
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
|
||||||
|
* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||||
|
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||||
|
* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <iconv.h>
|
||||||
|
|
||||||
|
int test( void );
|
||||||
|
|
||||||
|
int test( void )
|
||||||
|
{
|
||||||
|
|
||||||
|
iconv_t cd = iconv_open("ASCII", "UTF-8");
|
||||||
|
char inbuf[10] = "string";
|
||||||
|
char outbuf[10];
|
||||||
|
char *inptr = inbuf;
|
||||||
|
char *outptr = (char *)outbuf;
|
||||||
|
size_t inbytesLeft = 7;
|
||||||
|
size_t outbytesLeft = 10;
|
||||||
|
size_t return_value;
|
||||||
|
|
||||||
|
return_value = iconv(cd, &inptr, &inbytesLeft, &outptr, &outbytesLeft);
|
||||||
|
return (return_value != (size_t)-1);
|
||||||
|
}
|
||||||
37
testsuites/psxtests/psxhdrs/iconv/iconv_close.c
Executable file
37
testsuites/psxtests/psxhdrs/iconv/iconv_close.c
Executable file
@@ -0,0 +1,37 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* @brief iconv_close() API Conformance Test
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* COPYRIGHT (c) 2018.
|
||||||
|
* Jacob Shin
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software
|
||||||
|
* for any purpose with or without fee is hereby granted.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||||
|
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
|
||||||
|
* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||||
|
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||||
|
* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <iconv.h>
|
||||||
|
|
||||||
|
int test( void );
|
||||||
|
|
||||||
|
int test( void )
|
||||||
|
{
|
||||||
|
iconv_t cd = iconv_open("UTF-8", "WCHAR_T");
|
||||||
|
int return_value;
|
||||||
|
|
||||||
|
return_value = iconv_close(cd);
|
||||||
|
return (return_value != -1);
|
||||||
|
}
|
||||||
36
testsuites/psxtests/psxhdrs/iconv/iconv_open.c
Executable file
36
testsuites/psxtests/psxhdrs/iconv/iconv_open.c
Executable file
@@ -0,0 +1,36 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* @brief iconv_open() API Conformance Test
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* COPYRIGHT (c) 2018.
|
||||||
|
* Jacob Shin
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software
|
||||||
|
* for any purpose with or without fee is hereby granted.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||||
|
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
|
||||||
|
* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||||
|
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||||
|
* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <iconv.h>
|
||||||
|
|
||||||
|
int test( void );
|
||||||
|
|
||||||
|
int test( void )
|
||||||
|
{
|
||||||
|
iconv_t return_value;
|
||||||
|
|
||||||
|
return_value = iconv_open("WCHAR_T", "UTF-8");
|
||||||
|
return (return_value != (iconv_t)-1);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user