Changeset 3007 for branches/libc-0.6/src
- Timestamp:
- Apr 7, 2007, 6:00:51 AM (18 years ago)
- Location:
- branches/libc-0.6/src/libctests/libc
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/libc-0.6/src/libctests/libc/Makefile
r3000 r3007 88 88 smoketests/socket-1.c \ 89 89 smoketests/tls-1.c \ 90 smoketests/tempnam-1.c \ 90 91 smoketests/tmpfile-1.c \ 91 92 smoketests/usleep-1.c \ -
branches/libc-0.6/src/libctests/libc/smoketests/tempnam-1.c
r3001 r3007 1 1 #include <stdio.h> 2 #include <locale.h>3 #include <ctype.h>4 2 #include <errno.h> 5 3 #include <string.h> … … 8 6 9 7 10 static int tst(const char *pszLocale)11 {12 char sz1[16];13 char sz2[16];14 unsigned i, j;15 int rc;16 int cErrors = 0;17 18 if (pszLocale)19 {20 const char *psz = setlocale(LC_ALL, pszLocale);21 if (!psz)22 {23 printf(TESTCASENAME ": FAILURE: setlocale(LC_ALL, %s) -> %s errno=%d\n", pszLocale, psz, errno);24 return 1;25 }26 }27 28 /* very basic test. */29 for (i = 0; i < 256; i++)30 {31 sz1[0] = sz2[0] = i;32 sz1[1] = sz2[1] = '\0';33 rc = strcoll(sz1, sz2);34 if (rc)35 {36 printf(TESTCASENAME ": FAILURE: %d != %d; rc=%d (locale=%s)\n", i, i, rc, pszLocale);37 return 1;38 }39 }40 41 /* basic test. */42 for (i = 'A'; i <= 'Z' && cErrors < 32; i++)43 {44 sz2[0] = i;45 sz2[1] = sz1[1] = '\0';46 47 /* smaller */48 for (j = 'A'; j < i && cErrors < 32; j++)49 {50 sz1[0] = j;51 rc = strcoll(sz1, sz2);52 if (rc >= 0)53 {54 printf(TESTCASENAME ": FAILURE: %s >= %s; rc=%d (locale=%s)\n", sz1, sz2, rc, pszLocale);55 cErrors++;56 }57 }58 59 /* larger */60 for (j = i + 1; j <= 'Z' && cErrors < 32; j++)61 {62 sz1[0] = j;63 rc = strcoll(sz1, sz2);64 if (rc <= 0)65 {66 printf(TESTCASENAME ": FAILURE: %s <= %s; rc=%d (locale=%s)\n", sz1, sz2, rc, pszLocale);67 cErrors++;68 }69 }70 71 }72 73 for (i = 'a'; i <= 'z' && cErrors < 32; i++)74 {75 sz2[0] = i;76 sz2[1] = sz1[1] = '\0';77 78 /* smaller */79 for (j = 'a'; j < i && cErrors < 32; j++)80 {81 sz1[0] = j;82 rc = strcoll(sz1, sz2);83 if (rc >= 0)84 {85 printf(TESTCASENAME ": FAILURE: %s >= %s; rc=%d (locale=%s)\n", sz1, sz2, rc, pszLocale);86 cErrors++;87 }88 }89 90 /* larger */91 for (j = i + 1; j <= 'z' && cErrors < 32; j++)92 {93 sz1[0] = j;94 rc = strcoll(sz1, sz2);95 if (rc <= 0)96 {97 printf(TESTCASENAME ": FAILURE: %s <= %s; rc=%d (locale=%s)\n", sz1, sz2, rc, pszLocale);98 cErrors++;99 }100 }101 102 }103 104 return cErrors;105 }106 107 8 int main() 108 9 { 109 10 int rc = 0; 11 char *psz; 110 12 111 rc += tst(NULL); 112 rc += tst("POSIX"); 113 rc += tst("C"); 114 #ifdef OTHER 115 rc += tst("en_US.IBM850"); 116 #else 117 rc += tst("en_US.ISO8859-1"); 118 #endif 119 rc += tst("C"); 120 rc += tst("en_US"); 121 rc += tst("de_DE"); 122 rc += tst("no_NO"); 13 errno = 0; 14 psz = tempnam(NULL, NULL); 15 if (psz && *psz) 16 printf(TESTCASENAME ": tempnam(NULL, NULL) -> %s (errno=%d)\n", psz, errno); 17 else 18 { 19 printf(TESTCASENAME ": FAILURE: tempnam(NULL, NULL) -> %p (%s) errno=%d\n", psz, psz, errno); 20 rc++; 21 } 123 22 124 23 /* .. done .. */
Note:
See TracChangeset
for help on using the changeset viewer.