commit:     aff32e17fff196cc91e9c90115b83035b0710512
Author:     Mario Haustein <mario.haustein <AT> hrz <DOT> tu-chemnitz <DOT> de>
AuthorDate: Fri Dec 16 22:29:16 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec 16 22:57:10 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aff32e17

app-forensics/volatility3: enable tests

Signed-off-by: Mario Haustein <mario.haustein <AT> hrz.tu-chemnitz.de>
Closes: https://github.com/gentoo/gentoo/pull/28684
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../volatility3/volatility3-2.4.0-r1.ebuild        | 27 ++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/app-forensics/volatility3/volatility3-2.4.0-r1.ebuild 
b/app-forensics/volatility3/volatility3-2.4.0-r1.ebuild
index c167af282f11..042b1f014ec5 100644
--- a/app-forensics/volatility3/volatility3-2.4.0-r1.ebuild
+++ b/app-forensics/volatility3/volatility3-2.4.0-r1.ebuild
@@ -11,13 +11,20 @@ MY_PV=${PV//_beta/-beta.}
 
 DESCRIPTION="Framework for analyzing volatile memory"
 HOMEPAGE="https://github.com/volatilityfoundation/volatility3/ 
https://www.volatilityfoundation.org/";
-SRC_URI="https://github.com/volatilityfoundation/volatility3/archive/v${MY_PV}.tar.gz
 -> ${P}.gh.tar.gz"
+SRC_URI="
+       
https://github.com/volatilityfoundation/volatility3/archive/v${MY_PV}.tar.gz -> 
${P}.gh.tar.gz
+       test?
+       (
+               
https://downloads.volatilityfoundation.org/volatility3/images/win-xp-laptop-2005-06-25.img.gz
 -> ${PN}-win-xp-laptop-2005-06-25.img.gz
+               
https://downloads.volatilityfoundation.org/volatility3/images/linux-sample-1.bin.gz
 -> ${PN}-linux-sample-1.bin.gz
+       )
+"
 S="${WORKDIR}"/${PN}-${MY_PV}
 
 LICENSE="GPL-2+"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
-IUSE="crypt disasm jsonschema leechcore snappy yara"
+IUSE="crypt disasm jsonschema leechcore snappy test yara"
 
 RDEPEND="
        >=dev-python/pefile-2017.8.1[${PYTHON_USEDEP}]
@@ -33,3 +40,19 @@ DEPEND="${RDEPEND}"
 PATCHES=(
        "${FILESDIR}/${P}-dont-install-tests.patch"
 )
+
+# Tests require optional features
+REQUIRED_USE="test? ( yara )"
+
+RESTRICT="!test? ( test )"
+
+python_test()
+{
+       # see .github/workflows/test.yaml
+       "${EPYTHON}" "${S}/test/test_volatility.py" --volatility=vol.py \
+               --image "${WORKDIR}/${PN}-win-xp-laptop-2005-06-25.img" -k 
test_windows -v || \
+               die "Tests fail with ${EPYTHON}"
+       "${EPYTHON}" "${S}/test/test_volatility.py" --volatility=vol.py \
+               --image "${WORKDIR}/${PN}-linux-sample-1.bin" -k test_linux -v 
|| \
+               die "Tests fail with ${EPYTHON}"
+}

Reply via email to