diff options
Diffstat (limited to 'test/locale-mbwc/tsp_common.c')
-rw-r--r-- | test/locale-mbwc/tsp_common.c | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/test/locale-mbwc/tsp_common.c b/test/locale-mbwc/tsp_common.c new file mode 100644 index 000000000..cd88274c5 --- /dev/null +++ b/test/locale-mbwc/tsp_common.c @@ -0,0 +1,64 @@ +/* + * TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY + * Main driver + */ + + +#define TST_FUNCTION_CALL(func) _TST_FUNCTION_CALL(func) +#define _TST_FUNCTION_CALL(func) tst ##_## func + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <locale.h> +#include <errno.h> +#include <signal.h> + +#include "tst_types.h" +#include "tgn_locdef.h" + + +int +main (int argc, char *argv[]) +{ + int ret; + int debug; + + debug = argc > 1 ? atoi (argv[1]) : 0; + + if (debug) + { + fprintf (stdout, "\nTST_MBWC ===> %s ...\n", argv[0]); + } + ret = TST_FUNCTION_CALL (TST_FUNCTION) (stdout, debug); + + return (ret != 0); +} + +#define MAX_RESULT_REC 132 +char result_rec[MAX_RESULT_REC]; + + +int +result (FILE * fp, char res, const char *func, const char *loc, int rec_no, + int seq_no, int case_no, const char *msg) +{ + if (fp == NULL + || strlen (func) + strlen (loc) + strlen (msg) + 32 > MAX_RESULT_REC) + { + fprintf (stderr, + "Warning: result(): can't write the result: %s:%s:%d:%d:%s\n", + func, loc, rec_no, case_no, msg); + return 0; + } + + sprintf (result_rec, "%s:%s:%d:%d:%d:%c:%s\n", func, loc, rec_no, seq_no, + case_no, res, msg); + + if (fputs (result_rec, fp) == EOF) + { + return 0; + } + + return 1; +} |