mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 11:48:50 +00:00
[tests] Add small unit test for the new stream functions
2006-01-10 Paul Jakma <paul.jakma@sun.com> * test-stream.c: new file, small unit test for new resize and {put,get}-quad stream functions. * Makefile.am: build teststream unit test.
This commit is contained in:
parent
4b201d4634
commit
067fca8632
@ -1,3 +1,9 @@
|
||||
2006-01-10 Paul Jakma <paul.jakma@sun.com>
|
||||
|
||||
* test-stream.c: new file, small unit test for new
|
||||
resize and {put,get}-quad stream functions.
|
||||
* Makefile.am: build teststream unit test.
|
||||
|
||||
2005-11-23 Paul Jakma <paul.jakma@sun.com>
|
||||
|
||||
* aspath_test.c: Add an empty aspath to test segments, and to
|
||||
|
@ -2,11 +2,12 @@ INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib
|
||||
DEFS = @DEFS@ $(LOCAL_OPTS) -DSYSCONFDIR=\"$(sysconfdir)/\"
|
||||
|
||||
noinst_PROGRAMS = testsig testbuffer testmemory heavy heavywq heavythread \
|
||||
aspathtest testprivs
|
||||
aspathtest testprivs teststream
|
||||
testsig_SOURCES = test-sig.c
|
||||
testbuffer_SOURCES = test-buffer.c
|
||||
testmemory_SOURCES = test-memory.c
|
||||
testprivs_SOURCES = test-privs.c
|
||||
teststream_SOURCES = test-stream.c
|
||||
heavy_SOURCES = heavy.c main.c
|
||||
heavywq_SOURCES = heavy-wq.c main.c
|
||||
heavythread_SOURCES = heavy-thread.c main.c
|
||||
@ -16,6 +17,7 @@ testsig_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
testbuffer_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
testmemory_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
testprivs_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
teststream_LDADD = ../lib/libzebra.la @LIBCAP@
|
||||
heavy_LDADD = ../lib/libzebra.la @LIBCAP@ -lm
|
||||
heavywq_LDADD = ../lib/libzebra.la @LIBCAP@ -lm
|
||||
heavythread_LDADD = ../lib/libzebra.la @LIBCAP@ -lm
|
||||
|
54
tests/test-stream.c
Normal file
54
tests/test-stream.c
Normal file
@ -0,0 +1,54 @@
|
||||
#include <zebra.h>
|
||||
#include <stream.h>
|
||||
#include <thread.h>
|
||||
|
||||
static long int ham = 0xdeadbeefdeadbeef;
|
||||
struct thread_master *master;
|
||||
|
||||
static void
|
||||
print_stream (struct stream *s)
|
||||
{
|
||||
size_t getp = stream_get_getp (s);
|
||||
|
||||
printf ("endp: %ld, readable: %ld, writeable: %ld\n",
|
||||
stream_get_endp (s),
|
||||
STREAM_READABLE (s),
|
||||
STREAM_WRITEABLE (s));
|
||||
|
||||
while (STREAM_READABLE (s))
|
||||
{
|
||||
printf ("0x%x ", *stream_pnt (s));
|
||||
stream_forward_getp (s, 1);
|
||||
}
|
||||
|
||||
printf ("\n");
|
||||
|
||||
/* put getp back to where it was */
|
||||
stream_set_getp (s, getp);
|
||||
}
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
struct stream *s;
|
||||
|
||||
s = stream_new (1024);
|
||||
|
||||
stream_putc (s, ham);
|
||||
stream_putw (s, ham);
|
||||
stream_putl (s, ham);
|
||||
stream_putq (s, ham);
|
||||
|
||||
print_stream (s);
|
||||
|
||||
stream_resize (s, stream_get_endp (s));
|
||||
|
||||
print_stream (s);
|
||||
|
||||
printf ("c: 0x%hhx\n", stream_getc (s));
|
||||
printf ("w: 0x%hx\n", stream_getw (s));
|
||||
printf ("l: 0x%x\n", stream_getl (s));
|
||||
printf ("q: 0x%lx\n", stream_getq (s));
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user