From 483b7f3daad3b87c5beb238bcdfdb52303120b93 Mon Sep 17 00:00:00 2001 From: Ezra Peisach Date: Sat, 5 Mar 2011 17:37:21 +0000 Subject: [PATCH] Add test script for user2user programs Simple test programs to make sure that user2user functions. ticket: 6878 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24685 dc483132-0cff-0310-8789-dd5450dbe970 --- src/appl/user_user/Makefile.in | 4 ++++ src/appl/user_user/server.c | 17 +++++++++++++---- src/appl/user_user/t_user2user.py | 18 ++++++++++++++++++ 3 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 src/appl/user_user/t_user2user.py diff --git a/src/appl/user_user/Makefile.in b/src/appl/user_user/Makefile.in index 381ece63c..20ddc5911 100644 --- a/src/appl/user_user/Makefile.in +++ b/src/appl/user_user/Makefile.in @@ -1,11 +1,15 @@ mydir=appl$(S)user_user BUILDTOP=$(REL)..$(S).. +# If you remove the -DDEBUG, the test program needs a line changed DEFINES = -DDEBUG PROG_LIBPATH=-L$(TOPLIBD) PROG_RPATH=$(KRB5_LIBDIR) all:: uuclient uuserver +check-pytests:: uuclient uuserver + $(RUNPYTEST) $(srcdir)/t_user2user.py $(PYTESTFLAGS) + uuclient: client.o $(KRB5_BASE_DEPLIBS) $(CC_LINK) -o uuclient client.o $(KRB5_BASE_LIBS) diff --git a/src/appl/user_user/server.c b/src/appl/user_user/server.c index 25c7b10a3..b3cfcc163 100644 --- a/src/appl/user_user/server.c +++ b/src/appl/user_user/server.c @@ -84,16 +84,25 @@ int main(argc, argv) l_inaddr.sin_family = AF_INET; l_inaddr.sin_addr.s_addr = 0; - if (!(sp = getservbyname("uu-sample", "tcp"))) { - com_err("uu-server", 0, "can't find uu-sample/tcp service"); - exit(3); + if (argc == 2) { + l_inaddr.sin_port = htons(atoi(argv[1])); + } else { + if (!(sp = getservbyname("uu-sample", "tcp"))) { + com_err("uu-server", 0, "can't find uu-sample/tcp service"); + exit(3); + } + l_inaddr.sin_port = sp->s_port; } + (void) setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&one, sizeof (one)); - l_inaddr.sin_port = sp->s_port; if (bind(sock, (struct sockaddr *)&l_inaddr, sizeof(l_inaddr))) { com_err("uu-server", errno, "binding socket"); exit(3); } + + printf("Server started\n"); + fflush(stdout); + if (listen(sock, 1) == -1) { com_err("uu-server", errno, "listening"); exit(3); diff --git a/src/appl/user_user/t_user2user.py b/src/appl/user_user/t_user2user.py new file mode 100644 index 000000000..bb9c42f42 --- /dev/null +++ b/src/appl/user_user/t_user2user.py @@ -0,0 +1,18 @@ +#!/usr/bin/python +from k5test import * + +# If uuserver is not compiled under -DDEBUG, then set to 0 +debug_compiled=1 + +for realm in multipass_realms(): + if debug_compiled == 0: + realm.start_in_inetd(['./uuserver', 'uuserver'], port=9999) + else: + srv_output = realm.start_server(['./uuserver', '9999'], 'Server started') + + output = realm.run_as_client(['./uuclient', hostname, 'testing message', '9999']) + if 'uu-client: server says \"Hello, other end of connection.\"' not in output: + fail('Message not echoed back.') + + +success('User-2-user test programs.') -- 2.26.2