commit:     3eb0cfe339e79270446731b8f27bdc1b060d023b
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Sep 27 10:40:42 2022 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Mon Oct  3 04:05:33 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3eb0cfe3

java-pkg-simple.eclass: improve test selection for multi-jar packages

Testing multi-jar packages was not properly supported.
With this change the tests_to_run are selected per module.

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/27491
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 eclass/java-pkg-simple.eclass | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index 6e38a07f66e8..7a9582393dd4 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -545,19 +545,21 @@ java-pkg-simple_src_test() {
        if [[ -n ${JAVA_TEST_RUN_ONLY} ]]; then
                tests_to_run="${JAVA_TEST_RUN_ONLY[@]}"
        else
-               tests_to_run=$(find "${classes}" -type f\
-                       \( -name "*Test.class"\
-                       -o -name "Test*.class"\
-                       -o -name "*Tests.class"\
-                       -o -name "*TestCase.class" \)\
-                       ! -name "*Abstract*"\
-                       ! -name "*BaseTest*"\
-                       ! -name "*TestTypes*"\
-                       ! -name "*TestUtils*"\
-                       ! -name "*\$*")
-               tests_to_run=${tests_to_run//"${classes}"\/}
-               tests_to_run=${tests_to_run//.class}
-               tests_to_run=${tests_to_run//\//.}
+               pushd "${JAVA_TEST_SRC_DIR}" > /dev/null || die
+                       tests_to_run=$(find * -type f\
+                               \( -name "*Test.java"\
+                               -o -name "Test*.java"\
+                               -o -name "*Tests.java"\
+                               -o -name "*TestCase.java" \)\
+                               ! -name "*Abstract*"\
+                               ! -name "*BaseTest*"\
+                               ! -name "*TestTypes*"\
+                               ! -name "*TestUtils*"\
+                               ! -name "*\$*")
+                       tests_to_run=${tests_to_run//"${classes}"\/}
+                       tests_to_run=${tests_to_run//.java}
+                       tests_to_run=${tests_to_run//\//.}
+               popd > /dev/null || die
 
                # exclude extra test classes, usually corner cases
                # that the code above cannot handle

Reply via email to