summaryrefslogtreecommitdiff
path: root/tests/bionic/libc/common/test_libgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/bionic/libc/common/test_libgen.c')
-rw-r--r--tests/bionic/libc/common/test_libgen.c221
1 files changed, 0 insertions, 221 deletions
diff --git a/tests/bionic/libc/common/test_libgen.c b/tests/bionic/libc/common/test_libgen.c
deleted file mode 100644
index 4a2c29e2..00000000
--- a/tests/bionic/libc/common/test_libgen.c
+++ /dev/null
@@ -1,221 +0,0 @@
-// test the basename, dirname, basename_r and dirname_r
-#include <libgen.h>
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-
-static int fail = 0;
-
-static void
-test_basename(char* _input, const char* _expected, int _errno)
-{
- char temp[256], *input = _input;
- char* ret;
-#if HOST
- /* GLibc does modify the input string. bummer */
- if (_input) {
- strcpy(temp, _input);
- input = temp;
- }
-#endif
- errno = 0;
- ret = basename(input);
- if (_expected == NULL) {
- if (ret != NULL) {
- fprintf(stderr,
- "KO: basename(\"%s\") returned \"%s\", NULL expected)\n",
- _input, ret);
- fail += 1;
- } else if (errno != _errno) {
- fprintf(stderr,
- "KO: basename(\"%s\") returned NULL with error: %d (%d expected)\n",
- _input, errno, _errno);
- fail += 1;
- } else {
- printf( "OK: basename(\"%s\") returned NULL with error %d\n",
- _input, _errno );
- }
- } else {
- if (ret == NULL) {
- fprintf(stderr, "KO: basename(\"%s\") returned NULL with error %d\n",
- _input, errno);
- fail += 1;
- }
- else if (strcmp(ret, _expected)) {
- fprintf(stderr, "KO: basename(\"%s\") returned \"%s\", instead of \"%s\"\n",
- _input, ret, _expected);
- }
- else {
- printf( "OK: basename(\"%s\") returned \"%s\"\n",
- _input, ret );
- }
- }
-}
-
-
-#if !HOST
-static void
-test_basename_r(char* _input, const char* _expected_content, int _expected, char* _buff, size_t _bufflen, int _errno)
-{
- int ret;
- errno = 0;
- ret = basename_r(_input, _buff, _bufflen );
- if (ret != _expected) {
- fprintf(stderr,
- "KO: basename_r(\"%s\", <buff>, %d) returned %d (expected %d)\n",
- _input, _bufflen, ret, _expected);
- fail += 1;
- return;
- }
- if (ret == -1) {
- if (errno != _errno) {
- fprintf(stderr,
- "KO: basename_r(\"%s\", <buff>, %d) returned -1 with errno=%d (expected %d)\n",
- _input, _bufflen, errno, _errno);
- fail += 1;
- return;
- }
- }
- else if ( memcmp( _buff, _expected_content, ret ) ) {
- fprintf(stderr,
- "KO: basename_r(\"%s\", <buff>, %d) returned \"%s\", expected \"%s\"\n",
- _input, _bufflen, _buff, _expected_content );
- fail += 1;
- return;
- }
- printf("OK: basename_r(\"%s\", <buff>, %d) returned \"%s\"\n",
- _input, _bufflen, _expected_content );
-}
-
-static void
-test_dirname_r(char* _input, const char* _expected_content, int _expected, char* _buff, size_t _bufflen, int _errno)
-{
- int ret;
- errno = 0;
- ret = dirname_r(_input, _buff, _bufflen );
- if (ret != _expected) {
- fprintf(stderr,
- "KO: dirname_r(\"%s\", <buff>, %d) returned %d (expected %d)\n",
- _input, _bufflen, ret, _expected);
- fail += 1;
- return;
- }
- if (ret == -1) {
- if (errno != _errno) {
- fprintf(stderr,
- "KO: dirname_r(\"%s\", <buff>, %d) returned -1 with errno=%d (expected %d)\n",
- _input, _bufflen, errno, _errno);
- fail += 1;
- return;
- }
- }
- else if ( memcmp( _buff, _expected_content, ret ) ) {
- fprintf(stderr,
- "KO: dirname_r(\"%s\", <buff>, %d) returned \"%s\", expected \"%s\"\n",
- _input, _bufflen, _buff, _expected_content );
- fail += 1;
- return;
- }
- printf("OK: dirname_r(\"%s\", <buff>, %d) returned \"%s\"\n",
- _input, _bufflen, _expected_content );
-}
-#endif
-
-
-static void
-test_dirname(char* _input, const char* _expected, int _errno)
-{
- char temp[256], *input = _input;
- char* ret;
-#if HOST
- /* GLibc does modify the input string. bummer */
- if (_input) {
- strcpy(temp, _input);
- input = temp;
- }
-#endif
- errno = 0;
- ret = dirname(input);
- if (_expected == NULL) {
- if (ret != NULL) {
- fprintf(stderr,
- "KO: dirname(\"%s\") returned \"%s\", NULL expected)\n",
- _input, ret);
- fail += 1;
- } else if (errno != _errno) {
- fprintf(stderr,
- "KO: dirname(\"%s\") returned NULL with error: %d (%d expected)\n",
- _input, errno, _errno);
- fail += 1;
- } else {
- printf( "OK: dirname(\"%s\") returned NULL with error %d\n",
- _input, _errno );
- }
- } else {
- if (ret == NULL) {
- fprintf(stderr, "KO: dirname(\"%s\") returned NULL with error %d\n",
- _input, errno);
- fail += 1;
- }
- else if (strcmp(ret, _expected)) {
- fprintf(stderr, "KO: dirname(\"%s\") returned \"%s\", instead of \"%s\"\n",
- _input, ret, _expected);
- }
- else {
- printf( "OK: dirname(\"%s\") returned \"%s\"\n",
- _input, ret );
- }
- }
-}
-
-
-
-
-int main( void )
-{
- char buff[256];
-
- test_basename( "", ".", 0 );
- test_basename( "/usr/lib", "lib", 0 );
- test_basename( "/usr/", "usr", 0 );
- test_basename( "usr", "usr", 0 );
- test_basename( "/", "/", 0 );
- test_basename( ".", ".", 0 );
- test_basename( "..", "..", 0 );
-
-#if !HOST
- test_basename_r( "", ".", 1, NULL, 0, 0 );
- test_basename_r( "", ".", -1, buff, 0, ERANGE );
- test_basename_r( "", ".", -1, buff, 1, ERANGE );
- test_basename_r( "", ".", 1, buff, 2, 0 );
- test_basename_r( "", ".", 1, buff, sizeof(buff), 0 );
- test_basename_r( "/usr/lib", "lib", 3, buff, sizeof(buff), 0 );
- test_basename_r( "/usr/", "usr", 3, buff, sizeof(buff), 0 );
- test_basename_r( "usr", "usr", 3, buff, sizeof(buff), 0 );
- test_basename_r( "/", "/", 1, buff, sizeof(buff), 0 );
- test_basename_r( ".", ".", 1, buff, sizeof(buff), 0 );
- test_basename_r( "..", "..", 2, buff, sizeof(buff), 0 );
-#endif
-
- test_dirname( "", ".", 0 );
- test_dirname( "/usr/lib", "/usr", 0 );
- test_dirname( "/usr/", "/", 0 );
- test_dirname( "usr", ".", 0 );
- test_dirname( ".", ".", 0 );
- test_dirname( "..", ".", 0 );
-
-#if !HOST
- test_dirname_r( "", ".", 1, NULL, 0, 0 );
- test_dirname_r( "", ".", -1, buff, 0, ERANGE );
- test_dirname_r( "", ".", -1, buff, 1, ERANGE );
- test_dirname_r( "", ".", 1, buff, 2, 0 );
- test_dirname_r( "/usr/lib", "/usr", 4, buff, sizeof(buff), 0 );
- test_dirname_r( "/usr/", "/", 1, buff, sizeof(buff), 0 );
- test_dirname_r( "usr", ".", 1, buff, sizeof(buff), 0 );
- test_dirname_r( ".", ".", 1, buff, sizeof(buff), 0 );
- test_dirname_r( "..", ".", 1, buff, sizeof(buff), 0 );
-#endif
-
- return (fail > 0);
-}
-