diff options
Diffstat (limited to 'test/partest')
-rwxr-xr-x | test/partest | 57 |
1 files changed, 34 insertions, 23 deletions
diff --git a/test/partest b/test/partest index 8d94facba3..f396459c6d 100755 --- a/test/partest +++ b/test/partest @@ -46,29 +46,40 @@ if $cygwin; then SCALA_HOME=`cygpath --unix "$SCALA_HOME"` fi -# Constructing the extension classpath -EXT_CLASSPATH="" -if [ -z "$EXT_CLASSPATH" ] ; then - if [ -f "$SCALA_HOME/lib/scala-partest.jar" ] ; then - for ext in "$SCALA_HOME"/lib/* ; do - if [ -z "$EXT_CLASSPATH" ] ; then - EXT_CLASSPATH="$ext" - else - EXT_CLASSPATH="$EXT_CLASSPATH:$ext" - fi - done - elif [ -f "$SCALA_HOME/build/pack/lib/scala-partest.jar" ] ; then - for lib in `echo "scala-partest scala-library scala-parser-combinators scala-xml scala-reflect scala-compiler diffutils"`; do - ext="$SCALA_HOME/build/pack/lib/$lib.jar" - if [ -z "$EXT_CLASSPATH" ] ; then - EXT_CLASSPATH="$ext" - else - EXT_CLASSPATH="$EXT_CLASSPATH:$ext" - fi - done +# Let ant construct the classpath used to run partest (downloading partest from maven if necessary) +# PARTEST_CLASSPATH="" +if [ -z "$PARTEST_CLASSPATH" ] ; then + if [ ! -f "$SCALA_HOME/build/pack/partest.properties" ] ; then + (cd "$SCALA_HOME" && ant -q test.suite.init) # builds pack, downloads partest and writes classpath to build/pack/partest.properties fi + + PARTEST_CLASSPATH=$( cat "$SCALA_HOME/build/pack/partest.properties" | grep partest.classpath | sed -e 's/\\:/:/g' | cut -f2- -d= ) + + # sanity check, disabled to save time + # $( javap -classpath $PARTEST_CLASSPATH scala.tools.partest.nest.NestRunner &> /dev/null ) || unset PARTEST_CLASSPATH fi +# if [ -z "$PARTEST_CLASSPATH" ] ; then +# if [ -f "$SCALA_HOME/lib/scala-partest.jar" ] ; then +# for ext in "$SCALA_HOME"/lib/* ; do +# if [ -z "$PARTEST_CLASSPATH" ] ; then +# PARTEST_CLASSPATH="$ext" +# else +# PARTEST_CLASSPATH="$PARTEST_CLASSPATH:$ext" +# fi +# done +# elif [ -f "$SCALA_HOME/build/pack/lib/scala-partest.jar" ] ; then +# for lib in `echo "scala-partest scala-library scala-parser-combinators scala-xml scala-reflect scala-compiler diffutils"`; do +# ext="$SCALA_HOME/build/pack/lib/$lib.jar" +# if [ -z "$PARTEST_CLASSPATH" ] ; then +# PARTEST_CLASSPATH="$ext" +# else +# PARTEST_CLASSPATH="$PARTEST_CLASSPATH:$ext" +# fi +# done +# fi +# fi + # Locate a javac command # Try: JAVA_HOME, sibling to specific JAVACMD, or PATH # Don't fail if there is no javac, since not all tests require it. @@ -101,7 +112,7 @@ if $cygwin; then JAVAC_CMD=`cygpath --$format "$JAVAC_CMD"` fi SCALA_HOME=`cygpath --$format "$SCALA_HOME"` - EXT_CLASSPATH=`cygpath --path --$format "$EXT_CLASSPATH"` + PARTEST_CLASSPATH=`cygpath --path --$format "$PARTEST_CLASSPATH"` fi # last arg wins, so if JAVA_OPTS already contains -Xmx or -Xms the @@ -123,7 +134,7 @@ fi # be quoted: otherwise an empty string will appear as a command line # argument, and java will think that is the program to run. "${JAVACMD:=java}" \ - $JAVA_OPTS -cp "$EXT_CLASSPATH" \ + $JAVA_OPTS -cp "$PARTEST_CLASSPATH" \ ${partestDebugStr} \ ${color_opts} \ -Dfile.encoding=UTF-8 \ @@ -132,4 +143,4 @@ fi -Dpartest.java_opts="${JAVA_OPTS}" \ -Dpartest.scalac_opts="${SCALAC_OPTS}" \ -Dpartest.javac_cmd="${JAVAC_CMD}" \ - scala.tools.partest.nest.NestRunner "$@" + scala.tools.partest.nest.ConsoleRunner "$@" |