FYI: I had to disable JUnit for our Linux buildbots (trunk) because now it is found to be to old on those machines (Ubuntu 14.04).
Regards, Matthias Am 23.08.2018 um 08:01 schrieb [email protected]: > Author: damjan > Date: Thu Aug 23 06:01:40 2018 > New Revision: 1838693 > > URL: http://svn.apache.org/viewvc?rev=1838693&view=rev > Log: > Beef up detection of JUnit and Hamcrest, to search all the system > directories they could be in, and search for all the names they > commonly use. > > Check for versions of JUnit that require Hamcrest. > > Use Hamcrest in Ant JUnit tests when present. > > Patch by: me > > > Modified: > openoffice/trunk/main/configure.ac > openoffice/trunk/main/solenv/ant/aoo-ant.xml > > Modified: openoffice/trunk/main/configure.ac > URL: > http://svn.apache.org/viewvc/openoffice/trunk/main/configure.ac?rev=1838693&r1=1838692&r2=1838693&view=diff > ============================================================================== > --- openoffice/trunk/main/configure.ac (original) > +++ openoffice/trunk/main/configure.ac Thu Aug 23 06:01:40 2018 > @@ -681,9 +681,9 @@ AC_ARG_WITH(hamcrest-core, > [ --with-hamcrest-core Specifies the hamcrest-core jar file to use for > JUnit-based tests. --without-junit disables those > tests. Not relevant in the --without-java or > - --without-junit cases, and only needed for recent > - versions of JUnit. (Default: disabled.) > -],,with_hamcrest_core=no) > + --without-junit cases, and only needed for JUnit > + >= 4.11. > +],,with_hamcrest_core=yes) > AC_ARG_WITH(perl-home, > [ --with-perl-home If you have installed the Perl 5 Distribution, on > your > system, please supply the path here. > @@ -7170,66 +7170,139 @@ fi > rm -f conftest* core core.* *.core > > OOO_JUNIT_JAR= > +JUNIT_NEEDS_HAMCREST= > if test "$SOLAR_JAVA" != "" && test "$with_junit" != "no"; then > - AC_MSG_CHECKING([for JUnit 4]) > + AC_MSG_CHECKING([for JUnit]) > if test "$with_junit" = "yes"; then > if test -e /usr/share/java/junit4.jar; then > - OOO_JUNIT_JAR=/usr/share/java/junit4.jar > + OOO_JUNIT_JAR=/usr/share/java/junit4.jar > else > - if test -e /usr/share/lib/java/junit.jar; then > - OOO_JUNIT_JAR=/usr/share/lib/java/junit.jar > + if test -e /usr/local/share/java/classes/junit4.jar; then > + OOO_JUNIT_JAR=/usr/local/share/java/classes/junit4.jar > else > - OOO_JUNIT_JAR=/usr/share/java/junit.jar > + if test -e /usr/share/lib/java/junit.jar; then > + OOO_JUNIT_JAR=/usr/share/lib/java/junit.jar > + else > + if test -e /usr/share/local/lib/java/junit.jar; then > + OOO_JUNIT_JAR=/usr/share/local/lib/java/junit.jar > + else > + if test -e /usr/share/java/junit.jar; then > + OOO_JUNIT_JAR=/usr/share/java/junit.jar > + else > + if test -e /usr/local/share/java/classes/junit.jar; > then > + > OOO_JUNIT_JAR=/usr/local/share/java/classes/junit.jar > + fi > + fi > + fi > + fi > fi > fi > else > OOO_JUNIT_JAR=$with_junit > fi > + if test -e "$OOO_JUNIT_JAR"; then > + AC_MSG_RESULT([yes]) > + else > + AC_MSG_ERROR([cannot find JUnit 4 jar; please install one in the > default > +locations (/usr/share/java or /usr/local/share/java/classes), specify its > pathname via > +--with-junit=..., or disable it via --without-junit.]) > + fi > if test "$_os" = "WINNT"; then > OOO_JUNIT_JAR=`cygpath -m "$OOO_JUNIT_JAR"` > fi > - "$JAVA_HOME/bin/jar" tf "$OOO_JUNIT_JAR" 2>&5 | \ > - $GREP org/junit/Before.class > /dev/null 2>&5 > - if test $? -eq 0; then > - AC_MSG_RESULT([$OOO_JUNIT_JAR]) > + AC_MSG_CHECKING([whether JUnit is version 4.x]) > + export OOO_JUNIT_JAR > + if $PERL -e 'use Archive::Zip; > + my $file = "$ENV{'OOO_JUNIT_JAR'}"; > + my $zip = Archive::Zip->new( $file ); > + my $mf = $zip->contents ( "META-INF/MANIFEST.MF" ); > + if ( $mf =~ m/Implementation-Version: 4.12*/ ) { > + exit 0; > + } elsif ( $mf =~ m/Implementation-Version: 4.11*/ ) { > + exit 0; > + } else { > + exit 1; > + }'; then > + AC_MSG_RESULT([yes, but Hamcrest Core is mandatory with this JUnit > version (>= 4.11)]) > + JUNIT_NEEDS_HAMCREST=yes > + elif $PERL -e 'use Archive::Zip; > + my $file = "$ENV{'OOO_JUNIT_JAR'}"; > + my $zip = Archive::Zip->new( $file ); > + my $mf = $zip->contents ( "META-INF/MANIFEST.MF" ); > + if ( $mf =~ m/Implementation-Version: 4.*/ ) { > + exit 0; > + } else { > + exit 1; > + }'; then > + AC_MSG_RESULT([yes]) > else > - AC_MSG_RESULT([no]) > - AC_MSG_ERROR([cannot find JUnit 4 jar; please install one in the > default > -location (/usr/share/java), specify its pathname via > ---with-junit=..., or disable it via --without-junit]) > + AC_MSG_ERROR([no, your JUnit version is too old, you need JUnit 4.x]) > fi > fi > AC_SUBST(OOO_JUNIT_JAR) > > HAMCREST_CORE_JAR= > -if test "$SOLAR_JAVA" != "" && test "$with_junit" != "no" && test > "$with_hamcrest_core" != "no"; then > +if test "$SOLAR_JAVA" != "" && test "$with_hamcrest_core" != "no"; then > AC_MSG_CHECKING([for hamcrest-core]) > if test "$with_hamcrest_core" = "yes"; then > - if test -e /usr/share/java/hamcrest-core-1.3.jar; then > + if test "$HAMCREST_CORE_JAR" = "" && test -e > /usr/share/java/hamcrest-core-1.3.jar; then > HAMCREST_CORE_JAR=/usr/share/java/hamcrest-core-1.3.jar > - else > - if test -e /usr/share/lib/java/hamcrest-core.jar; then > - HAMCREST_CORE_JAR=/usr/share/lib/java/hamcrest-core.jar > - else > - HAMCREST_CORE_JAR=/usr/share/java/hamcrest-core.jar > - fi > + fi > + if test "$HAMCREST_CORE_JAR" = "" && test -e > /usr/local/share/java/classes/hamcrest-core-1.3.jar; then > + > HAMCREST_CORE_JAR=/usr/local/share/java/classes/hamcrest-core-1.3.jar > + fi > + if test "$HAMCREST_CORE_JAR" = "" && test -e > /usr/share/lib/java/hamcrest-core.jar; then > + HAMCREST_CORE_JAR=/usr/share/lib/java/hamcrest-core.jar > + fi > + if test "$HAMCREST_CORE_JAR" = "" && test -e > /usr/local/share/lib/java/hamcrest-core.jar; then > + HAMCREST_CORE_JAR=/usr/local/share/lib/java/hamcrest-core.jar > + fi > + if test "$HAMCREST_CORE_JAR" = "" && test -e > /usr/share/java/hamcrest-core.jar; then > + HAMCREST_CORE_JAR=/usr/share/java/hamcrest-core.jar > + fi > + if test "$HAMCREST_CORE_JAR" = "" && test -e > /usr/local/share/java/classes/hamcrest-core.jar; then > + HAMCREST_CORE_JAR=/usr/local/share/java/classes/hamcrest-core.jar > + fi > + # Sometimes the "-core-" part is missing... > + if test "$HAMCREST_CORE_JAR" = "" && test -e > /usr/share/java/hamcrest1.3.jar; then > + HAMCREST_CORE_JAR=/usr/share/java/hamcrest1.3.jar > + fi > + if test "$HAMCREST_CORE_JAR" = "" && test -e > /usr/local/share/java/classes/hamcrest1.3.jar; then > + HAMCREST_CORE_JAR=/usr/local/share/java/classes/hamcrest1.3.jar > + fi > + if test "$HAMCREST_CORE_JAR" = "" && test -e > /usr/share/lib/java/hamcrest.jar; then > + HAMCREST_CORE_JAR=/usr/share/lib/java/hamcrest.jar > + fi > + if test "$HAMCREST_CORE_JAR" = "" && test -e > /usr/local/share/lib/java/hamcrest.jar; then > + HAMCREST_CORE_JAR=/usr/local/share/lib/java/hamcrest.jar > + fi > + if test "$HAMCREST_CORE_JAR" = "" && test -e > /usr/share/java/hamcrest.jar; then > + HAMCREST_CORE_JAR=/usr/share/java/hamcrest.jar > + fi > + if test "$HAMCREST_CORE_JAR" = "" && test -e > /usr/local/share/java/classes/hamcrest.jar; then > + HAMCREST_CORE_JAR=/usr/local/share/java/classes/hamcrest.jar > fi > else > HAMCREST_CORE_JAR=$with_hamcrest_core > fi > - if test "$_os" = "WINNT"; then > - HAMCREST_CORE_JAR=`cygpath -m "$HAMCREST_CORE_JAR"` > - fi > - export HAMCREST_CORE_JAR > - "$JAVA_HOME/bin/jar" tf "$HAMCREST_CORE_JAR" 2>&5 | \ > - $GREP org/hamcrest/core/AllOf.class > /dev/null 2>&5 > - if test $? -eq 0; then > - AC_MSG_RESULT([$HAMCREST_CORE_JAR]) > + if test -e "$HAMCREST_CORE_JAR"; then > + AC_MSG_RESULT([yes]) > + if test "$_os" = "WINNT"; then > + HAMCREST_CORE_JAR=`cygpath -m "$HAMCREST_CORE_JAR"` > + fi > else > - AC_MSG_ERROR([cannot find hamcrest-core jar; please install one in > the > -default location (/usr/share/java), specify its > + if test "$JUNIT_NEEDS_HAMCREST" = "yes"; then > + AC_MSG_ERROR([cannot find hamcrest-core jar; please install one > in the > +default locations (/usr/share/java or /usr/local/share/java/classes), > specify its > pathname via --with-hamcrest-core=..., or disable > -it via --without-hamcrest-core]) > +it via --without-hamcrest-core or --without-junit]) > + else > + AC_MSG_RESULT([no, skipping]) > + fi > + fi > +else > + if test "$JUNIT_NEEDS_HAMCREST" = "yes"; then > + AC_MSG_ERROR([JUnit needs Hamcrest but Hamcrest disabled.]) > fi > fi > AC_SUBST(HAMCREST_CORE_JAR) > > Modified: openoffice/trunk/main/solenv/ant/aoo-ant.xml > URL: > http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/ant/aoo-ant.xml?rev=1838693&r1=1838692&r2=1838693&view=diff > ============================================================================== > --- openoffice/trunk/main/solenv/ant/aoo-ant.xml (original) > +++ openoffice/trunk/main/solenv/ant/aoo-ant.xml Thu Aug 23 06:01:40 2018 > @@ -76,6 +76,7 @@ > <path refid="test.classpath" if:set="has.test.classpath"/> > <pathelement location="${idl.classes.build.dir}"/> > <pathelement location="${OOO_JUNIT_JAR}"/> > + <pathelement location="${HAMCREST_CORE_JAR}" > if:set="HAMCREST_CORE_JAR"/> > </path> > > <local name="has.idl.files"/> > > >
smime.p7s
Description: S/MIME Cryptographic Signature
