gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r7299 - Extractor/src/test


From: gnunet
Subject: [GNUnet-SVN] r7299 - Extractor/src/test
Date: Sun, 22 Jun 2008 02:58:23 -0600 (MDT)

Author: holindho
Date: 2008-06-22 02:58:23 -0600 (Sun, 22 Jun 2008)
New Revision: 7299

Modified:
   Extractor/src/test/multithreadtest.c
Log:
test with multiple files


Modified: Extractor/src/test/multithreadtest.c
===================================================================
--- Extractor/src/test/multithreadtest.c        2008-06-22 08:57:59 UTC (rev 
7298)
+++ Extractor/src/test/multithreadtest.c        2008-06-22 08:58:23 UTC (rev 
7299)
@@ -78,26 +78,30 @@
 }
 
 static EXTRACTOR_KeywordList *
-get_keywords_for_file (struct FileData *file)
+get_keywords_for_file (const struct FileData *file)
 {
   EXTRACTOR_ExtractorList *el;
   EXTRACTOR_KeywordList *list;
 
   if (file->use_thumbnailer) 
-  {
-  el = EXTRACTOR_addLibrary (NULL, "libextractor_mime");
-  el = EXTRACTOR_loadConfigLibraries (el, "-libextractor_thumbnail");
-  }
+    {
+      el = EXTRACTOR_addLibrary (NULL, "libextractor_mime");
+      el = EXTRACTOR_loadConfigLibraries (el, "-libextractor_thumbnail");
+    }
   else
-  {
-   el = EXTRACTOR_loadDefaultLibraries ();
-  }
+    {
+      el = EXTRACTOR_loadDefaultLibraries ();
+    }
   if (el == NULL)
     {
       printf ("ERROR: failed to load plugins!\n");
       return NULL;
     }
+  errno = 0;
   list = EXTRACTOR_getKeywords (el, file->filename);
+  if (errno != 0) {
+    printf("ERROR: EXTRACTOR_getKeywords: %s\n", strerror(errno));
+  }
   /*EXTRACTOR_printKeywords (stderr, list); */
   EXTRACTOR_removeAll (el);
 
@@ -114,7 +118,7 @@
 
       list = get_keywords_for_file (td->file);
 
-      if (list == NULL || compare_keywords_to_ref (list) != 0)
+      if ((list == NULL) || (compare_keywords_to_ref (list) != 0))
         {
           printf ("ERROR: thread id %d failed keyword comparison!\n", td->id);
           failed = 1;
@@ -126,10 +130,17 @@
 }
 
 static const struct FileData files[] = {
-  { TESTDATADIR "/CatherineCub2.png", 1 },
+  { TESTDATADIR "/test.bmp", 0 },
+  { TESTDATADIR "/test.jpg", 0 },
+  { TESTDATADIR "/test.png", 0 },
+  { TESTDATADIR "/test.sxw", 0 },
+  { TESTDATADIR "/test.bmp", 1 },
+  { TESTDATADIR "/test.png", 1 },
   { NULL, 0 }
 };
 
+#define TEST_SECS 10
+
 int
 main (int argc, char *argv[])
 {
@@ -138,32 +149,41 @@
   struct TaskData td[num_tasks];
   int ret = 0;
   int i;
+  int n;
 
-  reference_list = get_keywords_for_file (&files[0]);
+  n = 0;
+  while ((files[n].filename != NULL) && (!failed)) {
+    printf("testing with '%s' for %d seconds\n", files[n].filename, TEST_SECS);
+    reference_list = get_keywords_for_file (&files[n]);
 
-  for (i = 0; i < num_tasks; i++)
-    {
-      td[i].id = i;
-      td[i].file = &files[0];
-      ret = pthread_create (&task_list[i], NULL, test_plugins, &td[i]);
-      if (ret != 0)
-        {
-          printf ("ERROR: pthread_create failed for thread %d\n", i);
-         num_tasks = i;
-         done = 1;
-          break;
-        }
-    }
-  if (!done)
-    sleep (20);
-  done = 1;
-  for (i = 0; i < num_tasks; i++)
-    {
-      if (pthread_join (task_list[i], NULL) != 0)
-        printf ("WARNING: pthread_join failed for thread %d\n", i);
-    }
+    for (i = 0; i < num_tasks; i++)
+      {
+        td[i].id = i;
+        td[i].file = &files[n];
+        ret = pthread_create (&task_list[i], NULL, test_plugins, &td[i]);
+        if (ret != 0)
+          {
+            printf ("ERROR: pthread_create failed for thread %d\n", i);
+            num_tasks = i;
+           done = 1;
+            break;
+          }
+      }
+    if (!done)
+      sleep (TEST_SECS);
+    done = 1;
+    for (i = 0; i < num_tasks; i++)
+      {
+        if (pthread_join (task_list[i], NULL) != 0)
+          printf ("WARNING: pthread_join failed for thread %d\n", i);
+      }
 
-  if (reference_list != NULL)
-    EXTRACTOR_freeKeywords (reference_list);
+    done = 0;
+    if (reference_list != NULL)
+      EXTRACTOR_freeKeywords (reference_list);
+  
+    n++;
+  }
+
   return failed;
 }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]