diff options
-rw-r--r-- | test/rpc/Makefile | 38 | ||||
-rw-r--r-- | test/rpc/getrpcent.c | 18 | ||||
-rw-r--r-- | test/rpc/getrpcent_r.c | 25 |
3 files changed, 81 insertions, 0 deletions
diff --git a/test/rpc/Makefile b/test/rpc/Makefile new file mode 100644 index 000000000..58f04f634 --- /dev/null +++ b/test/rpc/Makefile @@ -0,0 +1,38 @@ +# Makefile for uClibc +# +# Copyright (C) 2005 Erik Andersen <andersen@uclibc.org> + +include ../Rules.mak + +# getrpcent_r_diff +TARGETS = getrpcent getrpcent_glibc getrpcent_diff + +all: $(TARGETS) + +getrpcent: getrpcent.c Makefile $(TESTDIR)/Rules.mak + -@ echo "-------" + -@ echo " " + -@ echo "Compiling $@ vs uClibc: " + -@ echo " " + $(CC) $(CFLAGS) -c $< -o $@.o + $(CC) $(LDFLAGS) $@.o -o $@ $(EXTRA_LIBS) + $(STRIPTOOL) -x -R .note -R .comment $@ + ./$@ > getrpcent.out + -@ echo " " + +getrpcent_glibc: getrpcent.c Makefile $(TESTDIR)/Rules.mak + -@ echo "-------" + -@ echo " " + -@ echo "Compiling $@ vs glibc: " + -@ echo " " + $(HOSTCC) $(GLIBC_CFLAGS) -c $< -o $@.o + $(HOSTCC) $(GLIBC_LDFLAGS) $@.o -o $@ + $(STRIPTOOL) -x -R .note -R .comment $@ + ./$@ > getrpcent_glibc.out + -@ echo " " + +getrpcent_diff: getrpcent getrpcent_glibc + diff -u getrpcent_glibc.out getrpcent.out + +clean: + $(RM) *.[oa] *~ core $(TARGETS) *.out diff --git a/test/rpc/getrpcent.c b/test/rpc/getrpcent.c new file mode 100644 index 000000000..e12e76806 --- /dev/null +++ b/test/rpc/getrpcent.c @@ -0,0 +1,18 @@ +#include <netdb.h> +#include <stdio.h> + +int main(int argc, char *argv[]) +{ + struct rpcent *ent; + + while ((ent = getrpcent()) != NULL) { + printf("%s: %i", ent->r_name, ent->r_number); + while (ent->r_aliases[0]) + printf(" %s", *ent->r_aliases++); + printf("\n"); + } + + endrpcent(); + + return 0; +} diff --git a/test/rpc/getrpcent_r.c b/test/rpc/getrpcent_r.c new file mode 100644 index 000000000..29cd5c278 --- /dev/null +++ b/test/rpc/getrpcent_r.c @@ -0,0 +1,25 @@ +#include <netdb.h> +#include <stdio.h> +#include <errno.h> + +int main(int argc, char *argv[]) +{ + int ret; + char rpcdata[10024]; + struct rpcent rpcbuf, *ent; +memset(rpcdata, 0x00, sizeof(rpcdata)); + + while ((ret = getrpcent_r(&rpcbuf, rpcdata, sizeof(rpcdata), &ent)) == 0) { + printf("%s: %i", ent->r_name, ent->r_number); + while (ent->r_aliases[0]) + printf(" %s", *ent->r_aliases++); + printf("\n"); + } + + if (ret != ENOENT) + printf("Test failed: %s\n", strerror(ret)); + + endrpcent(); + + return 0; +} |