From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 760B01382C5 for ; Sat, 13 Mar 2021 09:54:10 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 7ECCBE086C; Sat, 13 Mar 2021 09:54:09 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 67EF0E086C for ; Sat, 13 Mar 2021 09:54:09 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 66697340139 for ; Sat, 13 Mar 2021 09:54:08 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 05E2F573 for ; Sat, 13 Mar 2021 09:54:07 +0000 (UTC) From: "Fabian Groffen" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Fabian Groffen" Message-ID: <1615629234.1cff42d8e2a83f810aba7f77eb3f5128d8074a4b.grobian@gentoo> Subject: [gentoo-commits] repo/proj/prefix:master commit in: eclass/ X-VCS-Repository: repo/proj/prefix X-VCS-Files: eclass/java-utils-2.eclass X-VCS-Directories: eclass/ X-VCS-Committer: grobian X-VCS-Committer-Name: Fabian Groffen X-VCS-Revision: 1cff42d8e2a83f810aba7f77eb3f5128d8074a4b X-VCS-Branch: master Date: Sat, 13 Mar 2021 09:54:07 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 0f2200e7-6ac3-46ce-8102-11b8eea58404 X-Archives-Hash: b0bfccfee54db580e55aaf0df230f200 commit: 1cff42d8e2a83f810aba7f77eb3f5128d8074a4b Author: Fabian Groffen gentoo org> AuthorDate: Sat Mar 13 09:52:32 2021 +0000 Commit: Fabian Groffen gentoo org> CommitDate: Sat Mar 13 09:53:54 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=1cff42d8 java-utils-2.eclass: sync with gx86 Signed-off-by: Fabian Groffen gentoo.org> eclass/java-utils-2.eclass | 55 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 6 deletions(-) diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass index e8e8575eda..c4d980c607 100644 --- a/eclass/java-utils-2.eclass +++ b/eclass/java-utils-2.eclass @@ -1,4 +1,4 @@ -# Copyright 2004-2018 Gentoo Authors +# Copyright 2004-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: java-utils-2.eclass @@ -28,6 +28,8 @@ export WANT_JAVA_CONFIG="2" # Prefix variables are only available for EAPI>=3 has "${EAPI:-0}" 0 1 2 && ED="${D}" EPREFIX= EROOT="${ROOT}" +has test ${JAVA_PKG_IUSE} && RESTRICT+=" !test? ( test )" + # @VARIABLE: JAVA_PKG_E_DEPEND # @INTERNAL # @DESCRIPTION: @@ -264,7 +266,7 @@ java-pkg_addres() { } # @FUNCTION: java-pkg_rm_files -# @USAGE: java-pkg_rm_files File1.java File2.java ... +# @USAGE: [File2.java] ... # @DESCRIPTION: # Remove unneeded files in ${S}. # @@ -416,7 +418,7 @@ java-pkg_regjar() { # java-pkg_regjar ${ED}/opt/java/*.jar # such call will fall into this case (-e ${jar}) and will # record paths with ${D} in package.env - java-pkg_append_ JAVA_PKG_CLASSPATH "${jar#${D%/}}" + java-pkg_append_ JAVA_PKG_CLASSPATH "${jar#${D}}" else if [[ ${jar} = *\** ]]; then eerror "The argument ${jar} to ${FUNCNAME}" @@ -1863,6 +1865,44 @@ ejunit4() { ejunit_ "junit-4" "${@}" } +# @FUNCTION: etestng +# @USAGE: etestng_ [-cp $classpath] +# @INTERNAL +# @DESCRIPTION: +# Testng wrapper function. Makes it easier to run the tests. +# Launches the tests using org.testng.TestNG. +# +# @CODE +# $1 - -cp or -classpath +# $2 - the classpath passed to it +# $@ - test classes for testng to run. +# @CODE +etestng() { + debug-print-function ${FUNCNAME} $* + + local runner=org.testng.TestNG + local cp=$(java-pkg_getjars --with-dependencies testng) + local tests + + if [[ ${1} = -cp || ${1} = -classpath ]]; then + cp="${cp}:${2}" + shift 2 + else + cp="${cp}:." + fi + + for test in ${@}; do + tests+="${test}," + done + + debug-print "java -cp \"${cp}\" -Djava.io.tmpdir=\"${T}\""\ + "-Djava.awt.headless=true ${runner}"\ + "-usedefaultlisteners false -testclass ${tests}" + java -cp "${cp}" -Djava.io.tmpdir=\"${T}\" -Djava.awt.headless=true\ + ${runner} -usedefaultlisteners false -testclass ${tests}\ + || die "Running TestNG failed." +} + # @FUNCTION: java-utils-2_src_prepare # @DESCRIPTION: # src_prepare Searches for bundled jars @@ -2737,10 +2777,13 @@ java-pkg_jar-list() { java-pkg_verify-classes() { #$(find ${ED} -type f -name '*.jar' -o -name '*.class') - local version_verify="${EPREFIX}/usr/bin/class-version-verify.py" + local version_verify_1="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/class-version-verify.py" + local version_verify_2="${EPREFIX}/usr/libexec/javatoolkit/class-version-verify.py" - if [[ ! -x "${version_verify}" ]]; then - version_verify="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/class-version-verify.py" + if [[ -x "${version_verify_1}" ]]; then + local version_verify=${version_verify_1} + else + local version_verify=${version_verify_2} fi if [[ ! -x "${version_verify}" ]]; then