forked from Imagelibrary/rtems
psxhdrs: add POSIX API Signature Compliance Tests for regex.h (GCI 2018)
This commit is contained in:
committed by
Joel Sherrill
parent
577d9a59f0
commit
b055da2790
@@ -1133,7 +1133,11 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
|
||||
psxhdrs/locale/uselocale.c \
|
||||
psxhdrs/locale/setlocale.c \
|
||||
psxhdrs/locale/duplocale.c \
|
||||
psxhdrs/locale/localeconv.c
|
||||
psxhdrs/locale/localeconv.c \
|
||||
psxhdrs/regex/regcomp.c \
|
||||
psxhdrs/regex/regerror.c \
|
||||
psxhdrs/regex/regexec.c \
|
||||
psxhdrs/regex/regfree.c
|
||||
endif
|
||||
|
||||
rtems_tests_PROGRAMS = $(psx_tests)
|
||||
|
||||
40
testsuites/psxtests/psxhdrs/regex/regcomp.c
Normal file
40
testsuites/psxtests/psxhdrs/regex/regcomp.c
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief regcomp() 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 <sys/types.h>
|
||||
#include <regex.h>
|
||||
|
||||
int test( void );
|
||||
|
||||
int test( void )
|
||||
{
|
||||
regex_t preg;
|
||||
char *regex = "\\(sim[a-z]le\\) \\1";
|
||||
int result;
|
||||
|
||||
result = regcomp( &preg, regex, REG_EXTENDED|REG_NOSUB );
|
||||
|
||||
return result;
|
||||
}
|
||||
44
testsuites/psxtests/psxhdrs/regex/regerror.c
Normal file
44
testsuites/psxtests/psxhdrs/regex/regerror.c
Normal file
@@ -0,0 +1,44 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief regerror() 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 <sys/types.h>
|
||||
#include <regex.h>
|
||||
|
||||
int test( void );
|
||||
|
||||
int test( void )
|
||||
{
|
||||
regex_t preg;
|
||||
size_t error;
|
||||
char *regex = "\\(sim[a-z]le\\) \\1";
|
||||
char buffer[100];
|
||||
int result;
|
||||
|
||||
result = regcomp( &preg, regex, REG_EXTENDED|REG_NOSUB );
|
||||
(void) result;
|
||||
error = regerror( result, &preg, buffer, 100 );
|
||||
|
||||
return (error != '\0');
|
||||
}
|
||||
46
testsuites/psxtests/psxhdrs/regex/regexec.c
Normal file
46
testsuites/psxtests/psxhdrs/regex/regexec.c
Normal file
@@ -0,0 +1,46 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief regexec() 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 <sys/types.h>
|
||||
#include <regex.h>
|
||||
|
||||
int test( void );
|
||||
|
||||
int test( void )
|
||||
{
|
||||
regex_t preg;
|
||||
size_t nmatch = 2;
|
||||
regmatch_t pmatch[2];
|
||||
char *string = "a very simple simple simple string";
|
||||
char *regex = "\\(sim[a-z]le\\) \\1";
|
||||
int result;
|
||||
|
||||
result = regcomp( &preg, regex, REG_EXTENDED|REG_NOSUB );
|
||||
(void) result;
|
||||
|
||||
result = regexec( &preg, string, nmatch, pmatch, 0 );
|
||||
|
||||
return result;
|
||||
}
|
||||
41
testsuites/psxtests/psxhdrs/regex/regfree.c
Normal file
41
testsuites/psxtests/psxhdrs/regex/regfree.c
Normal file
@@ -0,0 +1,41 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief regfree() 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 <sys/types.h>
|
||||
#include <regex.h>
|
||||
|
||||
int test( void );
|
||||
|
||||
int test( void )
|
||||
{
|
||||
regex_t preg;
|
||||
char *regex = "\\(sim[a-z]le\\) \\1";
|
||||
int result;
|
||||
|
||||
result = regcomp( &preg, regex, REG_EXTENDED|REG_NOSUB );
|
||||
regfree( &preg );
|
||||
|
||||
return result;
|
||||
}
|
||||
Reference in New Issue
Block a user