X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=tests%2Fsnprintf%2Fprog.c;h=8d3fd5c034bbb634764c09fe009188fbf1c35b62;hb=04fc40add7c59d75d259a7446f1f4edb32bf1967;hp=c6116fe30b221e2d0a4de42db029dbb8fb782035;hpb=69f1f6526a6d40556ed3dcb50cdc199f45793b2f;p=lttng-ust.git diff --git a/tests/snprintf/prog.c b/tests/snprintf/prog.c index c6116fe3..8d3fd5c0 100644 --- a/tests/snprintf/prog.c +++ b/tests/snprintf/prog.c @@ -1,18 +1,42 @@ +/* Copyright (C) 2009 Pierre-Marc Fournier + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + #include #include +#include "ust_snprintf.h" + +#include "tap.h" int main() { char buf[100]; - char *expected; + char test_fmt_str[] = "header %d, %s, %03d, '%3$*d'"; + char escaped_test_fmt_str[] = "header %%d, %%s, %%03d, '%%3$*d'"; + + plan_tests(1); expected = "header 9999, hello, 005, ' 9'"; - ust_safe_snprintf(buf, 99, "header %d, %s, %03d, '%3$*d'", 9999, "hello", 5, 9); - if(strcmp(buf, expected) != 0) { - printf("Error: expected \"%s\" and got \"%s\"\n", expected, buf); - return 1; - } + ust_safe_snprintf(buf, 99, test_fmt_str, 9999, "hello", 5, 9); + + char test_desc_fmt_str[] = "Got expected output string with format string \"%s\""; + char test_desc[sizeof(escaped_test_fmt_str) + sizeof(test_desc_fmt_str) - 1]; + sprintf(test_desc, test_desc_fmt_str, escaped_test_fmt_str); + ok(strcmp(buf, expected) == 0, test_desc); return 0; }