-misc fixes
authorChristian Grothoff <christian@grothoff.org>
Sun, 29 Jan 2012 23:00:08 +0000 (23:00 +0000)
committerChristian Grothoff <christian@grothoff.org>
Sun, 29 Jan 2012 23:00:08 +0000 (23:00 +0000)
src/fs/fs_dirmetascan.c
src/fs/gnunet-publish.c
src/fs/test_gnunet_fs_idx.py.in
src/fs/test_gnunet_fs_psd.py.in
src/fs/test_gnunet_fs_rec.py.in

index c4e43eee2e6f439d3aace77a18c6fd07fcca7a38..543701ca2533416d4fd12103f6e5d3d6bce91f13 100644 (file)
@@ -198,7 +198,10 @@ expand_tree (struct GNUNET_FS_ShareTreeItem *parent,
   chld = GNUNET_malloc (sizeof (struct GNUNET_FS_ShareTreeItem));
   chld->parent = parent;
   chld->filename = GNUNET_strdup (filename);
-  chld->short_filename = GNUNET_strdup (GNUNET_STRINGS_get_short_name (filename));
+  GNUNET_asprintf (&chld->short_filename,
+                  "%s%s",
+                  GNUNET_STRINGS_get_short_name (filename),
+                  is_directory ? "/" : "");
   chld->is_directory = is_directory;
   if (NULL != parent)
       GNUNET_CONTAINER_DLL_insert (parent->children_head,
index a0fd968295a8892800cd3c31b6e296c8743bc485..0da1b703430afdeb0cc83bf5433ed6f9e4c5d1b8 100644 (file)
@@ -610,7 +610,14 @@ run (void *cls, char *const *args, const char *cfgfile,
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_string (cfg, "FS", "EXTRACTORS", &ex))
     ex = NULL;
-
+  if (0 != ACCESS (args[0], R_OK))
+  {
+    FPRINTF (stderr,
+            _("Failed to access `%s': %s\n"),
+            args[0],
+            STRERROR (errno));
+    return;
+  }
   ds = GNUNET_FS_directory_scan_start (args[0],
                                       disable_extractor, 
                                       ex, 
index 3b05516c636e8b11bf178c4fd38b480a5f284771..6bb7d0d599ba1512bdf00646326191fb08d32d5e 100755 (executable)
@@ -53,9 +53,6 @@ arm.communicate ()
 try:
   pub = pexpect ()
   pub.spawn (None, [publish, '-c', 'test_gnunet_fs_idx_data.conf', '-m', "description:The GNU Public License", '-k', 'gpl', '../../COPYING'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
-  pub.expect ("stdout", re.compile (r"Scanning file `.+[\\/]\.\.[\\/]\.\.[\\/]COPYING'\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Scanner has finished\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Publishing `.+[\\/]\.\.[\\/]\.\.[\\/]COPYING' done\.\r?\n"))
   pub.expect ("stdout", re.compile (r"URI is `gnunet://fs/chk/PC0M19QMQC0BPSHR6BGA228PP6INER1D610MGEMOMEM87222FN8HVUO7PQGO0O9HD2GVLHF2N5IDHEQUNK6LKE428FPO96SKQEA486O\.PG7K85JGQ6N599MD5HEP3CHEVFPKQD9JB6NPSLVA3T1SKDS66CFI499VS6MGQ88B0QUAVT1282TCRD4GGFVUKDLGI8F0SPIANA3J2LG\.35147'\.\r?\n"))
 
   down = pexpect ()
index 0ac4d6c675099bd3495140669eee6ed2cb85298e..9790e13a7cf1ccb70f27fb63b3be0a011b97daca 100755 (executable)
@@ -56,8 +56,6 @@ arm.communicate ()
 try:
   pub = pexpect ()
   pub.spawn (None, [publish, '-c', 'test_gnunet_fs_psd_data.conf', '-n', '-m', "description:The GNU Public License", '-k', 'gpl', '../../COPYING'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
-  pub.expect ("stdout", re.compile (r"Scanning file `.+[\\/]..[\\/]..[\\/]COPYING'\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Scanner has finished.\r?\n"))
   pub.expect ("stdout", re.compile (r"Publishing `.+[\\/]..[\\/]..[\\/]COPYING' done\.\r?\n"))
   pub.expect ("stdout", re.compile (r"URI is `gnunet://fs/chk/PC0M19QMQC0BPSHR6BGA228PP6INER1D610MGEMOMEM87222FN8HVUO7PQGO0O9HD2GVLHF2N5IDHEQUNK6LKE428FPO96SKQEA486O\.PG7K85JGQ6N599MD5HEP3CHEVFPKQD9JB6NPSLVA3T1SKDS66CFI499VS6MGQ88B0QUAVT1282TCRD4GGFVUKDLGI8F0SPIANA3J2LG\.35147'\.\r?\n"))
 
index 707a1761291fbee58cfaace3ff2be078f855a08f..e86bb0ab2b3922c2be6d8a9a59e79f433ab2d1d1 100755 (executable)
@@ -60,32 +60,28 @@ os.system ('tar xfz test_gnunet_fs_rec_data.tgz')
 try:
   pub = pexpect ()
   pub.spawn (None, [publish, '-c', 'test_gnunet_fs_rec_data.conf', '-d', '-k', 'testdir', 'dir/'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
-  pub.expect ("stdout", re.compile (r"Scanning directory `.+[\\/]dir[\\/]'\.\r?\n"))
-  # Directory listing order is undefined, so only one thing is certain - that we start with `dir/'
-  pub.expect ("stdout", re.compile (r"Scanning .+\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Scanning .+\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Scanning .+\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Scanning .+\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Scanning .+\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Scanning .+\.\r?\n"))
-  # Same goes for publishing order - the last one is the toplevel directory
+  # Can't say much for publishing, except that the last one is the toplevel directory
   pub.expect ("stdout", re.compile (r"Publishing `.+' done\.\r?\n"))
   pub.expect ("stdout", re.compile (r"URI is `gnunet://fs/chk/[A-Z0-9]{103}\.[A-Z0-9]{103}\.\d+'\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Publishing `.+[\\/]dir[\\/]a[\\/]INSTALL' done\.\r?\n"))
+  pub.expect ("stdout", re.compile (r"Publishing `.+' done\.\r?\n"))
   pub.expect ("stdout", re.compile (r"URI is `gnunet://fs/chk/[A-Z0-9]{103}\.[A-Z0-9]{103}\.\d+'\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Publishing `.+[\\/]dir[\\/]a' done\.\r?\n"))
+  pub.expect ("stdout", re.compile (r"Publishing `.+' done\.\r?\n"))
   pub.expect ("stdout", re.compile (r"URI is `gnunet://fs/chk/[A-Z0-9]{103}\.[A-Z0-9]{103}\.\d+'\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Publishing `.+[\\/]dir[\\/]b[\\/]NEWS' done\.\r?\n"))
+  pub.expect ("stdout", re.compile (r"Publishing `.+' done\.\r?\n"))
   pub.expect ("stdout", re.compile (r"URI is `gnunet://fs/chk/[A-Z0-9]{103}\.[A-Z0-9]{103}\.\d+'\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Publishing `.+[\\/]dir[\\/]b' done\.\r?\n"))
+  pub.expect ("stdout", re.compile (r"Publishing `.+' done\.\r?\n"))
   pub.expect ("stdout", re.compile (r"URI is `gnunet://fs/chk/[A-Z0-9]{103}\.[A-Z0-9]{103}\.\d+'\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"Publishing `.+[\\/]dir[\\/]NEWS' done\.\r?\n"))
+  pub.expect ("stdout", re.compile (r"Publishing `.+' done\.\r?\n"))
   pub.expect ("stdout", re.compile (r"URI is `gnunet://fs/chk/[A-Z0-9]{103}\.[A-Z0-9]{103}\.\d+'\.\r?\n"))
   pub.expect ("stdout", re.compile (r"Publishing `.+[\\/]dir[\\/]' done\.\r?\n"))
-  pub.expect ("stdout", re.compile (r"URI is `gnunet://fs/chk/EA6RCK9L9KEH6N9P7BI127R1A0L8C9KEQQF7UUJMS9CIDM0I2ETQ3N9H6T47JTH58I97MIPOQDNGE25Q9BJ78MLBCEDVP6QVMQ7K0U8\.8CB2RLQUS4RQTU65BQK0A8HU2DS4AJLDE1F3HP0EG1LEQ9DEPIIQA4CD2I9A9UL02INBFSG9RA9JRLPIPF2RI8O3PBSB520HAB6OAO8\.20324'\.\r?\n"))
+  m = pub.expect ("stdout", re.compile (r".+\r?\n"))
+  if not m:
+    sys.exit (3)
+  output = m.string
+  url = output[output.find ("`")+1:output.find("'")]
 
   down = pexpect ()
-  down.spawn (None, [download, '-c', 'test_gnunet_fs_rec_data.conf', '-R', '-o', 'rdir.gnd', 'gnunet://fs/chk/M2I80IUI2DM4L6G93KL15AHAO7MIMS5JKP1L3LQFVN50CT7AKRQDSF594BC9TD97JJIT3COF6B5O524CMIOG9EJO8UK1560M54JRI70.GBRE5M4QJ7NA0QIN88FMSC78NNOQMVT5DH8FP37OIR5SGGHFEB9ESDNBRKT9PFE9N2GOI81UN8GGBR6KH9GRTV1T04JFSJURF2U0VE8.20182'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+  down.spawn (None, [download, '-c', 'test_gnunet_fs_rec_data.conf', '-R', '-o', 'rdir.gnd', url], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
   down.expect ("stdout", re.compile (r"Downloading `rdir.gnd' done (.*).\r?\n"))
 
   d = pexpect ()