mirror of
https://github.com/MidnightCommander/mc
synced 2024-12-22 20:36:50 +03:00
extfs: rpm: add tests.
Signed-off-by: Mooffie <mooffie@gmail.com>
This commit is contained in:
parent
e3cef7576b
commit
4b8785ead6
@ -38,6 +38,11 @@ data_files_to_distribute = \
|
||||
data/lslR.3.spaces-iso-noslash.input \
|
||||
data/lslR.3.spaces-iso-noslash.output \
|
||||
data/lslR.README \
|
||||
data/rpm.README \
|
||||
data/rpm.env_vars \
|
||||
data/rpm.input \
|
||||
data/rpm.output \
|
||||
data/rpm.rewrite.sh \
|
||||
data/u7z.README \
|
||||
data/u7z.complex.env_vars \
|
||||
data/u7z.complex.input \
|
||||
|
14
tests/src/vfs/extfs/helpers-list/data/rpm.README
Normal file
14
tests/src/vfs/extfs/helpers-list/data/rpm.README
Normal file
@ -0,0 +1,14 @@
|
||||
|
||||
The *.input files for the rpm helper are what we call "tags files".
|
||||
They're generated by rpm2tags.
|
||||
|
||||
The rpm package chosen was glib2-2.46.2-4.el7.i686.rpm (downloadable from
|
||||
rpmfind.net), as it has scriptlets that demonstrate the INFO/SCRIPTS dir.
|
||||
|
||||
--
|
||||
|
||||
The way this test works is a bit unconventional:
|
||||
|
||||
We aren't overriding one or two variables in the helper but, instead,
|
||||
inject a code snippet into it (see 'rpm.rewrite.sh'). This lets us
|
||||
override a couple of functions to imitate the 'rpm' binary.
|
3
tests/src/vfs/extfs/helpers-list/data/rpm.env_vars
Normal file
3
tests/src/vfs/extfs/helpers-list/data/rpm.env_vars
Normal file
@ -0,0 +1,3 @@
|
||||
MC_TEST_RPM_REWRITE="$MC_TEST_EXTFS_DATA_DIR/rpm.rewrite.sh"
|
||||
|
||||
MCFASTRPM= # disable "fast mode".
|
264
tests/src/vfs/extfs/helpers-list/data/rpm.input
Normal file
264
tests/src/vfs/extfs/helpers-list/data/rpm.input
Normal file
@ -0,0 +1,264 @@
|
||||
# -*- mode: perl -*-
|
||||
# vim: filetype=perl
|
||||
#
|
||||
# This "tags file" was created by running the following command:
|
||||
#
|
||||
# $ perl rpm2tags.pl glib2-2.46.2-4.el7.i686.rpm
|
||||
#
|
||||
# This file is used in our tests instead of the corresponding RPM file.
|
||||
# This lets us run the tests on systems where 'rpm' is not installed.
|
||||
|
||||
$tags = {
|
||||
'CONFLICTFLAGS:depflags' => '(none)',
|
||||
'P' => 'glib2',
|
||||
'FILELANGS' => '',
|
||||
'VERSION' => '2.46.2',
|
||||
'CHANGELOGTEXT' => '- Backport a patch to fix a segfault in file monitor code
|
||||
- Resolves: #1375753',
|
||||
'POSTIN' => '/sbin/ldconfig
|
||||
gio-querymodules-32 /usr/lib/gio/modules',
|
||||
'FILECONTEXTS' => '(none)',
|
||||
'TRIGGERTYPE' => '(none)',
|
||||
'GROUP' => 'System Environment/Libraries',
|
||||
'DESCRIPTION' => 'GLib is the low-level core library that forms the basis for projects
|
||||
such as GTK+ and GNOME. It provides data structure handling for C,
|
||||
portability wrappers, and interfaces for such runtime functionality
|
||||
as an event loop, threads, dynamic loading, and an object system.',
|
||||
'NEVR' => 'glib2-2.46.2-4.el7',
|
||||
'NOPATCH' => '(none)',
|
||||
'SOURCEPACKAGE' => '(none)',
|
||||
'VERBOSE' => '(none)',
|
||||
'REQUIRENEVRS' => '/bin/sh',
|
||||
'TRIGGERSCRIPTFLAGS' => '(none)',
|
||||
'VENDOR' => 'CentOS',
|
||||
'DSAHEADER' => '(none)',
|
||||
'PRETRANSPROG' => '(none)',
|
||||
'PROVIDES' => 'glib2',
|
||||
'EXCLUSIVEOS' => '(none)',
|
||||
'NVRA' => 'glib2-2.46.2-4.el7.i686',
|
||||
'URL' => 'http://www.gtk.org',
|
||||
'DISTRIBUTION' => '(none)',
|
||||
'OBSOLETENEVRS' => '(none)',
|
||||
'O' => '(none)',
|
||||
'SIGPGP' => '8902150305005831e31824c6a8a7f4a80eb50108452c0ff9011ff528bd335c28b6dab1b1b783cde246b3ca8df41216124a66c86bb13d864fb68fcaffaff69a7c0638c20445cef0d8712b66430ef959b823b7c48253b46e9646fc15bb07024abcd160df2c42be0a3aed81b79ebce4779eee5510148683e10ae0da26959abe5c0df821b18a64a9d0f0c87e4be02c7644999c4dc735aaf36f88e652b12fe786a2fc22e9e9ecee1156681d8ac6f5b088b9593ea5fd0c1c62e14b5b1863d019ab04ab6008ab736e9643bd45fcab373a407b669c4efd4973d36b59411146bf21f1b1caca15ea36616ee510e0a57e5ac412fbc5094637f9bdb3bdb07cf0a5a84a560aeed5b92e99ef796025fdfe25a1dd1ea58e24f7218d2b2a76286c4859feb02c6b1221055a3ba4f61dd997c9a240a7127439c5184f18432da6c9588e5166a665d10d78673067fe006411171eee32e28ff548c1500376b4851691925f0d5fa855c62312d71c8444077a397cfda03e4e026ba065fef29bf5922fc68522e4a394e1e851049b965c9d1a680df8c94c41b703667ff84db43e45a1508916d76ac45928d00fe60643366484d5215cb9e08c4737f0c9d27c3f812fecd72aef6195e07badeab549f1f57adcd860e3e3ea7006faa32d63b9dc65d46a06c0f9ce6d15541e612b76bc2d61d154c18700fe92be41e78dff5679f7cfb69fb430edf873dd8a7adf9e4214ff6d09d814314be641408c073d3a17da631463a8ea6522',
|
||||
'PREINPROG' => '(none)',
|
||||
'ENHANCENAME' => '(none)',
|
||||
'INSTALLCOLOR' => '(none)',
|
||||
'OLDENHANCESNAME' => '(none)',
|
||||
'OBSOLETES' => '(none)',
|
||||
'ARCH' => 'i686',
|
||||
'RECOMMENDVERSION' => '(none)',
|
||||
'OBSOLETEFLAGS:depflags' => '(none)',
|
||||
'POSTUNPROG' => '/bin/sh',
|
||||
'POLICYTYPES' => '(none)',
|
||||
'RECOMMENDFLAGS' => '(none)',
|
||||
'CLASSDICT' => 'ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=1171bf18928201e1c6ec8e190e64303762a1f4d9, stripped',
|
||||
'CONFLICTS' => '(none)',
|
||||
'NOSOURCE' => '(none)',
|
||||
'EXCLUDEOS' => '(none)',
|
||||
'FILEMTIMES' => '1478898094',
|
||||
'DBINSTANCE' => '0',
|
||||
'ORIGBASENAMES' => '(none)',
|
||||
'ENHANCEVERSION' => '(none)',
|
||||
'FILEFLAGS' => '0',
|
||||
'FSCONTEXTS' => '(none)',
|
||||
'PROVIDEVERSION' => '2.46.2-4.el7',
|
||||
'FILEMD5S' => 'f64bee32e178161f3340ebd97e83193f9302ef5dc22a83608e3923bf450c847d',
|
||||
'BASENAMES' => 'gapplication',
|
||||
'POLICYTYPESINDEXES' => '(none)',
|
||||
'PROVIDENEVRS' => 'glib2 = 2.46.2-4.el7',
|
||||
'OS' => 'linux',
|
||||
'POSTINPROG' => '/bin/sh',
|
||||
'OLDSUGGESTSVERSION' => '(none)',
|
||||
'INSTALLTID' => '(none)',
|
||||
'PROVIDEFLAGS:depflags' => '=',
|
||||
'PREUNFLAGS' => '(none)',
|
||||
'OLDFILENAMES' => '(none)',
|
||||
'BUILDARCHS' => '(none)',
|
||||
'ORIGDIRNAMES' => '(none)',
|
||||
'SUGGESTFLAGS' => '(none)',
|
||||
'INSTFILENAMES' => '(none)',
|
||||
'FILEUSERNAME' => 'root',
|
||||
'CONFLICTNEVRS' => '(none)',
|
||||
'PROVIDENAME' => 'glib2',
|
||||
'LICENSE' => 'LGPLv2+',
|
||||
'OLDSUGGESTS' => '(none)',
|
||||
'RECOMMENDNAME' => '(none)',
|
||||
'PATCHESVERSION' => '(none)',
|
||||
'DISTTAG' => '(none)',
|
||||
'FILEDIGESTS' => 'f64bee32e178161f3340ebd97e83193f9302ef5dc22a83608e3923bf450c847d',
|
||||
'EXCLUSIVEARCH' => '(none)',
|
||||
'V' => '2.46.2',
|
||||
'OLDENHANCESVERSION' => '(none)',
|
||||
'POSTTRANSFLAGS' => '(none)',
|
||||
'SUPPLEMENTNEVRS' => '(none)',
|
||||
'XPM' => '(none)',
|
||||
'PREUN' => '(none)',
|
||||
'ORDERFLAGS' => '(none)',
|
||||
'ORIGFILENAMES' => '(none)',
|
||||
'GIF' => '(none)',
|
||||
'ORIGDIRINDEXES' => '(none)',
|
||||
'SOURCERPM' => 'glib2-2.46.2-4.el7.src.rpm',
|
||||
'OBSOLETEFLAGS' => '(none)',
|
||||
'PRETRANSFLAGS' => '(none)',
|
||||
'POSTUNFLAGS' => '(none)',
|
||||
'ICON' => '(none)',
|
||||
'PREINFLAGS' => '(none)',
|
||||
'PREIN' => '(none)',
|
||||
'DIRINDEXES' => '0',
|
||||
'HEADERI18NTABLE' => 'C',
|
||||
'POSTTRANS' => '(none)',
|
||||
'BUILDTIME:date' => 'Fri Nov 11 23:01:44 2016',
|
||||
'ORDERVERSION' => '(none)',
|
||||
'SUPPLEMENTNAME' => '(none)',
|
||||
'CHANGELOGTIME' => '1473854400',
|
||||
'FILECAPS' => '(none)',
|
||||
'RECOMMENDS' => '(none)',
|
||||
'PAYLOADFORMAT' => 'cpio',
|
||||
'RPMVERSION' => '4.11.3',
|
||||
'SIZE' => '11147850',
|
||||
'FILEINODES' => '1',
|
||||
'SUPPLEMENTVERSION' => '(none)',
|
||||
'N' => 'glib2',
|
||||
'PROVIDEFLAGS' => '8',
|
||||
'FILECOLORS' => '1',
|
||||
'REMOVETID' => '(none)',
|
||||
'INSTPREFIXES' => '(none)',
|
||||
'PATCHESFLAGS' => '(none)',
|
||||
'HDRID' => '60af3b40a992bea6f874a1ebde5a2abecfe729ab',
|
||||
'OBSOLETEVERSION' => '(none)',
|
||||
'EXCLUDEARCH' => '(none)',
|
||||
'ENHANCEFLAGS' => '(none)',
|
||||
'REQUIRENAME' => '/bin/sh',
|
||||
'LONGSIGSIZE' => '2374912',
|
||||
'C' => '(none)',
|
||||
'TRIGGERINDEX' => '(none)',
|
||||
'SOURCE' => '(none)',
|
||||
'SUGGESTNAME' => '(none)',
|
||||
'BUILDHOST' => 'c1bm.rdu2.centos.org',
|
||||
'VERIFYSCRIPT' => '(none)',
|
||||
'HEADERIMAGE' => '(none)',
|
||||
'POSTTRANSPROG' => '(none)',
|
||||
'SUPPLEMENTS' => '(none)',
|
||||
'FILELINKTOS' => '',
|
||||
'EVR' => '2.46.2-4.el7',
|
||||
'SUPPLEMENTFLAGS' => '(none)',
|
||||
'VCS' => '(none)',
|
||||
'SIGSIZE' => '2374912',
|
||||
'NAME' => 'glib2',
|
||||
'SIGGPG' => '(none)',
|
||||
'RECOMMENDNEVRS' => '(none)',
|
||||
'NVR' => 'glib2-2.46.2-4.el7',
|
||||
'TRIGGERCONDS' => '(none)',
|
||||
'OLDENHANCES' => '(none)',
|
||||
'VERIFYSCRIPTFLAGS' => '(none)',
|
||||
'EPOCH' => '(none)',
|
||||
'PLATFORM' => 'i686-redhat-linux-gnu',
|
||||
'REQUIREFLAGS:depflags' => '',
|
||||
'CONFLICTFLAGS' => '(none)',
|
||||
'POLICYFLAGS' => '(none)',
|
||||
'SOURCEPKGID' => '(none)',
|
||||
'CHANGELOGNAME' => 'Kalev Lember <klember@redhat.com> - 2.46.2-4',
|
||||
'BUGURL' => '(none)',
|
||||
'POSTINFLAGS' => '(none)',
|
||||
'RECONTEXTS' => '(none)',
|
||||
'INSTALLTIME' => '(none)',
|
||||
'HEADERCOLOR' => '1',
|
||||
'PATCH' => '(none)',
|
||||
'TRIGGERFLAGS' => '(none)',
|
||||
'PAYLOADFLAGS' => '2',
|
||||
'REQUIREVERSION' => '',
|
||||
'DEPENDSDICT' => '1375731723',
|
||||
'POLICIES' => '(none)',
|
||||
'ORDERNAME' => '(none)',
|
||||
'_INFO' => 'Name : glib2
|
||||
Version : 2.46.2
|
||||
Release : 4.el7
|
||||
Architecture: i686
|
||||
Install Date: (not installed)
|
||||
Group : System Environment/Libraries
|
||||
Size : 11147850
|
||||
License : LGPLv2+
|
||||
Signature : RSA/SHA256, Sun Nov 20 19:53:28 2016, Key ID 24c6a8a7f4a80eb5
|
||||
Source RPM : glib2-2.46.2-4.el7.src.rpm
|
||||
Build Date : Fri Nov 11 23:01:44 2016
|
||||
Build Host : c1bm.rdu2.centos.org
|
||||
Relocations : (not relocatable)
|
||||
Packager : CentOS BuildSystem <http://bugs.centos.org>
|
||||
Vendor : CentOS
|
||||
URL : http://www.gtk.org
|
||||
Summary : A library of handy utility functions
|
||||
Description :
|
||||
GLib is the low-level core library that forms the basis for projects
|
||||
such as GTK+ and GNOME. It provides data structure handling for C,
|
||||
portability wrappers, and interfaces for such runtime functionality
|
||||
as an event loop, threads, dynamic loading, and an object system.
|
||||
',
|
||||
'LONGARCHIVESIZE' => '11168196',
|
||||
'OLDSUGGESTSFLAGS' => '(none)',
|
||||
'RELEASE' => '4.el7',
|
||||
'FILENLINKS' => '1',
|
||||
'NEVRA' => 'glib2-2.46.2-4.el7.i686',
|
||||
'POSTUN' => '/sbin/ldconfig
|
||||
[ ! -x /usr/bin/gio-querymodules-32 ] || \\
|
||||
gio-querymodules-32 /usr/lib/gio/modules',
|
||||
'BUILDTIME' => '1478898104',
|
||||
'LONGFILESIZES' => '14936',
|
||||
'OLDSUGGESTSNAME' => '(none)',
|
||||
'POLICYNAMES' => '(none)',
|
||||
'PREFIXES' => '(none)',
|
||||
'TRIGGERSCRIPTS' => '(none)',
|
||||
'PUBKEYS' => '(none)',
|
||||
'SHA1HEADER' => '60af3b40a992bea6f874a1ebde5a2abecfe729ab',
|
||||
'SUGGESTVERSION' => '(none)',
|
||||
'E' => '(none)',
|
||||
'COOKIE' => '(none)',
|
||||
'FILEDIGESTALGO' => '8',
|
||||
'PRETRANS' => '(none)',
|
||||
'FILEGROUPNAME' => 'root',
|
||||
'DIRNAMES' => '/usr/bin/',
|
||||
'R' => '4.el7',
|
||||
'CONFLICTVERSION' => '(none)',
|
||||
'FILEMODES' => '33261',
|
||||
'TRIGGERVERSION' => '(none)',
|
||||
'HEADERREGIONS' => '(none)',
|
||||
'SUGGESTS' => '(none)',
|
||||
'OLDENHANCESFLAGS' => '(none)',
|
||||
'TRIGGERSCRIPTPROG' => '(none)',
|
||||
'FILEVERIFYFLAGS' => '4294967295',
|
||||
'FILEDEPENDSN' => '15',
|
||||
'FILEREQUIRE' => 'libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.0) libgio-2.0.so.0 libgobject-2.0.so.0 libgmodule-2.0.so.0 libz.so.1 libselinux.so.1 libresolv.so.2 libffi.so.6 libdl.so.2 libglib-2.0.so.0 libpthread.so.0 libc.so.6 rtld(GNU_HASH)',
|
||||
'FILERDEVS' => '0',
|
||||
'PKGID' => 'd8300bd6ae89fd3d471b823d4da55e5e',
|
||||
'FILEDEVICES' => '1',
|
||||
'FILENAMES' => '/usr/bin/gapplication',
|
||||
'ENHANCES' => '(none)',
|
||||
'EPOCHNUM' => '0',
|
||||
'VERIFYSCRIPTPROG' => '(none)',
|
||||
'PREUNPROG' => '(none)',
|
||||
'CONFLICTNAME' => '(none)',
|
||||
'FILESIZES' => '14936',
|
||||
'FILEPROVIDE' => '',
|
||||
'ARCHIVESIZE' => '11168196',
|
||||
'RSAHEADER' => '8902150305005831e31824c6a8a7f4a80eb50108cdf90ffc09656e816376ef5f32f146d136999f958f3e1338f21e0cac90bac97795d92c29301478a97f8b72afee0505896fa7c31195612542ba972da405323e3ec910ecc45350459220f39f2437a9ccbc3f9052b3d042d0e4a6d687f9be827b9c766d7fc680b2d99aebafe5134a54e64f0452be09b5592360d940ed3f3f3b14de7b0b124f510cfbdbd118e1638ee280edcbf6a9f916925f1b0bda0980935aedab1f9bfc342dceae437fa14736cdff2fe330ad37ab2719f6a3de84aaf3982a575a6f4980bc8a8e10a7ba51f53ed967a6c99638565147bbb0b2427c176ffbb8be5774b45f79388ff1407e6976608c3592784b971b791f0eca73a8a2ddafa70f656e3e565c9523aa1f4e78a56acdf39a91ebd90a481c0f02186f4bca965ecf889d075a87922830ed2c701d39ce627c362b222ed153c07b532a875744e1c54e9245c1044cf93520b208384d15413aba6b3425c457781862efd215a24c0c37c32c3ab29af785adfe418d5e86af53662163a9fed16dbac3ff4704120af67e0eb584a4f8766e510e6366eb5fcce0938253962b03972eca392e61f0f979f0dd7a554273d5ca463933033d67be82c7b31bcc2ef5c477907d3734aa596aefb7988a259d48d160413590243b56850eeab96ffa76d06b86faa0b6c9fd6fe43e902669444284e1947aa652673eb58214db9d19d0447de5bd036a45e9746ab4039f4dab7c73481a1bfb5a4d',
|
||||
'FILESTATES' => '(none)',
|
||||
'PACKAGER' => 'CentOS BuildSystem <http://bugs.centos.org>',
|
||||
'SUMMARY' => 'A library of handy utility functions',
|
||||
'OPTFLAGS' => '-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -march=x86-64 -mtune=generic -mfpmath=sse -fasynchronous-unwind-tables',
|
||||
'OBSOLETENAME' => '(none)',
|
||||
'REQUIRES' => '/bin/sh',
|
||||
'FILECLASS' => 'ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=1171bf18928201e1c6ec8e190e64303762a1f4d9, stripped',
|
||||
'PAYLOADCOMPRESSOR' => 'xz',
|
||||
'HEADERSIGNATURES' => '(none)',
|
||||
'PATCHESNAME' => '(none)',
|
||||
'CHANGELOGTIME:date' => 'Wed Sep 14 15:00:00 2016',
|
||||
'ENHANCENEVRS' => '(none)',
|
||||
'SIGMD5' => 'd8300bd6ae89fd3d471b823d4da55e5e',
|
||||
'FILEDEPENDSX' => '0',
|
||||
'DISTURL' => '(none)',
|
||||
'REQUIREFLAGS' => '1280',
|
||||
'TRIGGERNAME' => '(none)',
|
||||
'LONGSIZE' => '11147850',
|
||||
'SUGGESTNEVRS' => '(none)'
|
||||
}
|
||||
;
|
27
tests/src/vfs/extfs/helpers-list/data/rpm.output
Normal file
27
tests/src/vfs/extfs/helpers-list/data/rpm.output
Normal file
@ -0,0 +1,27 @@
|
||||
-r--r--r-- 1 0 0 868 2016-11-11 00:00:00 HEADER
|
||||
-r-xr-xr-x 1 0 0 39 2016-11-11 00:00:00 INSTALL
|
||||
-r-xr-xr-x 1 0 0 39 2016-11-11 00:00:00 UPGRADE
|
||||
dr-xr-xr-x 3 0 0 0 2016-11-11 00:00:00 INFO
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/NAME-VERSION-RELEASE
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/GROUP
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/BUILDHOST
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/SOURCERPM
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/BUILDTIME
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/RPMVERSION
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/OS
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/SIZE
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/VENDOR
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/DESCRIPTION
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/SUMMARY
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/SCRIPTS/POSTIN
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/SCRIPTS/POSTUN
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/SCRIPTS/ALL
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/SCRIPTS/POSTINPROG
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/SCRIPTS/POSTUNPROG
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/PACKAGER
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/URL
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/LICENSE
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/REQUIRES
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/PROVIDES
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 INFO/CHANGELOG
|
||||
-r--r--r-- 1 0 0 0 2016-11-11 00:00:00 CONTENTS.cpio
|
72
tests/src/vfs/extfs/helpers-list/data/rpm.rewrite.sh
Normal file
72
tests/src/vfs/extfs/helpers-list/data/rpm.rewrite.sh
Normal file
@ -0,0 +1,72 @@
|
||||
#
|
||||
# This file gets source'd into our rpm helper.
|
||||
#
|
||||
# It imitates the 'rpm' program by overriding a few functions.
|
||||
#
|
||||
|
||||
# The tags file.
|
||||
TAGSF="$MC_TEST_EXTFS_INPUT"
|
||||
|
||||
. "$MC_TEST_EXTFS_CONFIG_SH" # Gain access to $PERL.
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# Overrides helper's.
|
||||
#
|
||||
# Imitates 'rpm --querytags'.
|
||||
#
|
||||
# @Mock
|
||||
#
|
||||
mcrpmfs_getSupportedTags()
|
||||
{
|
||||
$PERL -e '
|
||||
$tagsf = $ARGV[0];
|
||||
|
||||
do $tagsf or die("$tagsf: $!");
|
||||
print join("\n", keys %$tags);
|
||||
' \
|
||||
"$TAGSF"
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# Imitates 'rpm -qp --qf <TEMPLATE> <PACKAGE_FILE>'.
|
||||
#
|
||||
# (It ignores <PACKAGE_FILE>, using our input instead.)
|
||||
#
|
||||
# E.g.: given "Name: %{NAME} Ver: %{VERSION}",
|
||||
# prints "Name: php-pear-Twig Ver: 1.0.0".
|
||||
#
|
||||
rpm_qf()
|
||||
{
|
||||
$PERL -w -e '
|
||||
$tagsf = $ARGV[0];
|
||||
$tmplt = $ARGV[1];
|
||||
|
||||
do $tagsf or die("$tagsf: $!");
|
||||
$tmplt =~ s/\\n/\n/g;
|
||||
$tmplt =~ s/%\{(.*?)\}/
|
||||
(my $tag = $1) =~ s,^RPMTAG_,,; # Tag names may be specified with or without this prefix.
|
||||
exists $tags->{$tag} ? $tags->{$tag} : "(none)"
|
||||
/eg;
|
||||
print $tmplt;
|
||||
' \
|
||||
"$TAGSF" "$1"
|
||||
}
|
||||
RPM_QUERY_FMT=rpm_qf # Tell the helper to use it instead of the 'rpm' binary.
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# Overrides helper's.
|
||||
#
|
||||
# @Mock
|
||||
#
|
||||
mcrpmfs_getDesription()
|
||||
{
|
||||
rpm_qf "%{_INFO}"
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------------------------
|
Loading…
Reference in New Issue
Block a user