aboutsummaryrefslogtreecommitdiff
path: root/src/testing/testing_group.c
diff options
context:
space:
mode:
authorNathan S. Evans <evans@in.tum.de>2011-03-07 10:47:42 +0000
committerNathan S. Evans <evans@in.tum.de>2011-03-07 10:47:42 +0000
commite4dd537d1b8b66a750d963c6502c7f48e2e810a3 (patch)
treef7f7ca27974331b929256761bed2508d88c93133 /src/testing/testing_group.c
parent725b9c8b1ed55634e470947d856fcd38b18769c3 (diff)
downloadgnunet-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.c27
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);