diff options
author | Andreas Jaeger <aj@suse.de> | 2000-06-27 15:53:49 +0000 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2000-06-27 15:53:49 +0000 |
commit | 22827fb10b7963e873025416a601c185ee6dade5 (patch) | |
tree | 430d62380f6b38d289d402fb91e6617cc0717875 /localedata/tests-mbwc/tst_wcscat.c | |
parent | cb6815da362a320f2bc9a2d0e0bd95ca354ff380 (diff) | |
download | glibc-22827fb10b7963e873025416a601c185ee6dade5.tar.gz glibc-22827fb10b7963e873025416a601c185ee6dade5.tar.xz glibc-22827fb10b7963e873025416a601c185ee6dade5.zip |
Add new files to tests and add environment for them.
Diffstat (limited to 'localedata/tests-mbwc/tst_wcscat.c')
-rw-r--r-- | localedata/tests-mbwc/tst_wcscat.c | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/localedata/tests-mbwc/tst_wcscat.c b/localedata/tests-mbwc/tst_wcscat.c new file mode 100644 index 0000000000..a2c4c5708b --- /dev/null +++ b/localedata/tests-mbwc/tst_wcscat.c @@ -0,0 +1,78 @@ +/* + WCSCAT: wchar_t *wcscat (wchar_t *ws1, const wchar_t *ws2); +*/ + +#define TST_FUNCTION wcscat + +#include "tsp_common.c" +#include "dat_wcscat.c" + +int +tst_wcscat (FILE * fp, int debug_flg) +{ + TST_DECL_VARS (wchar_t *); + wchar_t *ws1, *ws2, *ws_ex; + int i, err; + + TST_DO_TEST (wcscat) + { + TST_HEAD_LOCALE (wcscat, S_WCSCAT); + TST_DO_REC (wcscat) + { + TST_GET_ERRET (wcscat); + ws1 = TST_INPUT (wcscat).ws1; /* external value: size WCSSIZE */ + ws2 = TST_INPUT (wcscat).ws2; + + TST_CLEAR_ERRNO; + ret = wcscat (ws1, ws2); + TST_SAVE_ERRNO; + + TST_IF_RETURN (S_WCSCAT) + { + if (ret == ws1) + { + Result (C_SUCCESS, S_WCSCAT, CASE_3, MS_PASSED); + } + else + { + err_count++; + Result (C_FAILURE, S_WCSCAT, CASE_3, + "the return address may not be correct"); + } + } + + /* function specific test cases here */ + + if (ret == ws1) + { + ws_ex = TST_EXPECT (wcscat).ws; + for (err = 0, i = 0; + (ws1[i] != 0L || ws_ex[i] != 0L) && i < WCSSIZE; i++) + { + if (debug_flg) + { + fprintf (stdout, "tst_wcscat() : ws1[%d] = 0x%x\n", i, + ws1[i]); + } + + if (ws1[i] != ws_ex[i]) + { + err++; + err_count++; + Result (C_FAILURE, S_WCSCAT, CASE_4, + "concatinated string is different from an " + "expected string"); + break; + } + } + + if (!err) + { + Result (C_SUCCESS, S_WCSCAT, CASE_4, MS_PASSED); + } + } + } + } + + return err_count; +} |