]> rtime.felk.cvut.cz Git - frescor/fna.git/commitdiff
new tests and measures
authorsangorrin <sangorrin@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Tue, 6 May 2008 18:27:03 +0000 (18:27 +0000)
committersangorrin <sangorrin@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Tue, 6 May 2008 18:27:03 +0000 (18:27 +0000)
git-svn-id: http://www.frescor.org/private/svn/frescor/fna/trunk@1154 35b4ef3e-fd22-0410-ab77-dab3279adceb

tests/tests_frescan/test_frescan_fp_send_basic.c [moved from tests/tests_frescan/test_frescan_send_basic.c with 100% similarity]
tests/tests_frescan/test_frescan_fp_send_receive_measures.c [new file with mode: 0644]
tests/tests_frescan/test_frescan_servers_send_receive_measures.c

diff --git a/tests/tests_frescan/test_frescan_fp_send_receive_measures.c b/tests/tests_frescan/test_frescan_fp_send_receive_measures.c
new file mode 100644 (file)
index 0000000..2d4e41e
--- /dev/null
@@ -0,0 +1,125 @@
+#include <stdio.h>  // perror
+#include <stdlib.h> // exit
+#include <unistd.h>   // sleep
+#include <assert.h>
+
+#include "frescan.h"
+#include "frescan_servers.h"
+#include "frescan_debug.h"
+
+#define NETWORK 0
+#define LOG_DEVICE LOG_ETHERNET
+
+#define NUM_MSG_BYTES  8  // 8 32 64 512 1488
+#define ENABLE_DEBUG   false
+#define NUM_MEASURES   100
+
+#define LOCAL_NODE 0 // 0 1
+
+#include <misc/time_measurement_hwtime.h>
+#include <misc/logger.h>
+
+static const trace_point_id_t BEGIN = 0;
+static const trace_point_id_t END = 1;
+
+int main ()
+{
+        int i, ret;
+        frescan_send_params_t send_params;
+        frescan_recv_params_t recv_params;
+        char msg[1500]; // big enough for all the messages
+        frescan_init_params_t init_params;
+        frescan_node_t me;
+        size_t recv_bytes;
+        frescan_node_t from;
+        frescan_prio_t prio;
+
+        me = LOCAL_NODE;
+
+        DEBUG(ENABLE_DEBUG, ">> Initializing FRESCAN (me:%u)\n", me);
+
+        init_params.net = NETWORK;
+        init_params.node = LOCAL_NODE;
+        init_params.tx_fp_max_prio = 10;
+        init_params.rx_num_of_channels = 5;
+        init_params.rx_channel_max_prio = NULL;
+
+        ret = frescan_init(&init_params);
+        if (ret != 0) ERROR ("could not init FRESCAN");
+
+        DEBUG(ENABLE_DEBUG, ">> Enter in loop for sending packets\n");
+
+        send_params.net      = NETWORK;
+        send_params.channel  = 0;
+        send_params.flags    = FRESCAN_FP | FRESCAN_ASYNC;
+        send_params.prio     = 9;
+        send_params.to       = (me == 0)? 1 : 0;
+
+        recv_params.net      = NETWORK;
+        recv_params.channel  = 0;
+        recv_params.flags    = FRESCAN_SYNC;
+
+        if (me == 0) {
+                DEBUG(ENABLE_DEBUG, ">> Init logger and timer measurements\n");
+
+                ret = logger_init(LOG_DEVICE);
+                assert(ret == 0);
+
+                ret = time_measure_hwtime_init(BEGIN, "frescan_begin");
+                assert(ret == 0);
+
+                ret = time_measure_hwtime_init(END, "frescan_end");
+                assert(ret == 0);
+
+                DEBUG(ENABLE_DEBUG, ">> Enter in loop for send-recv packets\n");
+
+                for (i=0; i<NUM_MEASURES; i++) {
+                        time_measure_hwtime_set_timestamp(BEGIN);
+
+                        ret = frescan_send(&send_params,
+                                           (uint8_t *)msg,
+                                           NUM_MSG_BYTES);
+                        if (ret != 0) ERROR ("could not send message\n");
+
+                        ret = frescan_recv(&recv_params,
+                                           (uint8_t *)msg,
+                                           sizeof(msg),
+                                           &recv_bytes,
+                                           &from,
+                                           &prio);
+                        if (ret != 0) ERROR ("could not receive message");
+
+                        time_measure_hwtime_set_timestamp(END);
+
+                        DEBUG(ENABLE_DEBUG, ">> received %d bytes\n", recv_bytes);
+                }
+
+                ret = time_measure_hwtime_write_membuffer(BEGIN);
+                assert(ret == 0);
+
+                ret = time_measure_hwtime_write_membuffer(END);
+                assert(ret == 0);
+
+                while (logger_manual_call() > 0);
+
+        } else {
+                DEBUG(ENABLE_DEBUG, ">> Enter in loop for recv-send packets\n");
+
+                while(1) {
+                        ret = frescan_recv(&recv_params,
+                                           (uint8_t *)msg,
+                                           sizeof(msg),
+                                           &recv_bytes,
+                                           &from,
+                                           &prio);
+                        if (ret != 0) ERROR ("could not receive message");
+
+                        ret = frescan_send(&send_params,
+                                           (uint8_t *)msg,
+                                           recv_bytes);
+                        if (ret != 0) ERROR ("could not send message\n");
+                }
+        }
+
+        return 0;
+}
index 695a262ade86eee545200ddd16daab35f64ccc9a..b15f9ff9a0f6593bf34c6f7232cdeee86f629bff 100644 (file)
@@ -5,12 +5,16 @@
 
 #include "frescan.h"
 #include "frescan_servers.h"
+#include "frescan_debug.h"
 
-#define ERROR(s) {perror (s); exit (-1);}
 #define NETWORK 0
 #define LOG_DEVICE LOG_ETHERNET
 
-#define LOCAL_NODE 0
+#define NUM_MSG_BYTES  1488  // 8 32 64 512 1488
+#define ENABLE_DEBUG   false
+#define NUM_MEASURES   100
+
+#define LOCAL_NODE 0 // 0 1
 
 #include <misc/time_measurement_hwtime.h>
 #include <misc/logger.h>
@@ -23,8 +27,7 @@ int main ()
         int i, ret;
         frescan_send_params_t send_params;
         frescan_recv_params_t recv_params;
-        char msg[200];
-        int written;
+        char msg[1500]; // big enough for all the messages
         frescan_init_params_t init_params;
         frescan_server_params_t server_params;
         frescan_node_t me;
@@ -34,7 +37,7 @@ int main ()
 
         me = LOCAL_NODE;
 
-        printf(">> Initializing FRESCAN (me:%u)\n", me);
+        DEBUG(ENABLE_DEBUG, ">> Initializing FRESCAN (me:%u)\n", me);
 
         init_params.net = NETWORK;
         init_params.node = LOCAL_NODE;
@@ -45,10 +48,10 @@ int main ()
         ret = frescan_init(&init_params);
         if (ret != 0) ERROR ("could not init FRESCAN");
 
-        printf(">> Creating a Server\n");
+        DEBUG(ENABLE_DEBUG, ">> Creating a Server\n");
 
-        server_params.values.budget = 3;
-        server_params.values.period.tv_sec  = 3;
+        server_params.values.budget = NUM_MSG_BYTES / 8;
+        server_params.values.period.tv_sec  = 1;
         server_params.values.period.tv_nsec = 0;
         server_params.prio = 4;
 
@@ -57,7 +60,7 @@ int main ()
                                      &send_params.ss);
         if (ret != 0) ERROR ("could not create server");
 
-        printf(">> Enter in loop for sending packets\n");
+        DEBUG(ENABLE_DEBUG, ">> Enter in loop for sending packets\n");
 
         send_params.net      = NETWORK;
         send_params.channel  = 0;
@@ -69,7 +72,7 @@ int main ()
         recv_params.flags    = FRESCAN_SYNC;
 
         if (me == 0) {
-                printf(">> Init logger and timer measurements\n");
+                DEBUG(ENABLE_DEBUG, ">> Init logger and timer measurements\n");
 
                 ret = logger_init(LOG_DEVICE);
                 assert(ret == 0);
@@ -80,16 +83,14 @@ int main ()
                 ret = time_measure_hwtime_init(END, "frescan_end");
                 assert(ret == 0);
 
-                printf(">> Enter in loop for send-recv packets\n");
-
-                for (i=0; i<=100; i++) {
-                        written = snprintf(msg, sizeof(msg), "0123456789012345678901234567890123456789%d", i);
+                DEBUG(ENABLE_DEBUG, ">> Enter in loop for send-recv packets\n");
 
+                for (i=0; i<NUM_MEASURES; i++) {
                         time_measure_hwtime_set_timestamp(BEGIN);
 
                         ret = frescan_send(&send_params,
                                            (uint8_t *)msg,
-                                           written);
+                                           NUM_MSG_BYTES);
                         if (ret != 0) ERROR ("could not send message\n");
 
                         ret = frescan_recv(&recv_params,
@@ -102,8 +103,7 @@ int main ()
 
                         time_measure_hwtime_set_timestamp(END);
 
-                        // msg[recv_bytes] = '\0';
-                        // printf("Received Answer (bytes:%u): %s\n", recv_bytes, msg);
+                        DEBUG(ENABLE_DEBUG, ">> received %d bytes\n", recv_bytes);
                 }
 
                 ret = time_measure_hwtime_write_membuffer(BEGIN);
@@ -115,7 +115,7 @@ int main ()
                 while (logger_manual_call() > 0);
 
         } else {
-                printf(">> Enter in loop for recv-send packets\n");
+                DEBUG(ENABLE_DEBUG, ">> Enter in loop for recv-send packets\n");
 
                 while(1) {
                         ret = frescan_recv(&recv_params,