aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-11-16 05:32:35 +0000
committerMike Frysinger <vapier@gentoo.org>2008-11-16 05:32:35 +0000
commit96a5fad2341df12d4569d357acc6156719a4a101 (patch)
tree18db21bfab568f501d69f4753d01e05615662b65
parentsb_printf: implement %*s support (diff)
downloadsandbox-96a5fad2341df12d4569d357acc6156719a4a101.tar.gz
sandbox-96a5fad2341df12d4569d357acc6156719a4a101.tar.bz2
sandbox-96a5fad2341df12d4569d357acc6156719a4a101.zip
add tests for sb_printf()
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r--configure.ac1
-rw-r--r--tests/Makefile.am7
-rw-r--r--tests/sb_printf_tst.c45
3 files changed, 52 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index c742274..faf0f6f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,6 +5,7 @@ AC_CONFIG_HEADER([config.h])
dnl Checks for programs.
AC_PROG_CC
+AM_PROG_CC_C_O
AC_ISC_POSIX
AC_PROG_INSTALL
AC_PROG_MAKE_SET
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c86d4ff..8a812eb 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -40,7 +40,12 @@ check_PROGRAMS = \
unlinkat-0 \
utime-0 \
utimensat-0 \
- utimes-0
+ utimes-0 \
+ \
+ sb_printf_tst
+
+sb_printf_tst_CFLAGS = -I$(top_srcdir)/libsbutil -I$(top_srcdir)/libsbutil/include
+sb_printf_tst_LDADD = $(top_builddir)/libsbutil/libsbutil.la
check-local: atconfig atlocal $(TESTSUITE)
$(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
diff --git a/tests/sb_printf_tst.c b/tests/sb_printf_tst.c
new file mode 100644
index 0000000..7c9bf33
--- /dev/null
+++ b/tests/sb_printf_tst.c
@@ -0,0 +1,45 @@
+#include "headers.h"
+#include "sbutil.h"
+
+#define T(fmt, args...) \
+ do { \
+ printf(fmt "\n", ##args); \
+ sb_printf(fmt "\n", ##args); \
+ } while (0)
+
+int main(int argc, char *argv[])
+{
+ T("%i", argc);
+ T("%i", -argc);
+ T("%d", 123);
+ T("%d", -123);
+ T("%u", 1000);
+ T("%zi", argc);
+ T("%zi", -argc);
+ T("%zd", 123);
+ T("%zd", -123);
+ T("%zu", 1000);
+
+ T("%x", argc);
+ T("%x", 0xabcdef);
+ T("%X", argc);
+ T("%X", 0xabcdef);
+
+ T("%c", 'a');
+ T("%c", '0');
+ T("%c", 'K');
+ T("%s", "wOOf");
+ T("%s", "CoW");
+ T("%s", "!HI!");
+
+ size_t i;
+ for (i = 0; i < 6; ++i)
+ T("%s%*s%s", "{pre}", i, "cow", "{post}");
+
+ T("%%");
+
+ void *moo = (void *)0x123456;
+ T("%p", moo);
+
+ return 0;
+}