From ac489776e5c17f2e6a91b0ee7603caa7ad797a4e Mon Sep 17 00:00:00 2001 From: Maciej Mrozowski Date: Mon, 30 Oct 2017 07:05:30 +0100 Subject: [PATCH] dev-libs/libmspack: Fix tests, bug #635776 Package-Manager: Portage-2.3.8, Repoman-2.3.4 --- .../files/libmspack-0.6_alpha-fix-tests.patch | 96 +++++++++++++++++++ dev-libs/libmspack/libmspack-0.6_alpha.ebuild | 4 + 2 files changed, 100 insertions(+) create mode 100644 dev-libs/libmspack/files/libmspack-0.6_alpha-fix-tests.patch diff --git a/dev-libs/libmspack/files/libmspack-0.6_alpha-fix-tests.patch b/dev-libs/libmspack/files/libmspack-0.6_alpha-fix-tests.patch new file mode 100644 index 000000000000..2f010d87a376 --- /dev/null +++ b/dev-libs/libmspack/files/libmspack-0.6_alpha-fix-tests.patch @@ -0,0 +1,96 @@ +From deb65056f436a4ce06946c4dde270f533e3cab4d Mon Sep 17 00:00:00 2001 +From: Stuart Caie +Date: Mon, 16 Oct 2017 13:59:05 +0100 +Subject: [PATCH] Fix cabd_test.c test and msdecompile_md5 script + +--- + libmspack/ChangeLog | 10 +++++++++ + libmspack/test/cabd_test.c | 3 ++- + libmspack/test/msdecompile_md5 | 47 +++++++++++++++++++++--------------------- + 3 files changed, 36 insertions(+), 24 deletions(-) + +diff --git a/libmspack/ChangeLog b/libmspack/ChangeLog +index 6861b19..4aef85f 100644 +--- a/libmspack/ChangeLog ++++ b/libmspack/ChangeLog +@@ -1,3 +1,13 @@ ++2017-10-16 Stuart Caie ++ ++ * test/cabd_test.c: update the short string tests to expect not only ++ MSPACK_ERR_DATAFORMAT but also MSPACK_ERR_READ, because of the recent ++ change to cabd_read_string(). Thanks to maitreyee43 for spotting this. ++ ++ * test/msdecompile_md5: update the setup instructions for this script, ++ and also change the script so it works with current Wine. Again, thanks ++ to maitreyee43 for trying to use it and finding it not working. ++ + 2017-08-13 Stuart Caie + + * src/chmextract.c: support MinGW one-arg mkdir(). Thanks to AntumDeluge +diff --git a/libmspack/test/cabd_test.c b/libmspack/test/cabd_test.c +index 5e8851c..abed65c 100644 +--- a/libmspack/test/cabd_test.c ++++ b/libmspack/test/cabd_test.c +@@ -186,7 +186,8 @@ void cabd_open_test_05() { + for (i = 0; i < (sizeof(str_files)/sizeof(char *)); i++) { + cab = cabd->open(cabd, str_files[i]); + TEST(cab == NULL); +- TEST(cabd->last_error(cabd) == MSPACK_ERR_DATAFORMAT); ++ TEST(cabd->last_error(cabd) == MSPACK_ERR_DATAFORMAT || ++ cabd->last_error(cabd) == MSPACK_ERR_READ); + } + + /* lack of data blocks should NOT be a problem for merely reading */ +diff --git a/libmspack/test/msdecompile_md5 b/libmspack/test/msdecompile_md5 +index a1d3b4b..9efbfac 100755 +--- a/libmspack/test/msdecompile_md5 ++++ b/libmspack/test/msdecompile_md5 +@@ -1,24 +1,25 @@ +-#!/usr/bin/perl -w +-# put hh.exe, hhctrl.ocx and itss.dll into this directory +-# for this script to work. You can get them by downloading +-# the HTML Help Workshop from Microsoft and then doing: +-# $ cabextract -F 'hh*' htmlhelp.exe +-# $ cabextract -F itircl.dll hhupd.exe +-# $ cabextract -F itss.dll hhupd.exe +-# $ cp -a itircl.dll ~/.wine/drive_c/windows/system32/ +-# $ cp -a itss.dll ~/.wine/drive_c/windows/system32/ +-# $ wine regsvr32 /s 'C:\WINDOWS\SYSTEM32\itircl.dll' +-# $ wine regsvr32 /s 'C:\WINDOWS\SYSTEM32\itss.dll' ++#!/bin/sh ++# This script needs the following setup to work: ++# - hh.exe and hhctrl.ocx copied to Wine's system32 ++# - itss.dll and itircl.dll installed as Wine DLLs ++# ++# Download the HTML Help Workshop (htmlhelp.exe) from Microsoft: ++# ++# https://msdn.microsoft.com/en-us/library/windows/desktop/ms669985(v=vs.85).aspx ++# ++# and then run these commands: ++# ++# cabextract htmlhelp.exe -F hhupd.exe ++# cabextract hhupd.exe -F hh.exe ++# cabextract hhupd.exe -F hhctrl.ocx ++# cabextract hhupd.exe -F itircl.dll ++# cabextract hhupd.exe -F itss.dll ++# mv hh.exe hhctrl.ocx itircl.dll itss.dll ~/.wine/drive_c/windows/system32/ ++# wine regsvr32 /s 'c:\windows\system32\itircl.dll' ++# wine regsvr32 /s 'c:\windows\system32\itss.dll' + +-use strict; +-use File::Temp qw(tempdir); +- +-die "Usage: $0 \n" unless @ARGV == 1; +-my $hh = $0; $hh =~ s{[^/]+$}{hh.exe}; +-my $dir = tempdir("./.tempXXXX", CLEANUP => 1); +- +-$ENV{LANG} = 'C'; +-$ENV{WINEDLLOVERRIDES}='hhctrl.ocx,itss=n'; +-print "*** $ARGV[0]\n"; +-system("wine $hh -decompile $dir $ARGV[0] 1>&2 && " . +- "cd $dir && find * -type f -print0 | xargs -0 md5sum"); ++dir=`mktemp -d` ++echo "*** $1" ++LANG=C WINEDLLOVERRIDES='hhctrl.ocx=n' wine hh -decompile $dir "$1" ++cd $dir && find * -type f -exec md5sum {} + ++rm -rf $dir diff --git a/dev-libs/libmspack/libmspack-0.6_alpha.ebuild b/dev-libs/libmspack/libmspack-0.6_alpha.ebuild index b8c96e78ed03..6a40351178f2 100644 --- a/dev-libs/libmspack/libmspack-0.6_alpha.ebuild +++ b/dev-libs/libmspack/libmspack-0.6_alpha.ebuild @@ -20,6 +20,10 @@ IUSE="debug doc static-libs" DEPEND="" RDEPEND="" +PATCHES=( + "${FILESDIR}/${P}-fix-tests.patch" +) + S="${WORKDIR}/${MY_P}" multilib_src_configure() { -- 2.26.2