psxhdrs: Implement POSIX API Signature Compliance Tests for iconv.h (GCI 2018)

This commit is contained in:
Jacob Shin
2018-12-03 23:42:01 -05:00
committed by Joel Sherrill
parent fdcba406db
commit adc11af97a
4 changed files with 121 additions and 1 deletions

View File

@@ -1138,7 +1138,10 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
psxhdrs/regex/regerror.c \
psxhdrs/regex/regexec.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
rtems_tests_PROGRAMS = $(psx_tests)

View 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);
}

View 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);
}

View 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);
}