test/tools/javac/versions/check.sh
Print this page
@@ -1,7 +1,7 @@
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2013, 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
@@ -20,11 +20,11 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# @test
-# @bug 4981566 5028634 5094412 6304984 7025786 7025789 8001112
+# @bug 4981566 5028634 5094412 6304984 7025786 7025789 8001112 8028545 8000961
# @summary Check interpretation of -target and -source options
# @build CheckClassFileVersion
# @run shell check.sh
TESTJAVA=${TESTJAVA:?}
@@ -42,11 +42,11 @@
# Check class-file versions
check() {
V=$1; shift
echo "+ javac $* [$V]"
- "$JC" ${TESTTOOLVMOPTS} -d $TC $* $TC/X.java && "$J" $CFV $TC/X.class $V || exit 2
+ "$JC" ${TESTTOOLVMOPTS} -Xlint:-options -d $TC $* $TC/X.java && "$J" $CFV $TC/X.class $V || exit 2
}
# check for all combinations of target values
check_target() {
check $1 -source $2 -target $3
@@ -76,28 +76,32 @@
check_target 52.0 1.5 8
check_source_target 52.0 6 8
check_source_target 52.0 7 8
check_source_target 52.0 8 8
+check_target 52.0 1.5 9
+check_source_target 52.0 8 9
+check_source_target 52.0 9 9
+
# and finally the default with no options
check 52.0
# Check source versions
fail() {
echo "+ javac $*"
- if "$JC" ${TESTTOOLVMOPTS} -d $TC $*; then
+ if "$JC" ${TESTTOOLVMOPTS} -Xlint:-options -d $TC $*; then
echo "-- did not fail as expected"
exit 3
else
echo "-- failed as expected"
fi
}
pass() {
echo "+ javac $*"
- if "$JC" ${TESTTOOLVMOPTS} -d $TC $*; then
+ if "$JC" ${TESTTOOLVMOPTS} -Xlint:options -d $TC $*; then
echo "-- passed"
else
echo "-- failed"
exit 4
fi
@@ -107,10 +111,11 @@
checksrc14() { pass $* $TC/X.java; fail $* $TC/Y.java; }
checksrc15() { pass $* $TC/X.java; pass $* $TC/Y.java; }
checksrc16() { checksrc15 $* ; }
checksrc17() { checksrc15 $* ; }
checksrc18() { checksrc15 $* ; }
+checksrc19() { checksrc15 $* ; }
checksrc14 -source 1.4
checksrc14 -source 1.4 -target 1.5
checksrc15 -source 1.5
@@ -124,21 +129,28 @@
checksrc17 -source 1.7
checksrc17 -source 7
checksrc17 -source 1.7 -target 1.7
checksrc17 -source 7 -target 7
-checksrc18
-checksrc18 -target 1.8
-checksrc18 -target 8
checksrc18 -source 1.8
checksrc18 -source 8
checksrc18 -source 1.8 -target 1.8
checksrc18 -source 8 -target 8
+checksrc19
+checksrc19 -source 1.9
+checksrc19 -source 9
+checksrc19 -source 1.9 -target 1.9
+checksrc19 -source 9 -target 9
+checksrc19 -target 1.9
+checksrc19 -target 9
+
fail -source 1.5 -target 1.4 $TC/X.java
fail -source 1.6 -target 1.4 $TC/X.java
fail -source 6 -target 1.4 $TC/X.java
fail -source 1.6 -target 1.5 $TC/X.java
fail -source 6 -target 1.5 $TC/X.java
fail -source 7 -target 1.6 $TC/X.java
fail -source 8 -target 1.6 $TC/X.java
fail -source 8 -target 1.7 $TC/X.java
+fail -source 9 -target 1.7 $TC/X.java
+fail -source 9 -target 1.8 $TC/X.java