mirror of https://gitee.com/openkylin/jtreg6.git
Import Upstream version 6.2+1
This commit is contained in:
parent
fec4754979
commit
9d1b6ae4b3
|
@ -2,38 +2,41 @@ name: Build and Test JTReg
|
|||
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- master
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
|
||||
linux-x64:
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout the source
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: jtreg
|
||||
fetch-depth: 0
|
||||
- name: 'Check out repository'
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: build
|
||||
working-directory: jtreg
|
||||
shell: bash
|
||||
run: bash make/build.sh --jdk ${JAVA_HOME_8_X64}
|
||||
- name: 'Build JTReg'
|
||||
shell: bash
|
||||
run: |
|
||||
java --version
|
||||
bash make/build.sh --jdk ${JAVA_HOME_11_X64}
|
||||
|
||||
- name: upload artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: jtreg
|
||||
path: jtreg/build/images/jtreg
|
||||
|
||||
- name: test
|
||||
working-directory: jtreg
|
||||
shell: bash
|
||||
run:
|
||||
MAKE_ARGS=test
|
||||
HEADLESS=1
|
||||
JDK8HOME=${JAVA_HOME_8_X64}
|
||||
bash make/build.sh --jdk ${JAVA_HOME_8_X64} --skip-download
|
||||
- name: 'Run initial tests (goal: quick-test)'
|
||||
shell: bash
|
||||
env:
|
||||
MAKE_ARGS: quick-test
|
||||
HEADLESS: 1
|
||||
run: |
|
||||
bash make/build.sh --jdk ${JAVA_HOME_11_X64} --skip-download
|
||||
|
||||
- name: 'Run all tests (goal: test)'
|
||||
shell: bash
|
||||
env:
|
||||
MAKE_ARGS: test
|
||||
HEADLESS: 1
|
||||
run: |
|
||||
bash make/build.sh --jdk ${JAVA_HOME_11_X64} --skip-download
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
jtreg6 (6.1+2-ok1) yangtze; urgency=medium
|
||||
|
||||
* Build for openkylin.
|
||||
|
||||
-- sufang <sufang@kylinos.cn> Tue, 04 Apr 2023 14:01:40 +0800
|
|
@ -1,4 +0,0 @@
|
|||
dist/
|
||||
build/
|
||||
jtdiff.1
|
||||
jtreg.1
|
|
@ -1 +0,0 @@
|
|||
11
|
|
@ -1,38 +0,0 @@
|
|||
Source: jtreg6
|
||||
Section: java
|
||||
Priority: optional
|
||||
Maintainer: OpenKylin Developers <packaging@lists.openkylin.top>
|
||||
Build-Depends:
|
||||
ant,
|
||||
debhelper (>= 11),
|
||||
default-jdk,
|
||||
help2man,
|
||||
javahelp2,
|
||||
javahelper,
|
||||
libjtharness-java (>= 6.0),
|
||||
libxalan2-java,
|
||||
libhamcrest-java,
|
||||
testng
|
||||
Standards-Version: 4.6.0
|
||||
Vcs-Git: https://gitee.com/openkylin/jtreg6.git
|
||||
Vcs-Browser: https://gitee.com/openkylin/jtreg6
|
||||
Homepage: https://openjdk.java.net/jtreg
|
||||
Rules-Requires-Root: no
|
||||
|
||||
Package: jtreg6
|
||||
Architecture: all
|
||||
Depends:
|
||||
${java:Depends},
|
||||
${misc:Depends},
|
||||
javahelp2,
|
||||
libjtharness-java (>= 6.0),
|
||||
libhamcrest-java,
|
||||
libxalan2-java
|
||||
Recommends: testng
|
||||
Conflicts: jtreg
|
||||
Description: Regression Test Harness for the OpenJDK platform
|
||||
jtreg is the test harness used by the OpenJDK test framework.
|
||||
This framework is intended primarily for regression tests.
|
||||
It can also be used for unit tests, functional tests, and even simple product
|
||||
tests -- in other words, just about any type of test except a conformance test,
|
||||
which belong in a TCK.
|
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +0,0 @@
|
|||
README.md
|
||||
COPYRIGHT
|
||||
CONTRIBUTORS
|
|
@ -1,5 +0,0 @@
|
|||
dist/jtreg/lib/jtreg.jar /usr/share/java
|
||||
dist/jtreg/doc/jtreg/tag-spec.html /usr/share/doc/jtreg
|
||||
dist/jtreg/doc/jtreg/usage.txt /usr/share/doc/jtreg
|
||||
dist/jtreg/bin/jtdiff /usr/share/jtreg/bin
|
||||
dist/jtreg/bin/jtreg /usr/share/jtreg/bin
|
|
@ -1,18 +0,0 @@
|
|||
usr/share/jtreg/bin/jtreg /usr/bin/jtreg
|
||||
usr/share/jtreg/bin/jtdiff /usr/bin/jtdiff
|
||||
|
||||
usr/share/java/hamcrest-core.jar /usr/share/jtreg/lib/hamcrest-core.jar
|
||||
usr/share/java/javatest.jar /usr/share/jtreg/lib/javatest.jar
|
||||
usr/share/java/jcommander.jar /usr/share/jtreg/lib/jcommander.jar
|
||||
usr/share/java/jh.jar /usr/share/jtreg/lib/jh.jar
|
||||
usr/share/java/jtreg.jar /usr/share/jtreg/lib/jtreg.jar
|
||||
usr/share/java/junit4.jar /usr/share/jtreg/lib/junit.jar
|
||||
usr/share/java/testng.jar /usr/share/jtreg/lib/testng.jar
|
||||
|
||||
usr/share/java/hamcrest-core.jar /usr/share/jtreg/share/java/hamcrest-core.jar
|
||||
usr/share/java/javatest.jar /usr/share/jtreg/share/java/javatest.jar
|
||||
usr/share/java/jcommander.jar /usr/share/jtreg/share/java/jcommander.jar
|
||||
usr/share/java/jh.jar /usr/share/jtreg/share/java/jh.jar
|
||||
usr/share/java/jtreg.jar /usr/share/jtreg/share/java/jtreg.jar
|
||||
usr/share/java/junit4.jar /usr/share/jtreg/share/java/junit.jar
|
||||
usr/share/java/testng.jar /usr/share/jtreg/share/java/testng.jar
|
|
@ -1,2 +0,0 @@
|
|||
jtreg.1
|
||||
jtdiff.1
|
|
@ -1,20 +0,0 @@
|
|||
#!/bin/sh -e
|
||||
|
||||
# called by uscan with '--upstream-version' <version> <file>
|
||||
VERSION=$2
|
||||
DIR=jtreg-${VERSION}
|
||||
TAR=../jtreg_${VERSION}.orig.tar.gz
|
||||
|
||||
rm -f $3
|
||||
wget http://hg.openjdk.java.net/code-tools/jtreg/archive/jtreg$VERSION.tar.gz
|
||||
mv jtreg$VERSION.tar.gz $TAR
|
||||
|
||||
|
||||
# move to directory 'tarballs'
|
||||
if [ -r .svn/deb-layout ]; then
|
||||
. .svn/deb-layout
|
||||
mv $TAR $origDir
|
||||
echo "moved $TAR to $origDir"
|
||||
fi
|
||||
|
||||
exit 0
|
|
@ -1 +0,0 @@
|
|||
# You must remove unused comment lines for the released package.
|
|
@ -1,30 +0,0 @@
|
|||
#!/usr/bin/make -f
|
||||
|
||||
JAVA_HOME = /usr/lib/jvm/default-java
|
||||
|
||||
# version string has the form 6.1+N-D, the Debian release is not passed into the build
|
||||
VERSION := $(shell dpkg-parsechangelog --show-field Version | sed 's/+.*//')
|
||||
BUILD_NUMBER := $(shell dpkg-parsechangelog --show-field Version | sed 's/.*+\([0-9]*\).*/\1/')
|
||||
DATE := $(shell dpkg-parsechangelog --show-field Date)
|
||||
|
||||
%:
|
||||
dh $@ --with javahelper
|
||||
|
||||
override_dh_auto_build:
|
||||
ant -f make/build.xml \
|
||||
-Dant.jar=/usr/share/java/ant.jar \
|
||||
-Djtreg.build.resources=/usr/share/java \
|
||||
-Djh.jar=/usr/share/java/jh.jar \
|
||||
-Djhall.jar=/usr/share/java/jhall.jar \
|
||||
-Djunit.jar=/usr/share/java/junit4.jar \
|
||||
-Dtestng.jar=/usr/share/java/testng.jar \
|
||||
-Djavatest.jar=/usr/share/java/javatest.jar \
|
||||
-Dbuild.date.time='$(DATE)' \
|
||||
-Dbuild.version=$(VERSION) \
|
||||
-Dbuild.milestone=src \
|
||||
-Dbuild.number=$(BUILD_NUMBER)
|
||||
dh_auto_build
|
||||
|
||||
# Generate the manpages
|
||||
JT_HOME=./dist/jtreg/lib/ help2man --name="Regression Test Harness" --help-option="-help all" dist/jtreg/bin/jtdiff > jtdiff.1
|
||||
JT_HOME=./dist/jtreg/lib/ help2man --name="Regression Test Harness" --help-option="-help all" dist/jtreg/bin/jtreg > jtreg.1
|
|
@ -1 +0,0 @@
|
|||
3.0 (native)
|
|
@ -1,2 +0,0 @@
|
|||
version=4
|
||||
https://github.com/openjdk/jtreg/tags .*/jtreg([\d\.]+(?:-b[0-9]+)?).tar.gz debian debian/orig-tar.sh
|
|
@ -39,7 +39,7 @@ LD_LIBRARY_PATH=
|
|||
|
||||
#----------------------------------------------------------------------
|
||||
#
|
||||
# Support for Cygwin and MSYS2 (which may identify as MSYS, MINGW32 or MINGW64 (the default))
|
||||
# Support for Cygwin
|
||||
|
||||
SYSTEM_UNAME := $(shell uname)
|
||||
|
||||
|
@ -53,15 +53,9 @@ endif
|
|||
|
||||
ifneq (,$(findstring CYGWIN,$(SYSTEM_UNAME)))
|
||||
USING_CYGWIN = true
|
||||
USING_CYGWIN_OR_USING_MSYS = true
|
||||
endif
|
||||
|
||||
ifneq (,$(findstring MSYS,$(SYSTEM_UNAME))$(findstring MINGW,$(SYSTEM_UNAME)))
|
||||
USING_MSYS = true
|
||||
USING_CYGWIN_OR_USING_MSYS = true
|
||||
endif
|
||||
|
||||
ifdef USING_CYGWIN_OR_USING_MSYS
|
||||
ifdef USING_CYGWIN
|
||||
define FullPath
|
||||
$(shell cygpath -a -m $1 2> $(DEV_NULL))
|
||||
endef
|
||||
|
|
|
@ -87,13 +87,13 @@ setup_shasum() {
|
|||
native_path() {
|
||||
check_arguments "${FUNCNAME}" 1 $#
|
||||
|
||||
if [ $CYGWIN_OR_MSYS -eq 1 ]; then echo $(cygpath -w $1); else echo "$1"; fi
|
||||
if [ $CYGWIN -eq 1 ]; then echo $(cygpath -w $1); else echo "$1"; fi
|
||||
}
|
||||
|
||||
mixed_path() {
|
||||
check_arguments "${FUNCNAME}" 1 $#
|
||||
|
||||
if [ $CYGWIN_OR_MSYS -eq 1 ]; then echo $(cygpath -m $1); else echo "$1"; fi
|
||||
if [ $CYGWIN -eq 1 ]; then echo $(cygpath -m $1); else echo "$1"; fi
|
||||
}
|
||||
|
||||
##
|
||||
|
@ -331,8 +331,4 @@ export ANT_ARCHIVE_URL_BASE="${ANT_ARCHIVE_URL_BASE:-https://archive.apache.org/
|
|||
|
||||
setup_shasum
|
||||
|
||||
##
|
||||
# Support for Cygwin and MSYS2 (which may identify as MSYS, MINGW32 or MINGW64 (the default))
|
||||
#
|
||||
case $(uname) in CYGWIN*|MSYS*|MINGW*) CYGWIN_OR_MSYS=1 ;; *) CYGWIN_OR_MSYS=0 ;; esac
|
||||
info "CYGWIN_OR_MSYS=$CYGWIN_OR_MSYS"
|
||||
case $(uname) in CYGWIN*) CYGWIN=1 ;; *) CYGWIN=0 ;; esac
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
# questions.
|
||||
#
|
||||
|
||||
JTREG_VERSION=6.1
|
||||
JTREG_VERSION=6.2
|
||||
|
||||
DEFAULT_ANT_VERSION=1.10.8
|
||||
DEFAULT_ANT_ARCHIVE_CHECKSUM=dbe187ce2963f9df8a67de8aaff3b0a437d06978
|
||||
|
|
|
@ -926,7 +926,7 @@ make ANT="${ANT}" \
|
|||
JCOV_JAR="${JCOV_JAR}" \
|
||||
JCOV_LICENSE="${JCOV_LICENSE}" \
|
||||
JCOV_NETWORK_SAVER_JAR="${JCOV_NETWORK_SAVER_JAR}" \
|
||||
JDKHOME="$(mixed_path ${JAVA_HOME})" \
|
||||
JDKHOME="${JAVA_HOME}" \
|
||||
JTHARNESS_COPYRIGHT="${JTHARNESS_COPYRIGHT}" \
|
||||
JTHARNESS_LICENSE="${JTHARNESS_LICENSE}" \
|
||||
JUNIT_JAR="$(mixed_path "${JUNIT_JAR}")" \
|
||||
|
|
|
@ -172,7 +172,7 @@
|
|||
|
||||
<target name="-compile-jtreg.classes">
|
||||
<mkdir dir="${build.classes.dir}"/>
|
||||
<javac encoding="iso-8859-1" release="8"
|
||||
<javac encoding="iso-8859-1" source="1.8" target="1.8"
|
||||
debug="true" debuglevel="source,lines"
|
||||
srcdir="${src.classes.dir}"
|
||||
destdir="${build.classes.dir}"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
jtregHome = /path/to/jtreg
|
||||
minBuild = 211
|
||||
pluginVersion = 1.13
|
||||
pluginVersion = 1.14
|
||||
javaLevel = 11
|
||||
notes = <ul>\
|
||||
<li>Fix compatibility with 2021.2</li>\
|
||||
<li>Fix debugging support for 2021.3</li>\
|
||||
</ul>
|
||||
|
|
Binary file not shown.
|
@ -1,5 +0,0 @@
|
|||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
|
@ -1,185 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
#
|
||||
# Copyright 2015 the original author or authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=`expr $i + 1`
|
||||
done
|
||||
case $i in
|
||||
0) set -- ;;
|
||||
1) set -- "$args0" ;;
|
||||
2) set -- "$args0" "$args1" ;;
|
||||
3) set -- "$args0" "$args1" "$args2" ;;
|
||||
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Escape application args
|
||||
save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=`save "$@"`
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
|
||||
exec "$JAVACMD" "$@"
|
|
@ -1,89 +0,0 @@
|
|||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
|
@ -124,7 +124,7 @@ class JTRegConfigurationRunnableState extends JavaTestFrameworkRunnableState<JTR
|
|||
|
||||
if (getEnvironment().getRunner() instanceof JTRegDebuggerRunner) {
|
||||
JTRegDebuggerRunner runner = (JTRegDebuggerRunner) getEnvironment().getRunner();
|
||||
javaParameters.getProgramParametersList().add("-debug:-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=127.0.0.1:" + runner.address);
|
||||
javaParameters.getProgramParametersList().add("-debug:-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=127.0.0.1:" + runner.address());
|
||||
boolean hasMode = false;
|
||||
for (String s : new String[] { "-ovm", "-othervm", "-avm", "-agentvm" }) {
|
||||
if (javaParameters.getProgramParametersList().hasParameter(s)) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2021 Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -36,7 +36,6 @@ import com.intellij.execution.ui.RunContentDescriptor;
|
|||
import com.oracle.plugin.jtreg.configuration.JTRegConfiguration;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import com.oracle.plugin.jtreg.configuration.JTRegConfiguration;
|
||||
|
||||
/**
|
||||
* A custom debugger executor that publicize port choices to external clients.
|
||||
|
@ -52,13 +51,22 @@ public class JTRegDebuggerRunner extends GenericDebuggerRunner {
|
|||
return profile instanceof JTRegConfiguration;
|
||||
}
|
||||
|
||||
public String address;
|
||||
private String address;
|
||||
|
||||
public String address() {
|
||||
return address;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull ExecutionEnvironment environment) throws ExecutionException {
|
||||
address = DebuggerUtils.getInstance().findAvailableDebugAddress(true);
|
||||
super.execute(environment);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
protected RunContentDescriptor createContentDescriptor(@NotNull final RunProfileState state,
|
||||
@NotNull final ExecutionEnvironment environment) throws ExecutionException {
|
||||
address = DebuggerUtils.getInstance().findAvailableDebugAddress(true);
|
||||
RemoteConnection connection = new RemoteConnection(true, "127.0.0.1", address, true);
|
||||
return attachVirtualMachine(state, environment, connection, true);
|
||||
}
|
||||
|
|
|
@ -37,10 +37,6 @@
|
|||
#
|
||||
# jtdiff also provides an Ant task for direct invocation from Ant.
|
||||
|
||||
if [ -z "${JT_HOME}" ]; then
|
||||
JT_HOME="/usr/share/jtreg"
|
||||
fi
|
||||
|
||||
# Determine jtdiff/JavaTest installation directory
|
||||
if [ -n "$JT_HOME" ]; then
|
||||
if [ ! -r $JT_HOME/lib/jtreg.jar ];then
|
||||
|
@ -100,7 +96,7 @@ if [ -n "$JT_JAVA" ]; then
|
|||
elif [ -n "$JAVA_HOME" ]; then
|
||||
JT_JAVA="$JAVA_HOME/bin/java"
|
||||
else
|
||||
JT_JAVA=/usr/lib/jvm/default-java/bin/java
|
||||
JT_JAVA=java
|
||||
fi
|
||||
|
||||
# Verify java version (1.)5 or newer used to run jtdiff
|
||||
|
|
|
@ -70,10 +70,6 @@ esac
|
|||
|
||||
# Determine jtreg installation directory
|
||||
JTREG_HOME=${JTREG_HOME:-$JT_HOME} # allow for old version of name
|
||||
if [ -z "${JTREG_HOME}" ]; then
|
||||
JTREG_HOME="/usr/share/jtreg"
|
||||
fi
|
||||
|
||||
if [ -n "$JTREG_HOME" ]; then
|
||||
if [ ! -r $JTREG_HOME/lib/jtreg.jar ];then
|
||||
echo "Invalid JTREG_HOME=$JTREG_HOME. Cannot find or read $JTREG_HOME/lib/jtreg.jar"
|
||||
|
@ -129,7 +125,7 @@ elif [ -n "$JAVA_HOME" ]; then
|
|||
elif [ -n "$jdk" ]; then
|
||||
JTREG_JAVA="$jdk/bin/java"
|
||||
else
|
||||
JTREG_JAVA=/usr/lib/jvm/default-java/bin/java
|
||||
JTREG_JAVA=java
|
||||
fi
|
||||
|
||||
# Fixup JTREG_JAVA, JTREG_HOME as needed, if using Cygwin or WSL
|
||||
|
|
|
@ -41,6 +41,7 @@ import java.util.Properties;
|
|||
import static com.sun.javatest.regtest.agent.AStatus.error;
|
||||
import static com.sun.javatest.regtest.agent.AStatus.passed;
|
||||
|
||||
@SuppressWarnings("removal") // Security Manager and related APIs
|
||||
public class ActionHelper {
|
||||
|
||||
// <editor-fold defaultstate="collapsed" desc=" Save State ">
|
||||
|
|
|
@ -56,6 +56,7 @@ import java.util.Set;
|
|||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
|
||||
@SuppressWarnings("removal") // Security Manager and related APIs
|
||||
public class AgentServer implements ActionHelper.OutputHandler {
|
||||
|
||||
/**
|
||||
|
|
|
@ -65,6 +65,7 @@ import java.util.Hashtable;
|
|||
*
|
||||
* @author Iris A Garcia
|
||||
*/
|
||||
// @SuppressWarnings("removal") // Applet and related APIs
|
||||
public class AppletWrapper
|
||||
{
|
||||
public static void main(String [] args) {
|
||||
|
@ -530,6 +531,7 @@ class CheckboxPanel extends Panel
|
|||
/**
|
||||
* This is the panel which contains the test applet.
|
||||
*/
|
||||
// @SuppressWarnings("removal") // Applet and related APIs
|
||||
class AppletPanel extends Panel
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
|
|
@ -42,6 +42,7 @@ import java.util.PropertyPermission;
|
|||
* by JDK1.0.2.
|
||||
*/
|
||||
|
||||
@SuppressWarnings("removal") // Security Manager and related APIs
|
||||
public class JavaTestSecurityManager extends SecurityManager
|
||||
{
|
||||
/**
|
||||
|
|
|
@ -28,6 +28,7 @@ package com.sun.javatest.regtest.agent;
|
|||
import java.security.Permission;
|
||||
import java.util.PropertyPermission;
|
||||
|
||||
@SuppressWarnings("removal") // Security Manager and related APIs
|
||||
public class RegressionSecurityManager extends JavaTestSecurityManager {
|
||||
/**
|
||||
* Try to install a copy of this security manager, up to but not including JDK 18.
|
||||
|
|
|
@ -627,8 +627,11 @@ public class JDK {
|
|||
|
||||
int rc = p.waitFor();
|
||||
if (rc != 0) {
|
||||
String msg = "failed to get JDK properties for "
|
||||
+ getJavaProg() + " " + StringUtils.join(vmOpts, " ") + "; exit code " + rc;
|
||||
for (String line : lines) {
|
||||
logger.accept(line);
|
||||
}
|
||||
String msg = String.format("failed to get JDK properties:%ncmd: \"%s\"%ncwd: \"%s\"%nexit code: %d",
|
||||
StringUtils.join(cmdArgs, "\" "), scratchDir, rc);
|
||||
logger.accept(msg);
|
||||
throw new Fault(msg);
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ package com.sun.javatest.regtest.config;
|
|||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
@ -967,8 +968,17 @@ public class RegressionParameters
|
|||
|
||||
if (jtClsDir.getName().equals("javatest.jar")) {
|
||||
File installDir = jtClsDir.getParentFile();
|
||||
// append jtreg.jar to the path
|
||||
javaTestClassPath.append(new File(installDir, "jtreg.jar"));
|
||||
// append jtreg.jar or exploded directory to the search path
|
||||
File jtreg = new File(installDir, "jtreg.jar");
|
||||
if (jtreg.exists()) {
|
||||
javaTestClassPath.append(jtreg);
|
||||
} else try {
|
||||
// use code source location of this class instead
|
||||
URL location = getClass().getProtectionDomain().getCodeSource().getLocation();
|
||||
javaTestClassPath.append(new File(location.toURI()));
|
||||
} catch (Exception e) { // including NullPointerException and URISyntaxException
|
||||
throw new RuntimeException("Computation of Java test class-path failed", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return javaTestClassPath;
|
||||
|
|
|
@ -295,7 +295,7 @@ public class TestManager {
|
|||
TestResultTable trt = wd.getTestResultTable();
|
||||
if (trt.validatePath(path)) {
|
||||
// bypass check when fragment syntax used
|
||||
if (path.matches("(?i).*#[a-z0-9]+"))
|
||||
if (path.matches(".*#[A-Za-z0-9-_]+"))
|
||||
return true;
|
||||
File rootDir = wd.getTestSuite().getRootDir();
|
||||
File f = new File(rootDir, path);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -638,7 +638,7 @@ public class AppletAction extends Action
|
|||
|
||||
//----------member variables---------------- --------------------------------
|
||||
|
||||
private String manual = "unset";
|
||||
private String manual = "unset"; // or "novalue", "done", "yesno"
|
||||
private boolean reverseStatus = false;
|
||||
private boolean othervm = false;
|
||||
private int timeout = -1;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -575,7 +575,6 @@ public class MainAction extends Action
|
|||
.append(jdk.getJDKClassPath())
|
||||
.append(script.getJUnitPath())
|
||||
.append(script.getTestNGPath())
|
||||
.append(new SearchPath("/usr/share/java/jcommander.jar"))
|
||||
.asList();
|
||||
|
||||
Version v = script.getRequiredVersion();
|
||||
|
@ -788,5 +787,5 @@ public class MainAction extends Action
|
|||
protected Set<String> othervmOverrideReasons = new LinkedHashSet<>();
|
||||
protected boolean nativeCode = false;
|
||||
private int timeout = -1;
|
||||
private String manual = "unset";
|
||||
private String manual = "unset"; // or "novalue"
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -492,7 +492,7 @@ public class RegressionScript extends Script {
|
|||
|
||||
/**
|
||||
* Get the timeout to be used for a test. Since the timeout for regression
|
||||
* tests is on a per action basis rather than on a per test basis, this
|
||||
* tests is on a per-action basis rather than on a per-test basis, this
|
||||
* method should always return zero which indicates that there is no
|
||||
* timeout.
|
||||
*
|
||||
|
@ -504,22 +504,22 @@ public class RegressionScript extends Script {
|
|||
}
|
||||
|
||||
/**
|
||||
* Get the timeout to be used for an action. The timeout will be scaled by
|
||||
* the timeoutFactor as necessary. The default timeout for any action as
|
||||
* per the tag-spec is 120 seconds scaled by a value found in the
|
||||
* environment ("javatestTimeoutFactor").
|
||||
* The timeout factor is available as both an integer (for backward
|
||||
* compatibility) and a floating point number
|
||||
* Returns the timeout to be used for an action.
|
||||
*
|
||||
* @param time The initial timeout which may need to be scaled according
|
||||
* to the provided timeoutFactor. If the initial timeout is
|
||||
* less than zero, then the default timeout will be returned.
|
||||
* @return The timeout in seconds.
|
||||
* If no debug options have been set, the result will be the given value,
|
||||
* or a default value if the given value is negative, scaled by the timeout factor.
|
||||
*
|
||||
* If debug options have been set, the result will be 0, meaning "no timeout".
|
||||
*
|
||||
* @param time the value of the timeout specified in the action,
|
||||
* or -1 if no value was specified
|
||||
* @return the timeout, in seconds
|
||||
*/
|
||||
protected int getActionTimeout(int time) {
|
||||
if (time < 0)
|
||||
time = 120;
|
||||
return (int) (time * getTimeoutFactor());
|
||||
final int DEFAULT_ACTION_TIMEOUT = 120; // seconds
|
||||
return isTimeoutsEnabled()
|
||||
? (int) ((time < 0 ? DEFAULT_ACTION_TIMEOUT : time) * getTimeoutFactor())
|
||||
: 0;
|
||||
}
|
||||
|
||||
protected float getTimeoutFactor() {
|
||||
|
@ -527,7 +527,9 @@ public class RegressionScript extends Script {
|
|||
// not synchronized, so in worst case may be set more than once
|
||||
float value = 1; // default
|
||||
try {
|
||||
// use [1] to get the floating point timeout factor
|
||||
// The timeout factor is available as both an integer (for backward compatibility)
|
||||
// and a floating point number.
|
||||
// Use [1] to get the floating point timeout factor
|
||||
String f = (regEnv == null ? null : regEnv.lookup("javatestTimeoutFactor")[1]);
|
||||
if (f != null)
|
||||
value = Float.parseFloat(f);
|
||||
|
@ -541,6 +543,16 @@ public class RegressionScript extends Script {
|
|||
|
||||
private static float cacheJavaTestTimeoutFactor = -1;
|
||||
|
||||
/**
|
||||
* Returns whether timeouts are (generally) enabled.
|
||||
*
|
||||
* @return {@code true} if timeouts are enabled, and {@code false} otherwise
|
||||
*/
|
||||
protected boolean isTimeoutsEnabled() {
|
||||
// for now, timeouts are always enabled, unless debug options have been specified for the test
|
||||
return getTestDebugOptions().isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set an alarm that will interrupt the calling thread after a specified
|
||||
* delay (in milliseconds), and repeatedly thereafter until canceled. The
|
||||
|
@ -817,20 +829,16 @@ public class RegressionScript extends Script {
|
|||
File md = workDir.getFile("modules");
|
||||
if (needJUnit)
|
||||
install(params.getJUnitPath(), md);
|
||||
if (needTestNG) {
|
||||
if (needTestNG)
|
||||
install(params.getTestNGPath(), md);
|
||||
install(new SearchPath("/usr/share/java/jcommander.jar"), md);
|
||||
}
|
||||
mp.append(md);
|
||||
}
|
||||
} else {
|
||||
if (needJUnit)
|
||||
cp.append(params.getJUnitPath());
|
||||
|
||||
if (needTestNG) {
|
||||
if (needTestNG)
|
||||
cp.append(params.getTestNGPath());
|
||||
cp.append(new SearchPath("/usr/share/java/jcommander.jar"));
|
||||
}
|
||||
}
|
||||
|
||||
// Extras:
|
||||
|
@ -922,10 +930,8 @@ public class RegressionScript extends Script {
|
|||
File md = workDir.getFile("modules");
|
||||
if (needJUnit)
|
||||
install(params.getJUnitPath(), md);
|
||||
if (needTestNG) {
|
||||
if (needTestNG)
|
||||
install(params.getTestNGPath(), md);
|
||||
install(new SearchPath("/usr/share/java/jcommander.jar"), md);
|
||||
}
|
||||
mp.append(md);
|
||||
}
|
||||
} else {
|
||||
|
@ -933,10 +939,8 @@ public class RegressionScript extends Script {
|
|||
if (needJUnit)
|
||||
fp.append(params.getJUnitPath());
|
||||
|
||||
if (needTestNG) {
|
||||
if (needTestNG)
|
||||
fp.append(params.getTestNGPath());
|
||||
fp.append(new SearchPath("/usr/share/java/jcommander.jar"));
|
||||
}
|
||||
}
|
||||
|
||||
// Extras:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -416,5 +416,5 @@ public class ShellAction extends Action
|
|||
|
||||
private boolean reverseStatus = false;
|
||||
private int timeout = -1;
|
||||
private String manual = "unset";
|
||||
private String manual = "unset"; // or "novalue"
|
||||
}
|
||||
|
|
|
@ -131,6 +131,7 @@ import static com.sun.javatest.regtest.tool.Option.ArgType.*;
|
|||
/**
|
||||
* Main entry point to be used to access jtreg.
|
||||
*/
|
||||
@SuppressWarnings("removal") // Security Manager and related APIs
|
||||
public class Tool {
|
||||
|
||||
/**
|
||||
|
@ -994,7 +995,7 @@ public class Tool {
|
|||
? Pattern.compile("(|[^A-Za-z]|.{2,}):[A-Za-z0-9_,]+")
|
||||
: Pattern.compile(".*:[A-Za-z0-9_,]+");
|
||||
|
||||
Pattern fileIdPtn = Pattern.compile("(?i).*#[a-z0-9]+");
|
||||
Pattern fileIdPtn = Pattern.compile(".*#[A-Za-z0-9-_]+");
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -1995,13 +1996,24 @@ public class Tool {
|
|||
try {
|
||||
// work around bug CODETOOLS-7900214 -- force the sections to be reloaded
|
||||
tr.getProperty("sections");
|
||||
String section, stream;
|
||||
int sep = showStream.indexOf("/");
|
||||
if (sep == -1) {
|
||||
section = null;
|
||||
stream = showStream;
|
||||
} else {
|
||||
section = showStream.substring(0, sep);
|
||||
stream = showStream.substring(sep + 1);
|
||||
}
|
||||
for (int i = 0; i < tr.getSectionCount(); i++) {
|
||||
TestResult.Section s = tr.getSection(i);
|
||||
String text = s.getOutput(showStream);
|
||||
// need to handle internal newlines properly
|
||||
if (text != null) {
|
||||
out.println("### Section " + s.getTitle());
|
||||
out.println(text);
|
||||
if (section == null || section.equals(s.getTitle())) {
|
||||
String text = s.getOutput(stream);
|
||||
// need to handle internal newlines properly
|
||||
if (text != null) {
|
||||
out.println("### Section " + s.getTitle());
|
||||
out.println(text);
|
||||
}
|
||||
}
|
||||
}
|
||||
ok = true;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 1999, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1999, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -32,7 +32,7 @@ help.cmd.introHead=For brief details about a topic, use "-help <term> ...". \
|
|||
available for the following topics.\n
|
||||
help.cmd.fullHead=
|
||||
help.cmd.summaryHead=Information is available for the following topics:
|
||||
help.copyright.txt=Copyright (c) 1999, 2021, Oracle and/or its affiliates. \
|
||||
help.copyright.txt=Copyright (c) 1999, 2022, Oracle and/or its affiliates. \
|
||||
All rights reserved.\nUse is subject to license terms.
|
||||
help.cmd.noEntriesFound=No entries were found that matched your query.
|
||||
|
||||
|
@ -157,6 +157,7 @@ help.jdk.vmoptions.arg=<option>...
|
|||
help.jdk.debug.desc=Use this to specify VM options to attach a debugger \
|
||||
to a VM running a test. It is similar to -vmoptions except that it is not used \
|
||||
when starting VMs used to query the properties of that VM. \
|
||||
Any timeout for a test is automatically disabled when this option is used. \
|
||||
See also -javaoptions and -vmoptions.
|
||||
help.jdk.debug.arg=<option>...
|
||||
help.jdk.agentlib.desc=Load native agent library
|
||||
|
@ -242,9 +243,14 @@ help.main.startHttpd.desc=Start the http server to view test results
|
|||
help.main.showGroups.desc=Show the expansion (to files and directories) of the \
|
||||
groups given on the command line. To see the expansion of all the groups \
|
||||
in a test suite, specify the name of the test suite.
|
||||
help.main.show.desc=Show information from a section in the results file for a test. \
|
||||
For example, -show:rerun
|
||||
help.main.show.arg=<section-name>
|
||||
help.main.show.desc=Show the contents of a stream in a specific section or in all \
|
||||
sections of the results file for a test. \
|
||||
The content is shown as originally written to the stream: \
|
||||
that is, without the escape encoding used in the .jtr file. \
|
||||
If no section name is given, the output for the named stream in all sections \
|
||||
is shown.\n\
|
||||
For example, -show:rerun -show:main/System.out
|
||||
help.main.show.arg=[<section-name>/]<stream-name>
|
||||
|
||||
help.main.w.desc=Location for .class files, .jtr files, etc. "./JTwork" is default
|
||||
help.main.w.arg=<directory>
|
||||
|
|
|
@ -24,7 +24,7 @@ The following sections provide the recommended system requirements for running
|
|||
jtreg.
|
||||
|
||||
- Java platform
|
||||
A platform equivalent to JDK 1.7.0 or later is required.
|
||||
A platform equivalent to JDK 1.8.0 or later is required.
|
||||
|
||||
- Memory
|
||||
It is recommended that you run jtreg on a computer having at least 256M of
|
||||
|
|
|
@ -327,10 +327,10 @@ file called `Hello.jtr`. These files reside in the
|
|||
work directory which contains a directory hierarchy that
|
||||
parallels the test source structure.
|
||||
|
||||
Blocks of text within a .jtr file use `\` to escape certain characters
|
||||
Blocks of text within a .jtr file use `\` to [escape](#jtr-encoding) certain characters
|
||||
(including `\` itself). This needs to be taken into account if you
|
||||
view the contents of the file directly. If you use the GUI, or use
|
||||
the jtreg `-show` option, the escapes are automatically taken into acocunt.
|
||||
the jtreg `-show` option, the escapes are automatically taken into account.
|
||||
|
||||
### What's the difference between the "fail" and "error" return status?
|
||||
|
||||
|
@ -818,6 +818,9 @@ using the `-timeoutHandler` and `-timeoutHanderDir` options. The default
|
|||
timeout handler will try and call `jstack` to generate stack traces of all
|
||||
the Java threads running in the JVM being used for the action.
|
||||
|
||||
Test timeouts are automatically disabled when a test is being debugged,
|
||||
as indicated by the use of the `-debug` option.
|
||||
|
||||
For all timeout-related options, use `jtreg -help timeout`.
|
||||
|
||||
### How do I run only tests which were written for a specific bugid?
|
||||
|
@ -838,10 +841,11 @@ You have several alternatives.
|
|||
|
||||
1. Use the `-verbose:all` option, or the related result-sensitive
|
||||
options `-verbose:pass`, `-verbose:fail`, `-verbose:error`.
|
||||
2. Use the JavaTest harness GUI.
|
||||
3. View the test's `.jtr` file.
|
||||
4. Use the `-show` option. For example,
|
||||
* `jtreg -show:System.out` _test-name_
|
||||
2. Use the JavaTest (JT Harness) harness GUI.
|
||||
3. View the test's `.jtr` file.
|
||||
_Note: some characters in the file may be [encoded](#jtr-encoding)._
|
||||
4. Use the `-show` option to display the unencoded content of a stream. For example,
|
||||
* `jtreg -w` _work-dir_ `-show:System.out` _test-name_
|
||||
|
||||
### How do I see what groups are defined in my test suite?
|
||||
|
||||
|
@ -857,6 +861,47 @@ Use the `-listtests` option.
|
|||
|
||||
$ jtreg -listtests test/langtools/jdk/javadoc/doclet
|
||||
|
||||
### Why are there extra `\` characters in the output from a test in a .jtr file? {#jtr-encoding}
|
||||
|
||||
By design, the contents of a `.jtr` file, including any output from tests, is represented in a way
|
||||
that can be read back in again by `jtreg` and related tools. To that end, characters that are not
|
||||
standard ASCII characters (printable characters, and `CR`, `LF`, `SP`, `HT`) are encoded with escape sequences..
|
||||
Characters outside that set are represented by `\uXXXX`, and `\` itself as written as `\\`.
|
||||
Anyone viewing the contents of a `.jtr` directly, such as in a plain-text editor, or using
|
||||
command-line tools like `grep` need to be aware of that encoding and take it into account.
|
||||
|
||||
To view the unencoded output from a test that has been recorded in a `.jtr` file,
|
||||
use the `jtreg` `-show:name` option.
|
||||
|
||||
$ jtreg -w:/path/to/work-dir -show:System.out /path/to/test
|
||||
|
||||
The `-show` option can also be used to see the `rerun` script that is provided in the `.jtr` file,
|
||||
and which may also contain escape sequences. This script allows you to [rerun the test stand-alone](#rerun),
|
||||
without the use of the `jtreg` infrastructure.
|
||||
|
||||
### What names can I use with the `-show` option
|
||||
|
||||
All recent versions of `jtreg` accept the name of an output stream as the name.
|
||||
|
||||
$ jtreg ... -show:stream-name ...
|
||||
|
||||
The name of each output stream appears after a series of dashes and before a colon `:`
|
||||
in the `.jtr` file. For example, here is a heading for a stream named `System.out`:
|
||||
|
||||
----------System.out:(1/501)----------
|
||||
|
||||
More recent versions (6.2 onwards) support an optional section name as well.
|
||||
See the command-line help for specific details in the version you are using.
|
||||
|
||||
$ jtreg ... -show:section-name/stream-name
|
||||
|
||||
The name of all the sections appear in the `testresult` part of the `.jtr` file,
|
||||
and individually after `#section:` at the beginning of each section. For example,
|
||||
|
||||
sections=script_messages build compile build main
|
||||
|
||||
#section:compile
|
||||
|
||||
### Can I verify the correctness of test descriptions without actually running the tests?
|
||||
|
||||
Yes! The `-check` option to `jtreg` will find
|
||||
|
@ -874,7 +919,7 @@ The following sample output illustrates use of this option.
|
|||
Results written to /u/iag/jtw/JTwork
|
||||
Error: some tests failed or other problems occurred
|
||||
|
||||
### I'd like to run my test standalone, without using jtreg: how do I do that?
|
||||
### I'd like to run my test standalone, without using jtreg: how do I do that? {#rerun}
|
||||
|
||||
All tests are generally designed so that they can be run without using jtreg.
|
||||
Tests either have a `main` method, or can be run using a framework like TestNG or JUnit.
|
||||
|
@ -1253,6 +1298,17 @@ The discarded output will be replaced with a message like the following:
|
|||
set the system property javatest.maxOutputSize to a higher
|
||||
value. The current value is 100000.
|
||||
|
||||
|
||||
### How do I set `javatest.maxOutputSize`? {#how-to-set-javatest.maxOutputSize}
|
||||
|
||||
See the [previous entry](#how-much-output).
|
||||
|
||||
TL;DR: If you're trying to set `javatest.maxOutputSize`, it may be because you have seen a
|
||||
message in the middle of some very long output in a `.jtr` file. You can either
|
||||
set the default value with a system property for the JVM running jtreg (_not_ the JVM(s)
|
||||
used to run tests), or you can override the default value for some or all tests with the
|
||||
`maxOutputSize` property in the `TEST.ROOT` or `TEST.properties` configuration files.
|
||||
|
||||
### How much time can a test take? {#how-much-time}
|
||||
|
||||
jtreg limits the amount of time that may be used to execute each action of the
|
||||
|
@ -1749,7 +1805,7 @@ You can use `@run driver` to run a class that provides more complex logic, if ne
|
|||
|
||||
### My test uses "preview features": how do I specify the necessary options?
|
||||
|
||||
Tests that use preview features must use the `--enable-option` to compile
|
||||
Tests that use preview features must use the `--enable-preview` to compile
|
||||
and run the code. In addition, to compile the code you must also specify the
|
||||
appropriate source level.
|
||||
|
||||
|
|
Loading…
Reference in New Issue