libextractor

GNU libextractor
Log | Files | Refs | Submodules | README | LICENSE

test_elf.c (2103B)


      1 /*
      2      This file is part of libextractor.
      3      Copyright (C) 2021 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_elf.c
     22  * @brief testcase for elf plugin
     23  * @author Christian Grothoff
     24  */
     25 #include "platform.h"
     26 #include "test_lib.h"
     27 
     28 
     29 /**
     30  * Main function for the ELF testcase.
     31  *
     32  * @param argc number of arguments (ignored)
     33  * @param argv arguments (ignored)
     34  * @return 0 on success
     35  */
     36 int
     37 main (int argc, char *argv[])
     38 {
     39   struct SolutionData elf_sol[] = {
     40     {
     41       EXTRACTOR_METATYPE_MIMETYPE,
     42       EXTRACTOR_METAFORMAT_UTF8,
     43       "text/plain",
     44       "application/x-executable",
     45       strlen ("application/x-executable") + 1,
     46       0
     47     },
     48     {
     49       EXTRACTOR_METATYPE_TARGET_ARCHITECTURE,
     50       EXTRACTOR_METAFORMAT_UTF8,
     51       "text/plain",
     52       "i386",
     53       strlen ("i386") + 1,
     54       0
     55     },
     56     {
     57       EXTRACTOR_METATYPE_RESOURCE_TYPE,
     58       EXTRACTOR_METAFORMAT_UTF8,
     59       "text/plain",
     60       "Executable file",
     61       strlen ("Executable file") + 1,
     62       0
     63     },
     64     {
     65       EXTRACTOR_METATYPE_LIBRARY_DEPENDENCY,
     66       EXTRACTOR_METAFORMAT_UTF8,
     67       "text/plain",
     68       "libc.so.6",
     69       strlen ("libc.so.6") + 1,
     70       0
     71     },
     72     { 0, 0, NULL, NULL, 0, -1 }
     73   };
     74   struct ProblemSet ps[] = {
     75     { "testdata/chello-elf",
     76       elf_sol },
     77     { NULL, NULL }
     78   };
     79   return ET_main ("elf", ps);
     80 }
     81 
     82 
     83 /* end of test_elf.c */