- gras_socket_peer_name(toserver),gras_socket_peer_port(toserver));
-
- /* 8. Wait for the answer from the server, and deal with issues */
- gras_msg_wait(6000,gras_msgtype_by_name("answer"),&from,&answer);
-
- /* mat_dump(&answer,"C:answer");*/
- for (i=0; i<MATSIZE*MATSIZE; i++)
- xbt_assert(answer.ctn[i]==i);
-
- /* 9. Keep the user informed of what's going on, again */
- INFO2(">>>>>>>> Got answer from %s:%d <<<<<<<<",
- gras_socket_peer_name(from),gras_socket_peer_port(from));
-
- /* 10. Free the allocated resources, and shut GRAS down */
- free(answer.ctn);
+ gras_socket_peer_name(toserver), gras_socket_peer_port(toserver));
+
+ /* 7. Wait for the answer from the server, and deal with issues */
+ gras_msg_wait(6000, "answer", &from, &answer);
+
+ /*
+ xbt_matrix_dump(answer,"C:answer",0,xbt_matrix_dump_display_double);
+ */
+ for (i = 0; i < MATSIZE; i++)
+ for (j = 0; i < MATSIZE; i++)
+ xbt_assert4(xbt_matrix_get_as(answer, i, j, double) ==
+ xbt_matrix_get_as(request[1], i, j, double),
+ "Answer does not match expectations. Found %f at cell %d,%d instead of %f",
+ xbt_matrix_get_as(answer, i, j, double), i, j,
+ xbt_matrix_get_as(request[1], i, j, double));
+
+ /* 8. Keep the user informed of what's going on, again */
+ INFO2(">>>>>>>> Got answer from %s:%d (values are right) <<<<<<<<",
+ gras_socket_peer_name(from), gras_socket_peer_port(from));
+
+ /* 9. Free the allocated resources, and shut GRAS down */
+ xbt_matrix_free(request[1]);
+ xbt_matrix_free(answer);