Wed, 28 Aug 2013 19:25:18 -0400
8023900: [TESTBUG] Initial compact profile test groups need adjusting
Reviewed-by: dcubed, mchung, hseigel
kvn@2979 | 1 | /* |
kvn@2979 | 2 | * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. |
kvn@2979 | 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
kvn@2979 | 4 | * |
kvn@2979 | 5 | * This code is free software; you can redistribute it and/or modify it |
kvn@2979 | 6 | * under the terms of the GNU General Public License version 2 only, as |
kvn@2979 | 7 | * published by the Free Software Foundation. |
kvn@2979 | 8 | * |
kvn@2979 | 9 | * This code is distributed in the hope that it will be useful, but WITHOUT |
kvn@2979 | 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
kvn@2979 | 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
kvn@2979 | 12 | * version 2 for more details (a copy is included in the LICENSE file that |
kvn@2979 | 13 | * accompanied this code). |
kvn@2979 | 14 | * |
kvn@2979 | 15 | * You should have received a copy of the GNU General Public License version |
kvn@2979 | 16 | * 2 along with this work; if not, write to the Free Software Foundation, |
kvn@2979 | 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
kvn@2979 | 18 | * |
kvn@2979 | 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
kvn@2979 | 20 | * or visit www.oracle.com if you need additional information or have any |
kvn@2979 | 21 | * questions. |
kvn@2979 | 22 | * |
kvn@2979 | 23 | */ |
kvn@2979 | 24 | |
kvn@2979 | 25 | /** |
kvn@2979 | 26 | * @test |
kvn@2979 | 27 | * @bug 7052494 |
kvn@2979 | 28 | * @summary Eclipse test fails on JDK 7 b142 |
kvn@2979 | 29 | * |
kvn@2979 | 30 | * @run main/othervm -Xbatch Test7052494 |
kvn@2979 | 31 | */ |
kvn@2979 | 32 | |
kvn@2979 | 33 | |
kvn@2979 | 34 | public class Test7052494 { |
kvn@2979 | 35 | |
kvn@2979 | 36 | static int test1(int i, int limit) { |
kvn@2979 | 37 | int result = 0; |
kvn@2979 | 38 | while (i++ != 0) { |
kvn@2979 | 39 | if (result >= limit) |
kvn@2979 | 40 | break; |
kvn@2979 | 41 | result = i*2; |
kvn@2979 | 42 | } |
kvn@2979 | 43 | return result; |
kvn@2979 | 44 | } |
kvn@2979 | 45 | |
kvn@2979 | 46 | static int test2(int i, int limit) { |
kvn@2979 | 47 | int result = 0; |
kvn@2979 | 48 | while (i-- != 0) { |
kvn@2979 | 49 | if (result <= limit) |
kvn@2979 | 50 | break; |
kvn@2979 | 51 | result = i*2; |
kvn@2979 | 52 | } |
kvn@2979 | 53 | return result; |
kvn@2979 | 54 | } |
kvn@2979 | 55 | |
kvn@2979 | 56 | static void test3(int i, int limit, int arr[]) { |
kvn@2979 | 57 | while (i++ != 0) { |
kvn@2979 | 58 | if (arr[i-1] >= limit) |
kvn@2979 | 59 | break; |
kvn@2979 | 60 | arr[i] = i*2; |
kvn@2979 | 61 | } |
kvn@2979 | 62 | } |
kvn@2979 | 63 | |
kvn@2979 | 64 | static void test4(int i, int limit, int arr[]) { |
kvn@2979 | 65 | while (i-- != 0) { |
kvn@2979 | 66 | if (arr[arr.length + i + 1] <= limit) |
kvn@2979 | 67 | break; |
kvn@2979 | 68 | arr[arr.length + i] = i*2; |
kvn@2979 | 69 | } |
kvn@2979 | 70 | } |
kvn@2979 | 71 | |
kvn@2979 | 72 | // Empty loop rolls through MAXINT if i > 0 |
kvn@3004 | 73 | |
kvn@3004 | 74 | static final int limit5 = Integer.MIN_VALUE + 10000; |
kvn@3004 | 75 | |
kvn@2979 | 76 | static int test5(int i) { |
kvn@2979 | 77 | int result = 0; |
kvn@3004 | 78 | while (i++ != limit5) { |
kvn@2979 | 79 | result = i*2; |
kvn@2979 | 80 | } |
kvn@2979 | 81 | return result; |
kvn@2979 | 82 | } |
kvn@2979 | 83 | |
kvn@2979 | 84 | // Empty loop rolls through MININT if i < 0 |
kvn@3004 | 85 | |
kvn@3004 | 86 | static final int limit6 = Integer.MAX_VALUE - 10000; |
kvn@3004 | 87 | |
kvn@2979 | 88 | static int test6(int i) { |
kvn@2979 | 89 | int result = 0; |
kvn@3004 | 90 | while (i-- != limit6) { |
kvn@2979 | 91 | result = i*2; |
kvn@2979 | 92 | } |
kvn@2979 | 93 | return result; |
kvn@2979 | 94 | } |
kvn@2979 | 95 | |
kvn@2979 | 96 | public static void main(String [] args) { |
kvn@2979 | 97 | boolean failed = false; |
kvn@2979 | 98 | int[] arr = new int[8]; |
kvn@2979 | 99 | int[] ar3 = { 0, 0, 4, 6, 8, 10, 0, 0 }; |
kvn@2979 | 100 | int[] ar4 = { 0, 0, 0, -10, -8, -6, -4, 0 }; |
kvn@3004 | 101 | System.out.println("test1"); |
kvn@2979 | 102 | for (int i = 0; i < 11000; i++) { |
kvn@2979 | 103 | int k = test1(1, 10); |
kvn@2979 | 104 | if (k != 10) { |
kvn@2979 | 105 | System.out.println("FAILED: " + k + " != 10"); |
kvn@2979 | 106 | failed = true; |
kvn@2979 | 107 | break; |
kvn@2979 | 108 | } |
kvn@2979 | 109 | } |
kvn@3004 | 110 | System.out.println("test2"); |
kvn@2979 | 111 | for (int i = 0; i < 11000; i++) { |
kvn@2979 | 112 | int k = test2(-1, -10); |
kvn@2979 | 113 | if (k != -10) { |
kvn@2979 | 114 | System.out.println("FAILED: " + k + " != -10"); |
kvn@2979 | 115 | failed = true; |
kvn@2979 | 116 | break; |
kvn@2979 | 117 | } |
kvn@2979 | 118 | } |
kvn@3004 | 119 | System.out.println("test3"); |
kvn@2979 | 120 | for (int i = 0; i < 11000; i++) { |
kvn@2979 | 121 | java.util.Arrays.fill(arr, 0); |
kvn@2979 | 122 | test3(1, 10, arr); |
kvn@2979 | 123 | if (!java.util.Arrays.equals(arr,ar3)) { |
kvn@2979 | 124 | System.out.println("FAILED: arr = { " + arr[0] + ", " |
kvn@2979 | 125 | + arr[1] + ", " |
kvn@2979 | 126 | + arr[2] + ", " |
kvn@2979 | 127 | + arr[3] + ", " |
kvn@2979 | 128 | + arr[4] + ", " |
kvn@2979 | 129 | + arr[5] + ", " |
kvn@2979 | 130 | + arr[6] + ", " |
kvn@2979 | 131 | + arr[7] + " }"); |
kvn@2979 | 132 | failed = true; |
kvn@2979 | 133 | break; |
kvn@2979 | 134 | } |
kvn@2979 | 135 | } |
kvn@3004 | 136 | System.out.println("test4"); |
kvn@2979 | 137 | for (int i = 0; i < 11000; i++) { |
kvn@2979 | 138 | java.util.Arrays.fill(arr, 0); |
kvn@2979 | 139 | test4(-1, -10, arr); |
kvn@2979 | 140 | if (!java.util.Arrays.equals(arr,ar4)) { |
kvn@2979 | 141 | System.out.println("FAILED: arr = { " + arr[0] + ", " |
kvn@2979 | 142 | + arr[1] + ", " |
kvn@2979 | 143 | + arr[2] + ", " |
kvn@2979 | 144 | + arr[3] + ", " |
kvn@2979 | 145 | + arr[4] + ", " |
kvn@2979 | 146 | + arr[5] + ", " |
kvn@2979 | 147 | + arr[6] + ", " |
kvn@2979 | 148 | + arr[7] + " }"); |
kvn@2979 | 149 | failed = true; |
kvn@2979 | 150 | break; |
kvn@2979 | 151 | } |
kvn@2979 | 152 | } |
kvn@3004 | 153 | System.out.println("test5"); |
kvn@2979 | 154 | for (int i = 0; i < 11000; i++) { |
kvn@3004 | 155 | int k = test5(limit6); |
kvn@3004 | 156 | if (k != limit5*2) { |
kvn@3004 | 157 | System.out.println("FAILED: " + k + " != " + limit5*2); |
kvn@2979 | 158 | failed = true; |
kvn@2979 | 159 | break; |
kvn@2979 | 160 | } |
kvn@2979 | 161 | } |
kvn@3004 | 162 | System.out.println("test6"); |
kvn@2979 | 163 | for (int i = 0; i < 11000; i++) { |
kvn@3004 | 164 | int k = test6(limit5); |
kvn@3004 | 165 | if (k != limit6*2) { |
kvn@3004 | 166 | System.out.println("FAILED: " + k + " != " + limit6*2); |
kvn@2979 | 167 | failed = true; |
kvn@2979 | 168 | break; |
kvn@2979 | 169 | } |
kvn@2979 | 170 | } |
kvn@3004 | 171 | System.out.println("finish"); |
kvn@2979 | 172 | if (failed) |
kvn@2979 | 173 | System.exit(97); |
kvn@2979 | 174 | } |
kvn@2979 | 175 | } |