[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