#define WRITE 1
#define RW 2
+int r_arch;
+const char *filename = "datadesc_usage.out";
+
gras_error_t
write_read(gras_datadesc_type_t *type,void *src, void *dst,
gras_socket_t *sock, int direction);
/* write */
if (direction == RW)
- TRY(gras_socket_client_from_file("datadesc_usage.out",&sock));
+ TRY(gras_socket_client_from_file(filename,&sock));
if (direction == WRITE || direction == RW)
TRY(gras_datadesc_send(sock, type, src));
if (direction == RW)
- gras_socket_close(&sock);
+ gras_socket_close(sock);
/* read */
if (direction == RW)
- TRY(gras_socket_server_from_file("datadesc_usage.out",&sock));
+ TRY(gras_socket_server_from_file(filename,&sock));
if (direction == READ || direction == RW)
- TRY(gras_datadesc_recv(sock, type, gras_arch_selfid(), dst));
+ TRY(gras_datadesc_recv(sock, type, r_arch, dst));
if (direction == RW)
- gras_socket_close(&sock);
+ gras_socket_close(sock);
return no_error;
}
TRY(write_read(my_type, &i,&j, sock,direction));
if (direction == READ || direction == RW) {
- for (cpt=0; cpt<SIZE; cpt++)
+ for (cpt=0; cpt<SIZE; cpt++) {
+ DEBUG1("Test spot %d",cpt);
gras_assert4(i[cpt] == j[cpt],"i[%d]=%d != j[%d]=%d",
cpt,i[cpt],cpt,j[cpt]);
+ }
}
return no_error;
}
"j=%p; &j=%p",
j,j->l->l->l,
j ,&j);
- i->l->l->l = NULL;
j->l->l->l = NULL;
+ i->l->l->l = NULL;
gras_assert(list_eq(i,j));
list_free(j);
}
+ i->l->l->l = NULL; /* do this even in READ mode */
list_free(i);
return no_error;
}
int main(int argc,char *argv[]) {
gras_error_t errcode;
gras_socket_t *sock;
- int direction = RW; // READ; // WRITE
-
- gras_init_defaultlog(&argc,argv,
- "DataDesc.thresh=verbose"
- " test.thresh=debug"
- //" set.thresh=debug"
- );
- if (argc >= 2) {
- if (!strcmp(argv[1], "--read"))
+ int direction = RW;
+ int cpt;
+ char r_arch_char = gras_arch_selfid();
+
+ gras_init_defaultlog(&argc,argv,NULL);
+
+ for (cpt=1; cpt<argc; cpt++) {
+ if (!strcmp(argv[cpt], "--read")) {
direction = READ;
- if (!strcmp(argv[1], "--write"))
+ } else if (!strcmp(argv[cpt], "--write")) {
direction = WRITE;
+ } else {
+ filename=argv[cpt];
+ }
}
- if (direction == WRITE)
- TRYFAIL(gras_socket_client_from_file("datadesc_usage.out",&sock));
- if (direction == READ)
- TRYFAIL(gras_socket_server_from_file("datadesc_usage.out",&sock));
+ if (direction == WRITE) {
+ TRYFAIL(gras_socket_client_from_file(filename,&sock));
+ TRY(gras_datadesc_send(sock, gras_datadesc_by_name("char"),
+ &r_arch_char));
+ }
+ if (direction == READ) {
+ TRYFAIL(gras_socket_server_from_file(filename,&sock));
+ TRY(gras_datadesc_recv(sock, gras_datadesc_by_name("char"),
+ gras_arch_selfid(), &r_arch_char));
+ INFO1("This datafile was generated on %s",
+ gras_datadesc_arch_name(r_arch_char));
+ }
+ r_arch = (int)r_arch_char;
TRYFAIL(test_int(sock,direction));
TRYFAIL(test_float(sock,direction));
TRYFAIL(test_graph(sock,direction));
if (direction != RW)
- gras_socket_close(&sock);
+ gras_socket_close(sock);
gras_exit();
return 0;
}
+