22 # |
22 # |
23 |
23 |
24 # @test |
24 # @test |
25 # @bug 4981566 5028634 5094412 6304984 |
25 # @bug 4981566 5028634 5094412 6304984 |
26 # @summary Check interpretation of -target and -source options |
26 # @summary Check interpretation of -target and -source options |
27 # |
|
28 # @build CheckClassFileVersion |
27 # @build CheckClassFileVersion |
29 # @run shell check.sh |
28 # @run shell check.sh |
30 |
29 |
31 TESTJAVA=${TESTJAVA:?} |
30 TESTJAVA=${TESTJAVA:?} |
32 TC=${TESTCLASSES-.} |
31 TC=${TESTCLASSES-.} |
33 |
32 |
34 J="$TESTJAVA/bin/java" |
33 J="$TESTJAVA/bin/java" |
46 V=$1; shift |
45 V=$1; shift |
47 echo "+ javac $* [$V]" |
46 echo "+ javac $* [$V]" |
48 $JC ${TESTTOOLVMOPTS} -d $TC $* $TC/X.java && $CFV $TC/X.class $V || exit 2 |
47 $JC ${TESTTOOLVMOPTS} -d $TC $* $TC/X.java && $CFV $TC/X.class $V || exit 2 |
49 } |
48 } |
50 |
49 |
51 check 50.0 |
|
52 check 48.0 -source 1.4 |
50 check 48.0 -source 1.4 |
|
51 |
53 check 49.0 -source 1.4 -target 1.5 |
52 check 49.0 -source 1.4 -target 1.5 |
54 check 49.0 -target 1.5 |
53 check 49.0 -source 1.5 -target 1.5 |
55 check 50.0 -source 1.5 |
54 |
56 check 50.0 -target 1.6 |
55 check 50.0 -source 1.4 -target 1.6 |
57 check 50.0 -target 6 |
56 check 50.0 -source 1.5 -target 1.6 |
58 check 50.0 -source 1.6 |
57 check 50.0 -source 1.6 -target 1.6 |
59 check 50.0 -source 6 |
58 check 50.0 -source 1.6 -target 6 |
|
59 check 50.0 -source 6 -target 1.6 |
|
60 check 50.0 -source 6 -target 6 |
|
61 |
|
62 check 51.0 |
|
63 check 51.0 -source 1.5 |
|
64 check 51.0 -source 1.6 |
|
65 check 51.0 -source 6 |
|
66 check 51.0 -source 1.7 |
|
67 check 51.0 -source 7 |
60 check 51.0 -target 1.7 |
68 check 51.0 -target 1.7 |
61 check 51.0 -target 7 |
69 check 51.0 -target 7 |
62 check 51.0 -source 1.7 |
|
63 check 51.0 -source 7 |
|
64 |
70 |
65 |
71 |
66 # Check source versions |
72 # Check source versions |
67 |
73 |
68 fail() { |
74 fail() { |
83 echo "-- failed" |
89 echo "-- failed" |
84 exit 4 |
90 exit 4 |
85 fi |
91 fi |
86 } |
92 } |
87 |
93 |
|
94 # the following need to be updated when -source 7 features are available |
88 checksrc14() { pass $* $TC/X.java; fail $* $TC/Y.java; } |
95 checksrc14() { pass $* $TC/X.java; fail $* $TC/Y.java; } |
89 checksrc15() { pass $* $TC/X.java; pass $* $TC/Y.java; } |
96 checksrc15() { pass $* $TC/X.java; pass $* $TC/Y.java; } |
90 checksrc16() { checksrc15 $* ; } |
97 checksrc16() { checksrc15 $* ; } |
|
98 checksrc17() { checksrc15 $* ; } |
91 |
99 |
92 checksrc14 -source 1.4 |
100 checksrc14 -source 1.4 |
93 checksrc14 -source 1.4 -target 1.5 |
101 checksrc14 -source 1.4 -target 1.5 |
94 |
102 |
95 checksrc15 |
|
96 checksrc15 -target 1.5 |
|
97 checksrc15 -source 1.5 |
103 checksrc15 -source 1.5 |
|
104 checksrc15 -source 1.5 -target 1.5 |
98 |
105 |
99 checksrc16 -target 1.6 |
|
100 checksrc16 -target 6 |
|
101 checksrc16 -source 1.6 |
106 checksrc16 -source 1.6 |
102 checksrc16 -source 6 |
107 checksrc16 -source 6 |
|
108 checksrc16 -source 1.6 -target 1.6 |
|
109 checksrc16 -source 6 -target 6 |
|
110 |
|
111 checksrc17 |
|
112 checksrc17 -target 1.7 |
|
113 checksrc17 -target 7 |
|
114 checksrc17 -source 1.7 |
|
115 checksrc17 -source 7 |
|
116 checksrc17 -source 1.7 -target 1.7 |
|
117 checksrc17 -source 7 -target 7 |
103 |
118 |
104 fail -source 1.5 -target 1.4 $TC/X.java |
119 fail -source 1.5 -target 1.4 $TC/X.java |
105 fail -source 1.6 -target 1.4 $TC/X.java |
120 fail -source 1.6 -target 1.4 $TC/X.java |
106 fail -source 6 -target 1.4 $TC/X.java |
121 fail -source 6 -target 1.4 $TC/X.java |
107 fail -source 1.6 -target 1.5 $TC/X.java |
122 fail -source 1.6 -target 1.5 $TC/X.java |