svn rev #24685: trunk/src/appl/user_user/

epeisach@MIT.EDU epeisach at MIT.EDU
Sat Mar 5 12:37:21 EST 2011


http://src.mit.edu/fisheye/changelog/krb5/?cs=24685
Commit By: epeisach
Log Message:
ticket: 6878
subject: Add test script for user2user programs

Simple test programs to make sure that user2user functions.




Changed Files:
U   trunk/src/appl/user_user/Makefile.in
U   trunk/src/appl/user_user/server.c
A   trunk/src/appl/user_user/t_user2user.py
Modified: trunk/src/appl/user_user/Makefile.in
===================================================================
--- trunk/src/appl/user_user/Makefile.in	2011-03-05 15:56:33 UTC (rev 24684)
+++ trunk/src/appl/user_user/Makefile.in	2011-03-05 17:37:21 UTC (rev 24685)
@@ -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)
 

Modified: trunk/src/appl/user_user/server.c
===================================================================
--- trunk/src/appl/user_user/server.c	2011-03-05 15:56:33 UTC (rev 24684)
+++ trunk/src/appl/user_user/server.c	2011-03-05 17:37:21 UTC (rev 24685)
@@ -84,16 +84,25 @@
 
         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);

Added: trunk/src/appl/user_user/t_user2user.py
===================================================================
--- trunk/src/appl/user_user/t_user2user.py	                        (rev 0)
+++ trunk/src/appl/user_user/t_user2user.py	2011-03-05 17:37:21 UTC (rev 24685)
@@ -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.')




More information about the cvs-krb5 mailing list