diff --git a/testsuite/expect/test7.2.prog.c b/testsuite/expect/test7.2.prog.c
index dd2e8421843ecfc02a61a70097dc8763dfe0a629..c34eadfcc739ebd986b1a26b74aa6bdd0ccccced 100644
--- a/testsuite/expect/test7.2.prog.c
+++ b/testsuite/expect/test7.2.prog.c
@@ -26,6 +26,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <slurm/pmi.h>
+#include <sys/time.h>
 
 #if 0
 /* Typical MPICH2 use */
@@ -41,6 +42,7 @@
 #  define PUTS_PER_BARRIER      0
 #endif
 
+#define _DEBUG    0
 #define OFFSET_1  1234
 #define OFFSET_2  5678
 
@@ -52,6 +54,11 @@ main (int argc, char **argv)
 	int pmi_rank, pmi_size, kvs_name_len, key_len, val_len;
 	PMI_BOOL initialized;
 	char *key, *val, *kvs_name;
+	struct timeval tv1, tv2;
+	long delta_t;
+	char tv_str[20];
+
+	gettimeofday(&tv1, NULL);
 
 	/* Get process count and our id from environment variables */
 	nprocs_ptr = getenv("SLURM_NPROCS");
@@ -92,12 +99,16 @@ main (int argc, char **argv)
 		printf("FAILURE: PMI_Get_rank: %d\n", rc);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_Get_rank = %d\n", pmi_rank);
+#endif
 	if ((rc = PMI_Get_size(&pmi_size)) != PMI_SUCCESS) {
 		printf("FAILURE: PMI_Get_size: %d, task %d\n", rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_Get_size = %d\n", pmi_size);
+#endif
 	if (pmi_rank != procid) {
 		printf("FAILURE: Rank(%d) != PROCID(%d)\n",
 			pmi_rank, procid);
@@ -114,14 +125,18 @@ main (int argc, char **argv)
 			rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_KVS_Get_name_length_max = %d\n", kvs_name_len);
+#endif
 	kvs_name = malloc(kvs_name_len);
 	if ((rc = PMI_KVS_Get_my_name(kvs_name, kvs_name_len)) != PMI_SUCCESS) {
 		printf("FAILURE: PMI_KVS_Get_my_name: %d, task %d\n", rc, 
 			pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_KVS_Get_my_name = %s\n", kvs_name);
+#endif
 	if ((rc = PMI_KVS_Get_key_length_max(&key_len)) != PMI_SUCCESS) {
 		printf("FAILURE: PMI_KVS_Get_key_length_max: %d, task %d\n", 
 			rc, pmi_rank);
@@ -133,7 +148,9 @@ main (int argc, char **argv)
 			rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_KVS_Get_value_length_max = %d\n", val_len);
+#endif
 	val = malloc(val_len);
 
 	/*  Build and set some key=val pairs */
@@ -144,7 +161,9 @@ main (int argc, char **argv)
 			kvs_name, key, val, rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_KVS_Put(%s,%s,%s)\n", kvs_name, key, val);
+#endif
 	snprintf(key, key_len, "attr_2_%d", procid);
 	snprintf(val, val_len, "B%d", procid+OFFSET_2);
 	if ((rc = PMI_KVS_Put(kvs_name, key, val)) != PMI_SUCCESS) {
@@ -152,20 +171,24 @@ main (int argc, char **argv)
 			kvs_name, key, val, rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_KVS_Put(%s,%s,%s)\n", kvs_name, key, val);
-
+#endif
 	/* Sync KVS across all tasks */
 	if ((rc = PMI_KVS_Commit(kvs_name)) != PMI_SUCCESS) {
 		printf("FAILURE: PMI_KVS_Commit: %d, task %d\n", rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_KVS_Commit completed\n");
+#endif
 	if ((rc = PMI_Barrier()) != PMI_SUCCESS) {
 		printf("FAILURE: PMI_Barrier: %d, task %d\n", rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_Barrier completed\n");
-
+#endif
 	/* Now lets get all keypairs and validate */
 	for (i=0; i<pmi_size; i++) {
 		snprintf(key, key_len, "ATTR_1_%d", i);
@@ -181,9 +204,10 @@ main (int argc, char **argv)
 				key, val, pmi_rank);
 			exit(1);
 		}
+#if _DEBUG
 		if ((pmi_size <= 8) && (pmi_rank == 1))	/* limit output */
 			printf("PMI_KVS_Get(%s,%s) %s\n", kvs_name, key, val);
-
+#endif
 		snprintf(key, key_len, "attr_2_%d", i);
 		if ((rc = PMI_KVS_Get(kvs_name, key, val, val_len))
 				!= PMI_SUCCESS) {
@@ -197,8 +221,10 @@ main (int argc, char **argv)
 				key,val, pmi_rank);
 			exit(1);
 		}
+#if _DEBUG
 		if ((pmi_size <= 8) && (pmi_rank == 1))	/* limit output */
 			printf("PMI_KVS_Get(%s,%s) %s\n", kvs_name, key, val);
+#endif
 	}
 
 	/* use iterator */
@@ -217,10 +243,12 @@ main (int argc, char **argv)
 			}
 			break;
 		}
+#if _DEBUG
 		if ((pmi_size <= 8) && (pmi_rank == 1)) {	/* limit output */
 			printf("PMI_KVS_Iter_next(%s,%d): %s=%s\n", kvs_name, 
 				i, key, val);
 		}
+#endif
 		if ((rc = PMI_KVS_Iter_next(kvs_name, key, key_len, 
 				val, val_len)) != PMI_SUCCESS) {
 			printf("FAILURE: PMI_KVS_iter_next: %d, task %d\n", 
@@ -237,7 +265,9 @@ main (int argc, char **argv)
 			kvs_name, key, val, rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_KVS_Put(%s,%s,%s)\n", kvs_name, key, val);
+#endif
 	snprintf(key, key_len, "attr_4_%d", procid);
 	snprintf(val, val_len, "D%d", procid+OFFSET_2);
 	if ((rc = PMI_KVS_Put(kvs_name, key, val)) != PMI_SUCCESS) {
@@ -245,21 +275,24 @@ main (int argc, char **argv)
 			kvs_name, key, val, rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_KVS_Put(%s,%s,%s)\n", kvs_name, key, val);
-
+#endif
 	/* Sync KVS across all tasks */
 	if ((rc = PMI_KVS_Commit(kvs_name)) != PMI_SUCCESS) {
 		printf("FAILURE: PMI_KVS_Commit: %d, task %d\n", rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_KVS_Commit completed\n");
-
+#endif
 	if ((rc = PMI_Barrier()) != PMI_SUCCESS) {
 		printf("FAILURE: PMI_Barrier: %d, task %d\n", rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_Barrier completed\n");
-
+#endif
 	/* Now lets get some keypairs and validate */
 	for (i=0; i<pmi_size; i++) {
 		snprintf(key, key_len, "ATTR_1_%d", i);
@@ -275,9 +308,10 @@ main (int argc, char **argv)
 				key, val, pmi_rank);
 			exit(1);
 		}
+#if _DEBUG
 		if ((pmi_size <= 8) && (pmi_rank == 1))	/* limit output */
 			printf("PMI_KVS_Get(%s,%s) %s\n", kvs_name, key, val);
-
+#endif
 		snprintf(key, key_len, "attr_4_%d", i);
 		if ((rc = PMI_KVS_Get(kvs_name, key, val, val_len))
 				!= PMI_SUCCESS) {
@@ -291,16 +325,20 @@ main (int argc, char **argv)
 				key,val, pmi_rank);
 			exit(1);
 		}
+#if _DEBUG
 		if ((pmi_size <= 8) && (pmi_rank == 1))	/* limit output */
 			printf("PMI_KVS_Get(%s,%s) %s\n", kvs_name, key, val);
+#endif
 	}
 
 	/* Replicate the very heavy load that MVAPICH2 puts on PMI
 	 * This load exceeds that of MPICH2 by a very wide margin */
+#if _DEBUG
 	printf("Starting %d interations each with %d PMI_KVS_Put and \n"
 		"  one each PMI_KVS_Commit and KVS_Barrier\n", 
 		BARRIER_CNT, PUTS_PER_BARRIER);
 	fflush(stdout);	
+#endif
 	for (i=0; i<BARRIER_CNT; i++) {
 		for (j=0; j<PUTS_PER_BARRIER; j++) {
 			snprintf(key, key_len, "ATTR_%d_%d_%d", i, j, procid);
@@ -326,27 +364,34 @@ main (int argc, char **argv)
 		/* Don't bother with PMI_KVS_Get as those are all local
 		 * and do not put a real load on srun or the network */
 	}
+#if _DEBUG
 	printf("Interative PMI calls successful\n");
-
+#endif
 
 	/* create new keyspace and test it */
 	if ((rc = PMI_KVS_Create(kvs_name, kvs_name_len)) != PMI_SUCCESS) {
 		printf("FAILURE: PMI_KVS_Create: %d, task %d\n", rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_KVS_Create %s\n", kvs_name);
+#endif
 	if ((rc = PMI_KVS_Put(kvs_name, "KVS_KEY", "KVS_VAL")) != PMI_SUCCESS) {
 		printf("FAILURE: PMI_KVS_Put: %d, task %d\n", rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_KVS_Put(%s,KVS_KEY,KVS_VAL)\n", kvs_name);
+#endif
 	if ((rc =  PMI_KVS_Get(kvs_name, "KVS_KEY", val, val_len)) != 
 			PMI_SUCCESS) {
 		printf("FAILURE: PMI_KVS_Get(%s, KVS_KEY): %d, task %d\n", 
 			kvs_name, rc, pmi_rank);
 		exit(1);
 	}
+#if _DEBUG
 	printf("PMI_KVS_Get(%s,%s) %s\n", kvs_name, "KVS_KEY", val);
+#endif
 	if ((rc = PMI_KVS_Destroy(kvs_name)) != PMI_SUCCESS) {
 		printf("FAILURE: PMI_KVS_Destroy(%s): %d, task %d\n", 
 			kvs_name, rc, pmi_rank);
@@ -363,7 +408,13 @@ main (int argc, char **argv)
 		exit(1);
 	}
 
-	printf("PMI test ran successfully, for task %d\n", pmi_rank);
+	if (_DEBUG || (pmi_rank < 4)) {
+		gettimeofday(&tv2, NULL);
+		delta_t  = (tv2.tv_sec  - tv1.tv_sec) * 1000000;
+		delta_t +=  tv2.tv_usec - tv1.tv_usec;
+		snprintf(tv_str, sizeof(tv_str), "usec=%ld", delta_t);
+		printf("PMI test ran successfully, for task %d, %s\n", pmi_rank, tv_str);
+	}
 	exit(0);
 }