psxhdrs: add POSIX API Signature Compliance Tests for locale.h (GCI 2018)

This commit is contained in:
Himanshu40
2018-12-02 16:31:18 +05:30
committed by Joel Sherrill
parent 903c57a8b4
commit 0888bfd5dd
7 changed files with 246 additions and 1 deletions

View File

@@ -1126,7 +1126,13 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
psxhdrs/dlfcn/dlopen.c \
psxhdrs/dlfcn/dlclose.c \
psxhdrs/dlfcn/dlerror.c \
psxhdrs/dlfcn/dlsym.c
psxhdrs/dlfcn/dlsym.c \
psxhdrs/locale/newlocale.c \
psxhdrs/locale/freelocale.c \
psxhdrs/locale/uselocale.c \
psxhdrs/locale/setlocale.c \
psxhdrs/locale/duplocale.c \
psxhdrs/locale/localeconv.c
endif
rtems_tests_PROGRAMS = $(psx_tests)

View File

@@ -0,0 +1,41 @@
/**
* @file
* @brief duplocale() API Conformance Test
*/
/*
* COPYRIGHT (c) 2018.
* Himanshu Sekhar Nayak
*
* 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 <locale.h>
int test( void );
int test( void )
{
locale_t newloc;
locale_t locobj;
int category_mask = LC_CTYPE_MASK | LC_TIME_MASK;
char *locale = "loc1";
newloc = newlocale( category_mask, locale, (locale_t)0 );
locobj = duplocale( newloc );
return (locobj != NULL);
}

View File

@@ -0,0 +1,40 @@
/**
* @file
* @brief freelocale() API Conformance Test
*/
/*
* COPYRIGHT (c) 2018.
* Himanshu Sekhar Nayak
*
* 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 <locale.h>
int test( void );
int test( void )
{
locale_t newloc;
int category_mask = LC_CTYPE_MASK | LC_TIME_MASK;
char *locale = "loc1";
newloc = newlocale( category_mask, locale, (locale_t)0 );
freelocale( newloc );
return (newloc != NULL);
}

View File

@@ -0,0 +1,39 @@
/**
* @file
* @brief localeconv() API Conformance Test
*/
/*
* COPYRIGHT (c) 2018.
* Himanshu Sekhar Nayak
*
* 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 <locale.h>
int test( void );
int test( void )
{
struct lconv *lc;
int category = LC_MONETARY;
setlocale( category, "" );
lc = localeconv();
return (lc != NULL);
}

View File

@@ -0,0 +1,39 @@
/**
* @file
* @brief newlocale() API Conformance Test
*/
/*
* COPYRIGHT (c) 2018.
* Himanshu Sekhar Nayak
*
* 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 <locale.h>
int test( void );
int test( void )
{
locale_t newloc;
int category_mask = LC_CTYPE_MASK | LC_TIME_MASK;
char *locale = "loc1";
newloc = newlocale( category_mask, locale, (locale_t)0 );
return (newloc != NULL);
}

View File

@@ -0,0 +1,39 @@
/**
* @file
* @brief setlocale() API Conformance Test
*/
/*
* COPYRIGHT (c) 2018.
* Himanshu Sekhar Nayak
*
* 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 <locale.h>
int test( void );
int test( void )
{
int category = LC_ALL;
char *locale = "loc1";
char *ostring;
ostring = setlocale( category, locale );
return (ostring != NULL);
}

View File

@@ -0,0 +1,41 @@
/**
* @file
* @brief uselocale() API Conformance Test
*/
/*
* COPYRIGHT (c) 2018.
* Himanshu Sekhar Nayak
*
* 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 <locale.h>
int test( void );
int test( void )
{
locale_t newloc;
locale_t currentloc;
int category_mask = LC_CTYPE_MASK | LC_TIME_MASK;
char *locale = "loc1";
newloc = newlocale( category_mask, locale, (locale_t)0 );
currentloc = uselocale( newloc );
return (currentloc != NULL);
}