[Pvfs2-cvs] commit by pcarns in pvfs2-1/test/io/bmi: test-bmi-client-eagerbug.c test-bmi-server-eagerbug.c module.mk.in test-bmi-client.c

CVS commit program cvs at parl.clemson.edu
Tue Jan 8 16:18:41 EST 2008


Update of /projects/cvsroot/pvfs2-1/test/io/bmi
In directory parlweb1:/tmp/cvs-serv15845/test/io/bmi

Modified Files:
	module.mk.in test-bmi-client.c 
Added Files:
	test-bmi-client-eagerbug.c test-bmi-server-eagerbug.c 
Log Message:
test programs and fix for eager recv bug in bmi_tcp


--- /dev/null	2004-06-24 14:04:38.000000000 -0400
+++ test-bmi-client-eagerbug.c	2008-01-08 16:18:41.000000000 -0500
@@ -0,0 +1,419 @@
+/*
+ * (C) 2001 Clemson University and The University of Chicago
+ *
+ * See COPYING in top-level directory.
+ */
+
+
+
+
+/*
+ * This is an example of a client program that uses the BMI library
+ * for communications.
+ */
+
+#include <stdio.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "bmi.h"
+#include "test-bmi.h"
+#include "gossip.h"
+
+/**************************************************************
+ * Data structures 
+ */
+
+/* A little structure to hold program options, either defaults or
+ * specified on the command line 
+ */
+struct options
+{
+    char *hostid;		/* host identifier */
+    int message_size;		/* message size */
+};
+
+
+/**************************************************************
+ * Internal utility functions
+ */
+
+static struct options *parse_args(
+    int argc,
+    char *argv[]);
+
+
+/**************************************************************/
+
+int main(
+    int argc,
+    char **argv)
+{
+
+    struct options *user_opts = NULL;
+    struct server_request *my_req = NULL;
+    struct server_ack *my_ack = NULL;
+    int ret = -1;
+    PVFS_BMI_addr_t server_addr;
+    void *send_buffer = NULL;
+    bmi_op_id_t client_ops[2];
+    int outcount = 0;
+    bmi_error_code_t error_code;
+    void *in_test_user_ptr = &server_addr;
+    void *out_test_user_ptr = NULL;
+    bmi_size_t actual_size;
+    bmi_context_id context;
+    char method[24], *cp;
+    int len;
+    char testeagerbuf1[] = "aaaccc";
+
+    /* grab any command line options */
+    user_opts = parse_args(argc, argv);
+    if (!user_opts)
+    {
+	return (-1);
+    }
+
+    /* set debugging stuff */
+    gossip_enable_stderr();
+    /* gossip_set_debug_mask(1, GOSSIP_BMI_DEBUG_ALL); */
+
+    /* convert address to bmi method type by prefixing bmi_ */
+    cp = strchr(user_opts->hostid, ':');
+    if (!cp)
+        return 1;
+    len = cp - user_opts->hostid;
+    strcpy(method, "bmi_");
+    strncpy(method + 4, user_opts->hostid, len);
+    method[4+len] = '\0';
+
+    /* initialize local interface */
+    ret = BMI_initialize(NULL, NULL, 0);
+    if (ret < 0)
+    {
+	errno = -ret;
+	perror("BMI_initialize");
+	return (-1);
+    }
+
+    ret = BMI_open_context(&context);
+    if (ret < 0)
+    {
+	errno = -ret;
+	perror("BMI_open_context()");
+	return (-1);
+    }
+
+    /* get a bmi_addr for the server */
+    ret = BMI_addr_lookup(&server_addr, user_opts->hostid);
+    if (ret < 0)
+    {
+	errno = -ret;
+	perror("BMI_addr_lookup");
+	return (-1);
+    }
+
+    /* allocate a buffer for the initial request and ack */
+    my_req = (struct server_request *) BMI_memalloc(server_addr,
+						    sizeof(struct
+							   server_request),
+						    BMI_SEND);
+    my_ack =
+	(struct server_ack *) BMI_memalloc(server_addr,
+					   sizeof(struct server_ack), BMI_RECV);
+    if (!my_req || !my_ack)
+    {
+	fprintf(stderr, "BMI_memalloc failed.\n");
+	return (-1);
+    }
+
+    my_req->size = user_opts->message_size;
+
+    /* send the initial request on its way */
+    ret = BMI_post_sendunexpected(&(client_ops[1]), server_addr, my_req,
+				  sizeof(struct server_request), BMI_PRE_ALLOC,
+				  0, in_test_user_ptr, context);
+    if (ret < 0)
+    {
+	errno = -ret;
+	perror("BMI_post_send");
+	return (-1);
+    }
+    if (ret == 0)
+    {
+	/* turning this into a blocking call for testing :) */
+	/* check for completion of request */
+	do
+	{
+	    ret = BMI_test(client_ops[1], &outcount, &error_code, &actual_size,
+			   &out_test_user_ptr, 10, context);
+	} while (ret == 0 && outcount == 0);
+
+	if (ret < 0 || error_code != 0)
+	{
+	    fprintf(stderr, "Request send failed.\n");
+	    if (ret < 0)
+	    {
+		errno = -ret;
+		perror("BMI_test");
+	    }
+	    return (-1);
+	}
+
+	out_test_user_ptr = NULL;
+    }
+
+    /* post a recv for the server acknowledgement */
+    ret = BMI_post_recv(&(client_ops[0]), server_addr, my_ack,
+			sizeof(struct server_ack), &actual_size, BMI_PRE_ALLOC,
+			0, in_test_user_ptr, context);
+    if (ret < 0)
+    {
+	errno = -ret;
+	perror("BMI_post_recv");
+	return (-1);
+    }
+    if (ret == 0)
+    {
+	/* turning this into a blocking call for testing :) */
+	/* check for completion of ack recv */
+	do
+	{
+	    ret = BMI_test(client_ops[0], &outcount, &error_code,
+			   &actual_size, &out_test_user_ptr, 10, context);
+	} while (ret == 0 && outcount == 0);
+
+	if (ret < 0 || error_code != 0)
+	{
+	    fprintf(stderr, "Ack recv failed.\n");
+	    return (-1);
+	}
+	out_test_user_ptr = NULL;
+    }
+    else
+    {
+	if (actual_size != sizeof(struct server_ack))
+	{
+	    printf("Short recv.\n");
+	    return (-1);
+	}
+    }
+
+    /* look at the ack */
+    if (my_ack->status != 0)
+    {
+	fprintf(stderr, "Request denied.\n");
+	return (-1);
+    }
+
+    /* create a buffer to send */
+    send_buffer = BMI_memalloc(server_addr, user_opts->message_size, BMI_SEND);
+    if (!send_buffer)
+    {
+	fprintf(stderr, "BMI_memalloc.\n");
+	return (-1);
+    }
+
+    /* send the data payload on its way */
+    /* NOTE: intentionally sending short message here, testing
+     * ability to match eager send with rend. receive
+     */
+    ret = BMI_post_send(&(client_ops[0]), server_addr, send_buffer,
+			15000, BMI_PRE_ALLOC, 0, in_test_user_ptr, context);
+    if (ret < 0)
+    {
+	errno = -ret;
+	perror("BMI_post_send");
+	return (-1);
+    }
+    if (ret == 0)
+    {
+	/* turning this into a blocking call for testing :) */
+	/* check for completion of data payload send */
+	do
+	{
+	    ret = BMI_test(client_ops[0], &outcount, &error_code,
+			   &actual_size, &out_test_user_ptr, 10, context);
+	} while (ret == 0 && outcount == 0);
+
+	if (ret < 0 || error_code != 0)
+	{
+	    fprintf(stderr, "Data payload send failed.\n");
+	    return (-1);
+	}
+	if (in_test_user_ptr != out_test_user_ptr)
+	{
+	    fprintf(stderr, "3rd ptr failure.\n");
+	}
+	else
+	{
+	    fprintf(stderr, "3rd ptr success.\n");
+	}
+	out_test_user_ptr = NULL;
+    }
+
+    /* final send to test eager bug *****************************/
+    ret = BMI_post_send(&(client_ops[0]), server_addr, testeagerbuf1,
+			6, BMI_EXT_ALLOC, 1, NULL, context);
+    if (ret < 0)
+    {
+	errno = -ret;
+	perror("BMI_post_send");
+	return (-1);
+    }
+    if (ret == 0)
+    {
+	/* turning this into a blocking call for testing :) */
+	/* check for completion of data payload send */
+	do
+	{
+	    ret = BMI_test(client_ops[0], &outcount, &error_code,
+			   &actual_size, NULL, 10, context);
+	} while (ret == 0 && outcount == 0);
+
+	if (ret < 0 || error_code != 0)
+	{
+	    fprintf(stderr, "Data payload send failed.\n");
+	    return (-1);
+	}
+    }
+
+    /* let the server get ahead of us */
+    sleep(10);
+
+    ret = BMI_post_send(&(client_ops[0]), server_addr, testeagerbuf1,
+			6, BMI_EXT_ALLOC, 1, NULL, context);
+    if (ret < 0)
+    {
+	errno = -ret;
+	perror("BMI_post_send");
+	return (-1);
+    }
+    if (ret == 0)
+    {
+	/* turning this into a blocking call for testing :) */
+	/* check for completion of data payload send */
+	do
+	{
+	    ret = BMI_test(client_ops[0], &outcount, &error_code,
+			   &actual_size, NULL, 10, context);
+	} while (ret == 0 && outcount == 0);
+
+	if (ret < 0 || error_code != 0)
+	{
+	    fprintf(stderr, "Data payload send failed.\n");
+	    return (-1);
+	}
+    }
+
+    /* free up the message buffers */
+    BMI_memfree(server_addr, send_buffer, user_opts->message_size, BMI_SEND);
+    BMI_memfree(server_addr, my_req, sizeof(struct server_request), BMI_SEND);
+    BMI_memfree(server_addr, my_ack, sizeof(struct server_ack), BMI_RECV);
+
+    /* try out rev lookup */
+    /* printf("rev_lookup() output: %s\n", BMI_addr_rev_lookup(server_addr)); */
+
+    /* shutdown the local interface */
+    BMI_close_context(context);
+    ret = BMI_finalize();
+    if (ret < 0)
+    {
+	errno = -ret;
+	perror("BMI_finalize");
+	return (-1);
+    }
+
+    /* turn off debugging stuff */
+    gossip_disable();
+
+    free(user_opts->hostid);
+    free(user_opts);
+
+    return (0);
+}
+
+
+static struct options *parse_args(
+    int argc,
+    char *argv[])
+{
+    const char flags[] = "h:s:";
+    int one_opt = 0;
+
+    struct options *tmp_opts = NULL;
+    int len = -1;
+    int ret = -1;
+
+    /* create storage for the command line options */
+    tmp_opts = malloc(sizeof(struct options));
+    if (!tmp_opts)
+    {
+	goto parse_args_error;
+    }
+
+    /* fill in defaults (except for hostid) */
+    tmp_opts->hostid = NULL;
+    tmp_opts->message_size = 32000;
+
+    /* look at command line arguments */
+    while ((one_opt = getopt(argc, argv, flags)) != EOF)
+    {
+	switch (one_opt)
+	{
+	case ('h'):
+	    len = (strlen(optarg)) + 1;
+	    if ((tmp_opts->hostid = malloc(len)) == NULL)
+	    {
+		goto parse_args_error;
+	    }
+	    memcpy(tmp_opts->hostid, optarg, len);
+	    break;
+	case ('s'):
+	    ret = sscanf(optarg, "%d", &tmp_opts->message_size);
+	    if (ret < 1)
+	    {
+		goto parse_args_error;
+	    }
+	    break;
+	default:
+	    break;
+	}
+    }
+
+    /* if we didn't get a host argument, fill in a default: */
+    if (tmp_opts->hostid == NULL) {
+        len = (strlen(DEFAULT_HOSTID)) + 1;
+        if ((tmp_opts->hostid = malloc(len)) == NULL)
+        {
+            goto parse_args_error;
+        }
+        memcpy(tmp_opts->hostid, DEFAULT_HOSTID, len);
+    }
+
+    return (tmp_opts);
+
+  parse_args_error:
+
+    /* if an error occurs, just free everything and return NULL */
+    if (tmp_opts)
+    {
+	if (tmp_opts->hostid)
+	{
+	    free(tmp_opts->hostid);
+	}
+	free(tmp_opts);
+    }
+    return (NULL);
+}
+
+/*
+ * Local variables:
+ *  c-indent-level: 4
+ *  c-basic-offset: 4
+ * End:
+ *
+ * vim: ts=8 sts=4 sw=4 expandtab
+ */

--- /dev/null	2004-06-24 14:04:38.000000000 -0400
+++ test-bmi-server-eagerbug.c	2008-01-08 16:18:41.000000000 -0500
@@ -0,0 +1,409 @@
+/*
+ * (C) 2001 Clemson University and The University of Chicago
+ *
+ * See COPYING in top-level directory.
+ */
+
+
+
+
+/*
+ * This is an example of a server program that uses the BMI 
+ * library for communications
+ */
+
+#include <stdio.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "bmi.h"
+#include "gossip.h"
+#include "test-bmi.h"
+
+/**************************************************************
+ * Data structures 
+ */
+
+/* A little structure to hold program options, either defaults or
+ * specified on the command line 
+ */
+struct options
+{
+    char *hostid;		/* host identifier */
+};
+
+
+/**************************************************************
+ * Internal utility functions
+ */
+
+static struct options *parse_args(
+    int argc,
+    char *argv[]);
+
+
+/**************************************************************/
+
+int main(
+    int argc,
+    char **argv)
+{
+
+    struct options *user_opts = NULL;
+    struct server_request *my_req = NULL;
+    struct server_ack *my_ack = NULL;
+    int ret = -1;
+    PVFS_BMI_addr_t client_addr;
+    void *recv_buffer = NULL;
+    bmi_op_id_t server_ops[2];
+    bmi_op_id_t server_ops_list[2];
+    bmi_error_code_t error_code;
+    int outcount = 0;
+    struct BMI_unexpected_info request_info;
+    bmi_size_t actual_size;
+    bmi_context_id context;
+    char method[24], *cp;
+    int len;
+    char testeagerbuf1[] = "bbbbbbbbb";
+    bmi_size_t size_list1[2];
+    void *buffer_list1[2];
+    bmi_op_id_t out_id;
+
+    /* grab any command line options */
+    user_opts = parse_args(argc, argv);
+    if (!user_opts)
+    {
+	return (-1);
+    }
+
+    /* set debugging stuff */
+    gossip_enable_stderr();
+    /* gossip_set_debug_mask(1, GOSSIP_BMI_DEBUG_ALL); */
+
+    /* convert address to bmi method type by prefixing bmi_ */
+    cp = strchr(user_opts->hostid, ':');
+    if (!cp)
+        return 1;
+    len = cp - user_opts->hostid;
+    strcpy(method, "bmi_");
+    strncpy(method + 4, user_opts->hostid, len);
+    method[4+len] = '\0';
+
+    /* initialize local interface (default options) */
+    ret = BMI_initialize(method, user_opts->hostid, BMI_INIT_SERVER);
+    if (ret < 0)
+    {
+	errno = -ret;
+	perror("BMI_initialize");
+	return (-1);
+    }
+
+    ret = BMI_open_context(&context);
+    if (ret < 0)
+    {
+	errno = -ret;
+	perror("BMI_open_context()");
+	return (-1);
+    }
+
+    /* wait for an initial request  */
+    do
+    {
+	ret = BMI_testunexpected(1, &outcount, &request_info, 10);
+    } while (ret == 0 && outcount == 0);
+    if (ret < 0)
+    {
+	fprintf(stderr, "Request recv failure (bad state).\n");
+	errno = -ret;
+	perror("BMI_testunexpected");
+	return (-1);
+    }
+    if (request_info.error_code != 0)
+    {
+	fprintf(stderr, "Request recv failure (bad state).\n");
+	return (-1);
+    }
+
+    if (request_info.size != sizeof(struct server_request))
+    {
+	fprintf(stderr, "Bad Request!\n");
+	exit(-1);
+    }
+
+    my_req = (struct server_request *) request_info.buffer;
+    client_addr = request_info.addr;
+
+    /* create an ack */
+    my_ack = (struct server_ack *) BMI_memalloc(client_addr,
+						sizeof(struct server_ack),
+						BMI_SEND);
+    if (!my_ack)
+    {
+	fprintf(stderr, "BMI_memalloc failed.\n");
+	return (-1);
+    }
+    memset(my_ack, 0, sizeof(struct server_ack));
+
+    /* create a buffer to recv into */
+    recv_buffer = BMI_memalloc(client_addr, my_req->size, BMI_RECV);
+    if (!recv_buffer)
+    {
+	fprintf(stderr, "BMI_memalloc failed.\n");
+	return (-1);
+    }
+    /* post the ack */
+    ret = BMI_post_send(&(server_ops[1]), client_addr, my_ack,
+			sizeof(struct server_ack), BMI_PRE_ALLOC, 0, NULL,
+			context);
+    if (ret < 0)
+    {
+	fprintf(stderr, "BMI_post_send_failure.\n");
+	return (-1);
+    }
+    if (ret == 0)
+    {
+	/* turning this into a blocking call for testing :) */
+	/* check for completion of ack send */
+	do
+	{
+	    ret = BMI_test(server_ops[1], &outcount, &error_code,
+			   &actual_size, NULL, 10, context);
+	} while (ret == 0 && outcount == 0);
+
+	if (ret < 0 || error_code != 0)
+	{
+	    fprintf(stderr, "ack send failed.\n");
+	    return (-1);
+	}
+    }
+
+    /* post the recv */
+    ret = BMI_post_recv(&(server_ops[0]), client_addr, recv_buffer,
+			my_req->size, &actual_size, BMI_PRE_ALLOC, 0, NULL,
+			context);
+    if (ret < 0)
+    {
+	fprintf(stderr, "BMI_post_recv_failure.\n");
+	return (-1);
+    }
+    if (ret == 0)
+    {
+	/* turning this into a blocking call for testing :) */
+	/* check for completion of data payload recv */
+	do
+	{
+	    ret = BMI_test(server_ops[0], &outcount, &error_code,
+			   &actual_size, NULL, 10, context);
+	} while (ret == 0 && outcount == 0);
+
+	if (ret < 0 || error_code != 0)
+	{
+	    fprintf(stderr, "data recv failed.\n");
+	    return (-1);
+	}
+    }
+
+    if (actual_size != 15000)
+    {
+	printf("Didn't get short recv when expected.\n");
+	printf("actual_size: %d\n", (int) actual_size);
+	return (0);
+    }
+
+    /* sleep a bit to let client get ahead of us */
+    sleep(3);
+
+    /* poke at BMI to make it buffer the eager message */
+    ret = BMI_testcontext(1, &out_id, &outcount, &error_code,
+			   &actual_size, NULL, 10, context);
+    if(ret != 0 || outcount != 0)
+    {
+        fprintf(stderr, "Error: testcontext found something that it shouldn't have.\n");
+        return(-1);
+    }
+
+    size_list1[0] = 3;
+    size_list1[1] = 3;
+    buffer_list1[0] = &testeagerbuf1[0];
+    buffer_list1[1] = &testeagerbuf1[6];
+    
+    ret = BMI_post_recv_list(&(server_ops_list[0]), client_addr, buffer_list1,
+			size_list1, 2, 6, &actual_size, BMI_EXT_ALLOC, 1, NULL,
+			context);
+    if (ret < 0)
+    {
+	fprintf(stderr, "BMI_post_recv_failure.\n");
+	return (-1);
+    }
+    if (ret == 0)
+    {
+	/* turning this into a blocking call for testing :) */
+	/* check for completion of data payload recv */
+	do
+	{
+	    ret = BMI_test(server_ops_list[0], &outcount, &error_code,
+			   &actual_size, NULL, 10, context);
+	} while (ret == 0 && outcount == 0);
+
+	if (ret < 0 || error_code != 0)
+	{
+	    fprintf(stderr, "data recv failed.\n");
+	    return (-1);
+	}
+    }
+
+    printf("Recv 1 (recv posted after msg arrival)\n");
+    printf("   Expected: \"aaabbbccc\"\n");
+    printf("   Got: \"%s\"\n", testeagerbuf1);
+    if(strcmp(testeagerbuf1, "aaabbbccc") != 0)
+    {
+        fprintf(stderr, "   FAILURE!\n");
+    }
+    else
+    {
+        printf("   SUCCESS!\n");
+    }
+
+    sprintf(testeagerbuf1, "bbbbbbbbb");
+    size_list1[0] = 3;
+    size_list1[1] = 3;
+    buffer_list1[0] = &testeagerbuf1[0];
+    buffer_list1[1] = &testeagerbuf1[6];
+    
+    ret = BMI_post_recv_list(&(server_ops_list[0]), client_addr, buffer_list1,
+			size_list1, 2, 6, &actual_size, BMI_EXT_ALLOC, 1, NULL,
+			context);
+    if (ret < 0)
+    {
+	fprintf(stderr, "BMI_post_recv_failure.\n");
+	return (-1);
+    }
+    if (ret == 0)
+    {
+	/* turning this into a blocking call for testing :) */
+	/* check for completion of data payload recv */
+	do
+	{
+	    ret = BMI_test(server_ops_list[0], &outcount, &error_code,
+			   &actual_size, NULL, 10, context);
+	} while (ret == 0 && outcount == 0);
+
+	if (ret < 0 || error_code != 0)
+	{
+	    fprintf(stderr, "data recv failed.\n");
+	    return (-1);
+	}
+    }
+
+    printf("Recv 2 (recv posted before msg arrival)\n");
+    printf("   Expected: \"aaabbbccc\"\n");
+    printf("   Got: \"%s\"\n", testeagerbuf1);
+    if(strcmp(testeagerbuf1, "aaabbbccc") != 0)
+    {
+        fprintf(stderr, "   FAILURE!\n");
+    }
+    else
+    {
+        printf("   SUCCESS!\n");
+    }
+
+    /* free up the message buffers */
+    BMI_memfree(client_addr, recv_buffer, my_req->size, BMI_RECV);
+    BMI_memfree(client_addr, my_ack, sizeof(struct server_ack), BMI_SEND);
+    BMI_unexpected_free(client_addr, my_req);
+
+    /* try out rev lookup */
+    /* printf("rev_lookup() output: %s\n", BMI_addr_rev_lookup(client_addr)); */
+
+    /* shutdown the local interface */
+    BMI_close_context(context);
+    ret = BMI_finalize();
+    if (ret < 0)
+    {
+	errno = -ret;
+	perror("BMI_finalize");
+	return (-1);
+    }
+
+    /* turn off debugging stuff */
+    gossip_disable();
+
+    free(user_opts->hostid);
+    free(user_opts);
+
+    return (0);
+}
+
+
+static struct options *parse_args(
+    int argc,
+    char *argv[])
+{
+    const char flags[] = "h:";
+    int one_opt = 0;
+
+    struct options *tmp_opts = NULL;
+    int len = -1;
+
+    /* create storage for the command line options */
+    tmp_opts = malloc(sizeof(struct options));
+    if (!tmp_opts)
+    {
+	goto parse_args_error;
+    }
+    tmp_opts->hostid = NULL;
+
+    /* look at command line arguments */
+    while ((one_opt = getopt(argc, argv, flags)) != EOF)
+    {
+	switch (one_opt)
+	{
+	case ('h'):
+	    len = (strlen(optarg)) + 1;
+	    if ((tmp_opts->hostid = malloc(len)) == NULL)
+	    {
+		goto parse_args_error;
+	    }
+	    memcpy(tmp_opts->hostid, optarg, len);
+	    break;
+	default:
+	    break;
+	}
+    }
+
+    /* if we didn't get a host argument, fill in a default: */
+    if (tmp_opts->hostid == NULL) {
+        len = (strlen(DEFAULT_SERVERID)) + 1;
+        if ((tmp_opts->hostid = malloc(len)) == NULL)
+        {
+            goto parse_args_error;
+        }
+        memcpy(tmp_opts->hostid, DEFAULT_SERVERID, len);
+    }
+
+    return (tmp_opts);
+
+  parse_args_error:
+
+    /* if an error occurs, just free everything and return NULL */
+    if (tmp_opts)
+    {
+	if (tmp_opts->hostid)
+	{
+	    free(tmp_opts->hostid);
+	}
+	free(tmp_opts);
+    }
+    return (NULL);
+}
+
+/*
+ * Local variables:
+ *  c-indent-level: 4
+ *  c-basic-offset: 4
+ * End:
+ *
+ * vim: ts=8 sts=4 sw=4 expandtab
+ */

Index: module.mk.in
===================================================================
RCS file: /projects/cvsroot/pvfs2-1/test/io/bmi/module.mk.in,v
diff -p -u -r1.16 -r1.17
--- module.mk.in	15 Feb 2007 20:39:16 -0000	1.16
+++ module.mk.in	8 Jan 2008 21:18:41 -0000	1.17
@@ -2,8 +2,10 @@ DIR := io/bmi
 
 TESTSRC += \
 	$(DIR)/test-bmi-client.c \
+	$(DIR)/test-bmi-client-eagerbug.c \
 	$(DIR)/test-bmi-client-list.c \
 	$(DIR)/test-bmi-server.c \
+	$(DIR)/test-bmi-server-eagerbug.c \
 	$(DIR)/test-bmi-server-list.c \
 	$(DIR)/pingpong.c
 

Index: test-bmi-client.c
===================================================================
RCS file: /projects/cvsroot/pvfs2-1/test/io/bmi/test-bmi-client.c,v
diff -p -u -r1.12 -r1.13
--- test-bmi-client.c	17 Jun 2006 17:23:20 -0000	1.12
+++ test-bmi-client.c	8 Jan 2008 21:18:41 -0000	1.13
@@ -89,7 +89,7 @@ int main(
     method[4+len] = '\0';
 
     /* initialize local interface */
-    ret = BMI_initialize(method, NULL, 0);
+    ret = BMI_initialize(NULL, NULL, 0);
     if (ret < 0)
     {
 	errno = -ret;



More information about the Pvfs2-cvs mailing list