diff options
author | Nathan S. Evans <evans@in.tum.de> | 2011-03-07 10:47:42 +0000 |
---|---|---|
committer | Nathan S. Evans <evans@in.tum.de> | 2011-03-07 10:47:42 +0000 |
commit | e4dd537d1b8b66a750d963c6502c7f48e2e810a3 (patch) | |
tree | f7f7ca27974331b929256761bed2508d88c93133 /src/testing/testing_group.c | |
parent | 725b9c8b1ed55634e470947d856fcd38b18769c3 (diff) | |
download | gnunet-e4dd537d1b8b66a750d963c6502c7f48e2e810a3.tar.gz gnunet-e4dd537d1b8b66a750d963c6502c7f48e2e810a3.zip |
create nested directory structure for greater than 32k peers
Diffstat (limited to 'src/testing/testing_group.c')
-rw-r--r-- | src/testing/testing_group.c | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/src/testing/testing_group.c b/src/testing/testing_group.c index 155acb156..fb6d9adda 100644 --- a/src/testing/testing_group.c +++ b/src/testing/testing_group.c | |||
@@ -32,7 +32,7 @@ | |||
32 | 32 | ||
33 | #define VERBOSE_TESTING GNUNET_NO | 33 | #define VERBOSE_TESTING GNUNET_NO |
34 | 34 | ||
35 | #define VERBOSE_TOPOLOGY GNUNET_YES | 35 | #define VERBOSE_TOPOLOGY GNUNET_NO |
36 | 36 | ||
37 | #define DEBUG_CHURN GNUNET_NO | 37 | #define DEBUG_CHURN GNUNET_NO |
38 | 38 | ||
@@ -5704,6 +5704,7 @@ GNUNET_TESTING_daemons_start( | |||
5704 | struct GNUNET_DISK_FileHandle *fd; | 5704 | struct GNUNET_DISK_FileHandle *fd; |
5705 | struct GNUNET_CONFIGURATION_Handle *pcfg; | 5705 | struct GNUNET_CONFIGURATION_Handle *pcfg; |
5706 | unsigned int off; | 5706 | unsigned int off; |
5707 | struct OutstandingSSH *ssh_entry; | ||
5707 | unsigned int hostcnt; | 5708 | unsigned int hostcnt; |
5708 | unsigned int i; | 5709 | unsigned int i; |
5709 | uint16_t minport; | 5710 | uint16_t minport; |
@@ -5816,13 +5817,13 @@ GNUNET_TESTING_daemons_start( | |||
5816 | 5817 | ||
5817 | /* Create the servicehome directory for each remote peer */ | 5818 | /* Create the servicehome directory for each remote peer */ |
5818 | GNUNET_assert(GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (cfg, "PATHS", "SERVICEHOME", | 5819 | GNUNET_assert(GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (cfg, "PATHS", "SERVICEHOME", |
5819 | &baseservicehome)); | 5820 | &baseservicehome)); |
5820 | for (i = 0; i < pg->num_hosts; i++) | 5821 | for (i = 0; i < pg->num_hosts; i++) |
5821 | { | 5822 | { |
5822 | struct OutstandingSSH *ssh_entry; | ||
5823 | ssh_entry = GNUNET_malloc(sizeof(struct OutstandingSSH)); | 5823 | ssh_entry = GNUNET_malloc(sizeof(struct OutstandingSSH)); |
5824 | ssh_entry->hostname = pg->hosts[i].hostname; /* Don't free! */ | 5824 | ssh_entry->hostname = pg->hosts[i].hostname; /* Don't free! */ |
5825 | GNUNET_CONTAINER_DLL_insert(pg->ssh_head, pg->ssh_tail, ssh_entry); | 5825 | GNUNET_CONTAINER_DLL_insert(pg->ssh_head, pg->ssh_tail, ssh_entry); |
5826 | GNUNET_asprintf(&tmpdir, "%s/%s", baseservicehome, pg->hosts[i].hostname); | ||
5826 | if (NULL != pg->hosts[i].username) | 5827 | if (NULL != pg->hosts[i].username) |
5827 | GNUNET_asprintf (&arg, "%s@%s", pg->hosts[i].username, | 5828 | GNUNET_asprintf (&arg, "%s@%s", pg->hosts[i].username, |
5828 | pg->hosts[i].hostname); | 5829 | pg->hosts[i].hostname); |
@@ -5836,15 +5837,16 @@ GNUNET_TESTING_daemons_start( | |||
5836 | #if !DEBUG_TESTING | 5837 | #if !DEBUG_TESTING |
5837 | "-q", | 5838 | "-q", |
5838 | #endif | 5839 | #endif |
5839 | arg, "mkdir -p", baseservicehome, | 5840 | arg, "mkdir -p", tmpdir, |
5840 | NULL); | 5841 | NULL); |
5841 | } | 5842 | } |
5842 | else | 5843 | else |
5843 | proc = GNUNET_OS_start_process (NULL, NULL, "ssh", "ssh", arg, | 5844 | proc = GNUNET_OS_start_process (NULL, NULL, "ssh", "ssh", arg, |
5844 | "mkdir -p", baseservicehome, NULL); | 5845 | "mkdir -p", tmpdir, NULL); |
5845 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 5846 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
5846 | "Creating remote dir with command ssh %s %s %s\n", arg, | 5847 | "Creating remote dir with command ssh %s %s %s\n", arg, |
5847 | " mkdir -p ", baseservicehome); | 5848 | " mkdir -p ", tmpdir); |
5849 | GNUNET_free(tmpdir); | ||
5848 | GNUNET_free(arg); | 5850 | GNUNET_free(arg); |
5849 | GNUNET_OS_process_wait (proc); | 5851 | GNUNET_OS_process_wait (proc); |
5850 | GNUNET_OS_process_close(proc); | 5852 | GNUNET_OS_process_close(proc); |
@@ -5927,15 +5929,22 @@ GNUNET_TESTING_daemons_start( | |||
5927 | "SERVICEHOME", | 5929 | "SERVICEHOME", |
5928 | &baseservicehome)) | 5930 | &baseservicehome)) |
5929 | { | 5931 | { |
5930 | GNUNET_asprintf (&newservicehome, "%s/%d/", baseservicehome, off); | 5932 | if (hostname != NULL) |
5933 | GNUNET_asprintf (&newservicehome, "%s/%s/%d/", baseservicehome, hostname, off); | ||
5934 | else | ||
5935 | GNUNET_asprintf (&newservicehome, "%s/%d/", baseservicehome, off); | ||
5931 | GNUNET_free (baseservicehome); | 5936 | GNUNET_free (baseservicehome); |
5932 | } | 5937 | } |
5933 | else | 5938 | else |
5934 | { | 5939 | { |
5935 | tmpdir = getenv ("TMPDIR"); | 5940 | tmpdir = getenv ("TMPDIR"); |
5936 | tmpdir = tmpdir ? tmpdir : "/tmp"; | 5941 | tmpdir = tmpdir ? tmpdir : "/tmp"; |
5937 | GNUNET_asprintf (&newservicehome, "%s/%s/%d/", tmpdir, | 5942 | if (hostname != NULL) |
5938 | "gnunet-testing-test-test", off); | 5943 | GNUNET_asprintf (&newservicehome, "%s/%s/%s/%d/", tmpdir, hostname, |
5944 | "gnunet-testing-test-test", off); | ||
5945 | else | ||
5946 | GNUNET_asprintf (&newservicehome, "%s/%s/%d/", tmpdir, | ||
5947 | "gnunet-testing-test-test", off); | ||
5939 | } | 5948 | } |
5940 | GNUNET_CONFIGURATION_set_value_string (pcfg, "PATHS", "SERVICEHOME", | 5949 | GNUNET_CONFIGURATION_set_value_string (pcfg, "PATHS", "SERVICEHOME", |
5941 | newservicehome); | 5950 | newservicehome); |