test/tools/javac/api/6411310/Test.java

changeset 882
3d45cc94ee0f
parent 554
9d9f26857129
child 923
6970d9fb8e02
equal deleted inserted replaced
881:4ce95dc0b908 882:3d45cc94ee0f
1 /* 1 /*
2 * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2009, 2011 Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
57 // cover all sources of file objects within JavacFileManager's support classes 57 // cover all sources of file objects within JavacFileManager's support classes
58 58
59 test(createFileManager(), createDir("dir", entries), "p", entries); 59 test(createFileManager(), createDir("dir", entries), "p", entries);
60 test(createFileManager(), createDir("a b/dir", entries), "p", entries); 60 test(createFileManager(), createDir("a b/dir", entries), "p", entries);
61 61
62 for (boolean useJavaUtilZip: new boolean[] { false, true }) { 62 for (boolean useOptimizedZip: new boolean[] { false, true }) {
63 test(createFileManager(useJavaUtilZip), createJar("jar", entries), "p", entries); 63 test(createFileManager(useOptimizedZip), createJar("jar", entries), "p", entries);
64 test(createFileManager(useJavaUtilZip), createJar("jar jar", entries), "p", entries); 64 test(createFileManager(useOptimizedZip), createJar("jar jar", entries), "p", entries);
65 65
66 for (boolean useSymbolFile: new boolean[] { false, true }) { 66 for (boolean useSymbolFile: new boolean[] { false, true }) {
67 test(createFileManager(useJavaUtilZip, useSymbolFile), rt_jar, "java.lang.ref", null); 67 test(createFileManager(useOptimizedZip, useSymbolFile), rt_jar, "java.lang.ref", null);
68 } 68 }
69 } 69 }
70 70
71 if (errors > 0) 71 if (errors > 0)
72 throw new Exception(errors + " errors found"); 72 throw new Exception(errors + " errors found");
143 143
144 JavacFileManager createFileManager() { 144 JavacFileManager createFileManager() {
145 return createFileManager(false, false); 145 return createFileManager(false, false);
146 } 146 }
147 147
148 JavacFileManager createFileManager(boolean useJavaUtilZip) { 148 JavacFileManager createFileManager(boolean useOptimizedZip) {
149 return createFileManager(useJavaUtilZip, false); 149 return createFileManager(useOptimizedZip, false);
150 } 150 }
151 151
152 JavacFileManager createFileManager(boolean useJavaUtilZip, boolean useSymbolFile) { 152 JavacFileManager createFileManager(boolean useOptimizedZip, boolean useSymbolFile) {
153 // javac should really not be using system properties like this 153 Context c = new Context();
154 // -- it should really be using (hidden) options -- but until then 154 Options options = Options.instance(c);
155 // take care to leave system properties as we find them, so as not 155
156 // to adversely affect other tests that might follow. 156 if (useOptimizedZip) {
157 String prev = System.getProperty("useJavaUtilZip"); 157 options.put("useOptimizedZip", "true");
158 boolean resetProperties = false; 158 }
159 try { 159
160 if (useJavaUtilZip) {
161 System.setProperty("useJavaUtilZip", "true");
162 resetProperties = true;
163 } else if (System.getProperty("useJavaUtilZip") != null) {
164 System.getProperties().remove("useJavaUtilZip");
165 resetProperties = true;
166 }
167
168 Context c = new Context();
169 if (!useSymbolFile) { 160 if (!useSymbolFile) {
170 Options options = Options.instance(c);
171 options.put("ignore.symbol.file", "true"); 161 options.put("ignore.symbol.file", "true");
172 } 162 }
173
174 return new JavacFileManager(c, false, null); 163 return new JavacFileManager(c, false, null);
175 } finally {
176 if (resetProperties) {
177 if (prev == null) {
178 System.getProperties().remove("useJavaUtilZip");
179 } else {
180 System.setProperty("useJavaUtilZip", prev);
181 }
182 }
183 }
184 } 164 }
185 165
186 File createDir(String name, String... entries) throws Exception { 166 File createDir(String name, String... entries) throws Exception {
187 File dir = new File(name); 167 File dir = new File(name);
188 if (!dir.mkdirs()) 168 if (!dir.mkdirs())

mercurial