aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-10-28 16:37:04 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-10-28 16:37:04 +0000
commit9b7b8af742d70dd464792005b79f1cc920be3f98 (patch)
treef94319a7ad74b6dea36a739bf6cabff3842e56f4
parent3a1840526c17073726febbfd2b9cc19f859c9e08 (diff)
downloadgnunet-9b7b8af742d70dd464792005b79f1cc920be3f98.tar.gz
gnunet-9b7b8af742d70dd464792005b79f1cc920be3f98.zip
next step for generic solver test
-rw-r--r--src/ats/Makefile.am6
-rw-r--r--src/ats/perf_ats_solver.c64
-rw-r--r--src/ats/perf_ats_solver_mlp.conf0
-rw-r--r--src/ats/perf_ats_solver_proportional.conf0
-rw-r--r--src/ats/perf_ats_solver_ril.conf0
5 files changed, 63 insertions, 7 deletions
diff --git a/src/ats/Makefile.am b/src/ats/Makefile.am
index 13e38ab27..fe1854394 100644
--- a/src/ats/Makefile.am
+++ b/src/ats/Makefile.am
@@ -26,6 +26,7 @@ if HAVE_LIBGLPK
26 GN_MLP_REQUEST_ADD_ADDRESS = test_ats_solver_request_and_add_address_mlp 26 GN_MLP_REQUEST_ADD_ADDRESS = test_ats_solver_request_and_add_address_mlp
27 GN_MLP_REQUEST_DELETE_ADDRESS = test_ats_solver_request_and_delete_address_mlp 27 GN_MLP_REQUEST_DELETE_ADDRESS = test_ats_solver_request_and_delete_address_mlp
28 GN_MLP_ALTERNATIVE_DELETE_ADDRESS = test_ats_solver_alternative_after_delete_address_mlp 28 GN_MLP_ALTERNATIVE_DELETE_ADDRESS = test_ats_solver_alternative_after_delete_address_mlp
29 GN_MLP_SOLVER_PERF = perf_ats_solver_mlp
29endif 30endif
30 31
31lib_LTLIBRARIES = libgnunetats.la 32lib_LTLIBRARIES = libgnunetats.la
@@ -131,7 +132,10 @@ TESTING_TESTS = \
131 test_ats_solver_add_address_and_request_ril \ 132 test_ats_solver_add_address_and_request_ril \
132 test_ats_solver_request_and_add_address_ril \ 133 test_ats_solver_request_and_add_address_ril \
133 test_ats_solver_request_and_delete_address_ril \ 134 test_ats_solver_request_and_delete_address_ril \
134 test_ats_solver_alternative_after_delete_address_ril 135 test_ats_solver_alternative_after_delete_address_ril \
136 perf_ats_solver_proportional \
137 $(GN_MLP_SOLVER_PERF) \
138 perf_ats_solver_ril
135endif 139endif
136 140
137check_PROGRAMS = \ 141check_PROGRAMS = \
diff --git a/src/ats/perf_ats_solver.c b/src/ats/perf_ats_solver.c
index ae3eb2b61..3b03f44c7 100644
--- a/src/ats/perf_ats_solver.c
+++ b/src/ats/perf_ats_solver.c
@@ -28,8 +28,7 @@
28#include "gnunet_util_lib.h" 28#include "gnunet_util_lib.h"
29#include "gnunet_statistics_service.h" 29#include "gnunet_statistics_service.h"
30#include "gnunet_ats_service.h" 30#include "gnunet_ats_service.h"
31#include "gnunet-service-ats-solver_mlp.h" 31#include "gnunet_ats_plugin.h"
32#include "gnunet-service-ats_normalization.h"
33#include "test_ats_api_common.h" 32#include "test_ats_api_common.h"
34 33
35#define PEERS_START 100 34#define PEERS_START 100
@@ -77,7 +76,7 @@ struct GNUNET_CONTAINER_MultiHashMap * addresses;
77struct GNUNET_ATS_Information ats[2]; 76struct GNUNET_ATS_Information ats[2];
78 77
79struct PerfPeer *peers; 78struct PerfPeer *peers;
80 79#if 0
81static void 80static void
82end_now (int res) 81end_now (int res)
83{ 82{
@@ -240,11 +239,14 @@ update_addresses (unsigned int cp, unsigned int ca, unsigned int up_q)
240 } 239 }
241 } 240 }
242} 241}
242#endif
243
243 244
244static void 245static void
245check (void *cls, char * const *args, const char *cfgfile, 246check (void *cls, char * const *args, const char *cfgfile,
246 const struct GNUNET_CONFIGURATION_Handle *cfg) 247 const struct GNUNET_CONFIGURATION_Handle *cfg)
247{ 248{
249#if 0
248 int quotas[GNUNET_ATS_NetworkTypeCount] = GNUNET_ATS_NetworkType; 250 int quotas[GNUNET_ATS_NetworkTypeCount] = GNUNET_ATS_NetworkType;
249 unsigned long long quotas_in[GNUNET_ATS_NetworkTypeCount]; 251 unsigned long long quotas_in[GNUNET_ATS_NetworkTypeCount];
250 unsigned long long quotas_out[GNUNET_ATS_NetworkTypeCount]; 252 unsigned long long quotas_out[GNUNET_ATS_NetworkTypeCount];
@@ -427,14 +429,19 @@ check (void *cls, char * const *args, const char *cfgfile,
427 429
428 } 430 }
429 GNUNET_free(peers); 431 GNUNET_free(peers);
430 432#endif
431} 433}
432 434
433int 435int
434main (int argc, char *argv[]) 436main (int argc, char *argv[])
435{ 437{
438 char *sep;
439 char *src_filename = GNUNET_strdup (__FILE__);
440 char *test_filename = GNUNET_strdup (argv[0]);
441 char *config_file;
442 char *solver;
436 443
437 static char * const argv2[] = { "perf_ats_mlp", "-c", "test_ats_mlp.conf", 444 static char * const argv2[] = { "perf_ats_mlp", "-c", "perf_ats_mlp.conf",
438 "-L", "WARNING", NULL }; 445 "-L", "WARNING", NULL };
439 446
440 opt_dump = GNUNET_NO; 447 opt_dump = GNUNET_NO;
@@ -445,6 +452,7 @@ main (int argc, char *argv[])
445 N_peers_end = 0; 452 N_peers_end = 0;
446 N_address = 0; 453 N_address = 0;
447 int c; 454 int c;
455 /* extract command line arguments */
448 for (c = 0; c < argc; c++) 456 for (c = 0; c < argc; c++)
449 { 457 {
450 if ((0 == strcmp (argv[c], "-z")) && (c < (argc - 1))) 458 if ((0 == strcmp (argv[c], "-z")) && (c < (argc - 1)))
@@ -520,11 +528,55 @@ main (int argc, char *argv[])
520 exit (1); 528 exit (1);
521 } 529 }
522 530
531 /* Extract test name */
532 if (NULL == (sep = (strstr (src_filename,".c"))))
533 {
534 GNUNET_break (0);
535 return -1;
536 }
537 sep[0] = '\0';
538
539 if (NULL != (sep = strstr (test_filename, ".exe")))
540 sep[0] = '\0';
541
542 if (NULL == (solver = strstr (test_filename, src_filename)))
543 {
544 GNUNET_break (0);
545 return -1;
546 }
547 solver += strlen (src_filename) +1;
548
549 if (0 == strcmp(solver, "proportional"))
550 {
551 config_file = "perf_ats_solver_proportional.conf";
552 }
553 else if (0 == strcmp(solver, "mlp"))
554 {
555 config_file = "perf_ats_solver_mlp.conf";
556 }
557 else if ((0 == strcmp(solver, "ril")))
558 {
559 config_file = "perf_ats_solver_ril.conf";
560 }
561 else
562 {
563 GNUNET_break (0);
564 GNUNET_free (src_filename);
565 GNUNET_free (test_filename);
566 return 1;
567 }
568
569 GNUNET_free (src_filename);
570 GNUNET_free (test_filename);
571
572 fprintf (stderr, "Using cfg file `%s'\n",config_file);
573 return 0;
574
523 static const struct GNUNET_GETOPT_CommandLineOption options[] = { 575 static const struct GNUNET_GETOPT_CommandLineOption options[] = {
524 GNUNET_GETOPT_OPTION_END }; 576 GNUNET_GETOPT_OPTION_END };
525 577
526 GNUNET_PROGRAM_run ((sizeof(argv2) / sizeof(char *)) - 1, argv2, 578 GNUNET_PROGRAM_run ((sizeof(argv2) / sizeof(char *)) - 1, argv2,
527 "perf_ats_mlp", "nohelp", options, &check, NULL ); 579 "perf_ats", "nohelp", options, &check, NULL );
528 580
529 return ret; 581 return ret;
530} 582}
diff --git a/src/ats/perf_ats_solver_mlp.conf b/src/ats/perf_ats_solver_mlp.conf
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/ats/perf_ats_solver_mlp.conf
diff --git a/src/ats/perf_ats_solver_proportional.conf b/src/ats/perf_ats_solver_proportional.conf
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/ats/perf_ats_solver_proportional.conf
diff --git a/src/ats/perf_ats_solver_ril.conf b/src/ats/perf_ats_solver_ril.conf
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/ats/perf_ats_solver_ril.conf