208 assert name.lastIndexOf(".js") > 0 : "not a JavaScript: " + name;
209
210 // defaults: testFile is a test and should be run
211 boolean isTest = isUnchecked(testFile);
212 boolean isNotTest = false;
213 boolean shouldRun = true;
214 boolean compileFailure = false;
215 boolean runFailure = false;
216 boolean checkCompilerMsg = false;
217 boolean noCompare = false;
218 boolean ignoreStdError = false;
219 boolean fork = false;
220
221 final List<String> engineOptions = new ArrayList<>();
222 final List<String> scriptArguments = new ArrayList<>();
223 boolean inComment = false;
224
225 boolean explicitOptimistic = false;
226
227 String allContent = new String(Files.readAllBytes(testFile));
228 Iterator<String> scanner = ScriptingFunctions.tokenizeCommandLine(allContent).iterator();
229 while (scanner.hasNext()) {
230 // TODO: Scan for /ref=file qualifiers, etc, to determine run
231 // behavior
232 String token = scanner.next();
233 if (token.startsWith("/*")) {
234 inComment = true;
235 } else if (token.endsWith(("*/"))) {
236 inComment = false;
237 } else if (!inComment) {
238 continue;
239 }
240
241 // remove whitespace and trailing semicolons, if any
242 // (trailing semicolons are found in some sputnik tests)
243 token = token.trim();
244 final int semicolon = token.indexOf(';');
245 if (semicolon > 0) {
246 token = token.substring(0, semicolon);
247 }
248 switch (token) {
|
208 assert name.lastIndexOf(".js") > 0 : "not a JavaScript: " + name;
209
210 // defaults: testFile is a test and should be run
211 boolean isTest = isUnchecked(testFile);
212 boolean isNotTest = false;
213 boolean shouldRun = true;
214 boolean compileFailure = false;
215 boolean runFailure = false;
216 boolean checkCompilerMsg = false;
217 boolean noCompare = false;
218 boolean ignoreStdError = false;
219 boolean fork = false;
220
221 final List<String> engineOptions = new ArrayList<>();
222 final List<String> scriptArguments = new ArrayList<>();
223 boolean inComment = false;
224
225 boolean explicitOptimistic = false;
226
227 String allContent = new String(Files.readAllBytes(testFile));
228 Iterator<String> scanner = ScriptingFunctions.tokenizeString(allContent).iterator();
229 while (scanner.hasNext()) {
230 // TODO: Scan for /ref=file qualifiers, etc, to determine run
231 // behavior
232 String token = scanner.next();
233 if (token.startsWith("/*")) {
234 inComment = true;
235 } else if (token.endsWith(("*/"))) {
236 inComment = false;
237 } else if (!inComment) {
238 continue;
239 }
240
241 // remove whitespace and trailing semicolons, if any
242 // (trailing semicolons are found in some sputnik tests)
243 token = token.trim();
244 final int semicolon = token.indexOf(';');
245 if (semicolon > 0) {
246 token = token.substring(0, semicolon);
247 }
248 switch (token) {
|