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 */