"Fossies" - the Fresh Open Source Software Archive

Member "libextractor-1.11/src/plugins/test_mime.c" (30 Jan 2021, 3663 Bytes) of package /linux/privat/libextractor-1.11.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 /*
    2      This file is part of libextractor.
    3      Copyright (C) 2012 Vidyut Samanta and Christian Grothoff
    4 
    5      libextractor is free software; you can redistribute it and/or modify
    6      it under the terms of the GNU General Public License as published
    7      by the Free Software Foundation; either version 3, or (at your
    8      option) any later version.
    9 
   10      libextractor is distributed in the hope that it will be useful, but
   11      WITHOUT ANY WARRANTY; without even the implied warranty of
   12      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   13      General Public License for more details.
   14 
   15      You should have received a copy of the GNU General Public License
   16      along with libextractor; see the file COPYING.  If not, write to the
   17      Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   18      Boston, MA 02110-1301, USA.
   19 */
   20 /**
   21  * @file plugins/test_mime.c
   22  * @brief testcase for ogg plugin
   23  * @author Christian Grothoff
   24  */
   25 #include "platform.h"
   26 #include "test_lib.h"
   27 #include <magic.h>
   28 
   29 
   30 /**
   31  * Main function for the MIME testcase.
   32  *
   33  * @param argc number of arguments (ignored)
   34  * @param argv arguments (ignored)
   35  * @return 0 on success
   36  */
   37 int
   38 main (int argc, char *argv[])
   39 {
   40   int result = 0;
   41   int test_result;
   42   int test_result_around_19, test_result_around_22;
   43   struct SolutionData courseclear_file_around_19_sol[] = {
   44     {
   45       EXTRACTOR_METATYPE_MIMETYPE,
   46       EXTRACTOR_METAFORMAT_UTF8,
   47       "text/plain",
   48       /* not sure which is the exact version, but old ones do
   49          not even define MAGIC_VERSION, so this is approximately
   50          right. Users where this tests fail should report
   51          their version number from "magic.h" so we can adjust
   52          if necessary. */
   53 #ifdef MAGIC_VERSION
   54       "audio/ogg",
   55       strlen ("audio/ogg") + 1,
   56 #else
   57       "application/ogg",
   58       strlen ("application/ogg") + 1,
   59 #endif
   60       0
   61     },
   62     { 0, 0, NULL, NULL, 0, -1 }
   63   };
   64   struct SolutionData courseclear_file_around_22_sol[] = {
   65     {
   66       EXTRACTOR_METATYPE_MIMETYPE,
   67       EXTRACTOR_METAFORMAT_UTF8,
   68       "text/plain",
   69       "audio/ogg",
   70       strlen ("audio/ogg") + 1,
   71       0
   72     },
   73     { 0, 0, NULL, NULL, 0, -1 }
   74   };
   75   struct SolutionData gif_image_sol[] = {
   76     {
   77       EXTRACTOR_METATYPE_MIMETYPE,
   78       EXTRACTOR_METAFORMAT_UTF8,
   79       "text/plain",
   80       "image/gif",
   81       strlen ("image/gif") + 1,
   82       0
   83     },
   84     { 0, 0, NULL, NULL, 0, -1 }
   85   };
   86   struct ProblemSet ps_gif[] = {
   87     { "testdata/gif_image.gif",
   88       gif_image_sol },
   89     { NULL, NULL }
   90   };
   91   struct ProblemSet ps_ogg_around_19[] = {
   92     { "testdata/ogg_courseclear.ogg",
   93       courseclear_file_around_19_sol },
   94     { NULL, NULL }
   95   };
   96   struct ProblemSet ps_ogg_around_22[] = {
   97     { "testdata/ogg_courseclear.ogg",
   98       courseclear_file_around_22_sol },
   99     { NULL, NULL }
  100   };
  101   printf ("Running gif test on libmagic:\n");
  102   test_result = (0 == ET_main ("mime", ps_gif) ? 0 : 1);
  103   printf ("gif libmagic test result: %s\n", test_result == 0 ? "OK" : "FAILED");
  104   result += test_result;
  105 
  106   printf ("Running ogg test on libmagic, assuming version ~5.19:\n");
  107   test_result_around_19 = (0 == ET_main ("mime", ps_ogg_around_19) ? 0 : 1);
  108   printf ("ogg libmagic test result: %s\n", test_result_around_19 == 0 ? "OK" :
  109           "FAILED");
  110 
  111   printf ("Running ogg test on libmagic, assuming version ~5.22:\n");
  112   test_result_around_22 = (0 == ET_main ("mime", ps_ogg_around_22) ? 0 : 1);
  113   printf ("ogg libmagic test result: %s\n", test_result_around_22 == 0 ? "OK" :
  114           "FAILED");
  115 
  116   if ((test_result_around_19 != 0) && (test_result_around_22 != 0))
  117     result++;
  118   return result;
  119 }
  120 
  121 
  122 /* end of test_mime.c */