libextractor

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

test_deb.c (5396B)


      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_deb.c
     22  * @brief testcase for deb plugin
     23  * @author Christian Grothoff
     24  */
     25 #include "platform.h"
     26 #include "test_lib.h"
     27 
     28 
     29 /**
     30  * Main function for the DEB 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 deb_bzip2_sol[] = {
     40     {
     41       EXTRACTOR_METATYPE_MIMETYPE,
     42       EXTRACTOR_METAFORMAT_UTF8,
     43       "text/plain",
     44       "application/x-debian-package",
     45       strlen ("application/x-debian-package") + 1,
     46       0
     47     },
     48     {
     49       EXTRACTOR_METATYPE_PACKAGE_NAME,
     50       EXTRACTOR_METAFORMAT_UTF8,
     51       "text/plain",
     52       "bzip2",
     53       strlen ("bzip2") + 1,
     54       0
     55     },
     56     {
     57       EXTRACTOR_METATYPE_PACKAGE_VERSION,
     58       EXTRACTOR_METAFORMAT_UTF8,
     59       "text/plain",
     60       "1.0.6-4",
     61       strlen ("1.0.6-4") + 1,
     62       0
     63     },
     64     {
     65       EXTRACTOR_METATYPE_TARGET_ARCHITECTURE,
     66       EXTRACTOR_METAFORMAT_UTF8,
     67       "text/plain",
     68       "i386",
     69       strlen ("i386") + 1,
     70       0
     71     },
     72     {
     73       EXTRACTOR_METATYPE_PACKAGE_MAINTAINER,
     74       EXTRACTOR_METAFORMAT_UTF8,
     75       "text/plain",
     76       "Anibal Monsalve Salazar <anibal@debian.org>",
     77       strlen ("Anibal Monsalve Salazar <anibal@debian.org>") + 1,
     78       0
     79     },
     80     {
     81       EXTRACTOR_METATYPE_PACKAGE_INSTALLED_SIZE,
     82       EXTRACTOR_METAFORMAT_UTF8,
     83       "text/plain",
     84       "113", /* FIXME: should this be 'kb'? */
     85       strlen ("113") + 1,
     86       0
     87     },
     88     {
     89       EXTRACTOR_METATYPE_PACKAGE_DEPENDENCY,
     90       EXTRACTOR_METAFORMAT_UTF8,
     91       "text/plain",
     92       "libbz2-1.0 (= 1.0.6-4), libc6 (>= 2.4)",
     93       strlen ("libbz2-1.0 (= 1.0.6-4), libc6 (>= 2.4)") + 1,
     94       0
     95     },
     96     {
     97       EXTRACTOR_METATYPE_PACKAGE_SUGGESTS,
     98       EXTRACTOR_METAFORMAT_UTF8,
     99       "text/plain",
    100       "bzip2-doc",
    101       strlen ("bzip2-doc") + 1,
    102       0
    103     },
    104     {
    105       EXTRACTOR_METATYPE_PACKAGE_REPLACES,
    106       EXTRACTOR_METAFORMAT_UTF8,
    107       "text/plain",
    108       "libbz2 (<< 0.9.5d-3)",
    109       strlen ("libbz2 (<< 0.9.5d-3)") + 1,
    110       0
    111     },
    112     {
    113       EXTRACTOR_METATYPE_SECTION,
    114       EXTRACTOR_METAFORMAT_UTF8,
    115       "text/plain",
    116       "utils",
    117       strlen ("utils") + 1,
    118       0
    119     },
    120     {
    121       EXTRACTOR_METATYPE_UPLOAD_PRIORITY,
    122       EXTRACTOR_METAFORMAT_UTF8,
    123       "text/plain",
    124       "standard",
    125       strlen ("standard") + 1,
    126       0
    127     },
    128     {
    129       EXTRACTOR_METATYPE_DESCRIPTION,
    130       EXTRACTOR_METAFORMAT_UTF8,
    131       "text/plain",
    132       "high-quality block-sorting file compressor - utilities\n"
    133       " bzip2 is a freely available, patent free, high-quality data compressor.\n"
    134       " It typically compresses files to within 10% to 15% of the best available\n"
    135       " techniques, whilst being around twice as fast at compression and six\n"
    136       " times faster at decompression.\n"
    137       " .\n"
    138       " bzip2 compresses files using the Burrows-Wheeler block-sorting text\n"
    139       " compression algorithm, and Huffman coding.  Compression is generally\n"
    140       " considerably better than that achieved by more conventional\n"
    141       " LZ77/LZ78-based compressors, and approaches the performance of the PPM\n"
    142       " family of statistical compressors.\n"
    143       " .\n"
    144       " The archive file format of bzip2 (.bz2) is incompatible with that of its\n"
    145       " predecessor, bzip (.bz).",
    146       strlen ("high-quality block-sorting file compressor - utilities\n"
    147               " bzip2 is a freely available, patent free, high-quality data compressor.\n"
    148               " It typically compresses files to within 10% to 15% of the best available\n"
    149               " techniques, whilst being around twice as fast at compression and six\n"
    150               " times faster at decompression.\n"
    151               " .\n"
    152               " bzip2 compresses files using the Burrows-Wheeler block-sorting text\n"
    153               " compression algorithm, and Huffman coding.  Compression is generally\n"
    154               " considerably better than that achieved by more conventional\n"
    155               " LZ77/LZ78-based compressors, and approaches the performance of the PPM\n"
    156               " family of statistical compressors.\n"
    157               " .\n"
    158               " The archive file format of bzip2 (.bz2) is incompatible with that of its\n"
    159               " predecessor, bzip (.bz).") + 1,
    160       0
    161     },
    162     { 0, 0, NULL, NULL, 0, -1 }
    163   };
    164   struct ProblemSet ps[] = {
    165     { "testdata/deb_bzip2.deb",
    166       deb_bzip2_sol },
    167     { NULL, NULL }
    168   };
    169   return ET_main ("deb", ps);
    170 }
    171 
    172 
    173 /* end of test_deb.c */