fixing common off-by-one error with respect to maximum message size
[oweals/gnunet.git] / src / fs / test_fs_unindex_persistence.c
index c964004c1d54e22af62ea1697979c49bb2d87588..ae7d09bb853d5df6d171864273239af9f8f772e6 100644 (file)
@@ -161,7 +161,6 @@ progress_cb (void *cls,
       GNUNET_assert (unindex != NULL);
       break;
     case GNUNET_FS_STATUS_UNINDEX_COMPLETED:
-      consider_restart (event->status);
       printf ("Unindex complete,  %llu kbps.\n",
              (unsigned long long) (FILESIZE * 1000 / (1+GNUNET_TIME_absolute_get_duration (start).value) / 1024));
       GNUNET_SCHEDULER_add_continuation (sched,
@@ -180,6 +179,25 @@ progress_cb (void *cls,
              (unsigned long long) event->value.unindex.specifics.progress.offset);
 #endif
       break;
+    case GNUNET_FS_STATUS_PUBLISH_SUSPEND:
+      if  (event->value.publish.pc == publish)
+       publish = NULL;
+      break;
+    case GNUNET_FS_STATUS_PUBLISH_RESUME:
+      if (NULL == publish)
+       {
+         publish = event->value.publish.pc;
+         return "publish-context";
+       }
+      break;
+    case GNUNET_FS_STATUS_UNINDEX_SUSPEND:
+      GNUNET_assert (event->value.unindex.uc == unindex);
+      unindex = NULL;
+      break;
+    case GNUNET_FS_STATUS_UNINDEX_RESUME:
+      GNUNET_assert (NULL == unindex);
+      unindex = event->value.unindex.uc;
+      return "unindex";
     case GNUNET_FS_STATUS_PUBLISH_ERROR:
       fprintf (stderr,
               "Error publishing file: %s\n",
@@ -207,7 +225,7 @@ progress_cb (void *cls,
       GNUNET_assert (1 == event->value.publish.anonymity);
       break;
     case GNUNET_FS_STATUS_PUBLISH_STOPPED:
-      GNUNET_assert (publish == event->value.publish.sc);
+      GNUNET_assert (publish == event->value.publish.pc);
       GNUNET_assert (FILESIZE == event->value.publish.size);
       GNUNET_assert (1 == event->value.publish.anonymity);
       GNUNET_FS_stop (fs);
@@ -222,7 +240,6 @@ progress_cb (void *cls,
       GNUNET_assert (0 == event->value.unindex.completed);
       break;
     case GNUNET_FS_STATUS_UNINDEX_STOPPED:
-      consider_restart (event->status);
       GNUNET_assert (unindex == event->value.unindex.uc);
       GNUNET_SCHEDULER_add_continuation (sched,
                                         &abort_publish_task,
@@ -358,8 +375,11 @@ main (int argc, char *argv[])
                      "nohelp", options, &run, NULL);
   stop_arm (&p1);
   GNUNET_DISK_directory_remove ("/tmp/gnunet-test-fs-unindex/");
-  GNUNET_DISK_directory_remove (fn);
-  GNUNET_free_non_null (fn);
+  if (NULL != fn)
+    {
+      GNUNET_DISK_directory_remove (fn);
+      GNUNET_free (fn);
+    }
   return 0;
 }