langtools/test/tools/javac/T6397286.java
changeset 27319 030080f03e4f
parent 5520 86e4b9a9da40
child 30730 d3ce7619db2c
equal deleted inserted replaced
27318:4660a5da7d90 27319:030080f03e4f
     1 /*
     1 /*
     2  * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2006, 2014, 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.
    38     public static void main(String[] args) throws IOException {
    38     public static void main(String[] args) throws IOException {
    39         String testSrcDir = System.getProperty("test.src");
    39         String testSrcDir = System.getProperty("test.src");
    40         String self = T6397286.class.getName();
    40         String self = T6397286.class.getName();
    41 
    41 
    42         JavacTool tool = JavacTool.create();
    42         JavacTool tool = JavacTool.create();
    43         StandardJavaFileManager fm = tool.getStandardFileManager(null, null, null);
    43         try (StandardJavaFileManager fm = tool.getStandardFileManager(null, null, null)) {
    44         Iterable<? extends JavaFileObject> files =
    44             Iterable<? extends JavaFileObject> files =
    45             fm.getJavaFileObjectsFromFiles(Arrays.asList(new File(testSrcDir, self + ".java")));
    45                 fm.getJavaFileObjectsFromFiles(Arrays.asList(new File(testSrcDir, self + ".java")));
    46 
    46 
    47         JavacTask task = tool.getTask(null, fm, null, null, null, files);
    47             JavacTask task = tool.getTask(null, fm, null, null, null, files);
    48         task.setTaskListener(new TaskListener() {
    48             task.setTaskListener(new TaskListener() {
    49                 public void started(TaskEvent e) {
    49                     public void started(TaskEvent e) {
    50                     throw new TaskEventError(e);
    50                         throw new TaskEventError(e);
       
    51                     }
       
    52                     public void finished(TaskEvent e) {
       
    53                     }
       
    54                 });
       
    55 
       
    56             try {
       
    57                 task.call();
       
    58                 throw new AssertionError("no exception thrown");
       
    59             } catch (RuntimeException e) {
       
    60                 if (e.getCause() instanceof TaskEventError) {
       
    61                     TaskEventError tee = (TaskEventError) e.getCause();
       
    62                     System.err.println("Exception thrown for " + tee.event + " as expected");
       
    63                 } else {
       
    64                     e.printStackTrace();
       
    65                     throw new AssertionError("TaskEventError not thrown");
    51                 }
    66                 }
    52                 public void finished(TaskEvent e) {
       
    53                 }
       
    54             });
       
    55 
       
    56         try {
       
    57             task.call();
       
    58             throw new AssertionError("no exception thrown");
       
    59         } catch (RuntimeException e) {
       
    60             if (e.getCause() instanceof TaskEventError) {
       
    61                 TaskEventError tee = (TaskEventError) e.getCause();
       
    62                 System.err.println("Exception thrown for " + tee.event + " as expected");
       
    63             } else {
       
    64                 e.printStackTrace();
       
    65                 throw new AssertionError("TaskEventError not thrown");
       
    66             }
    67             }
    67         }
    68         }
    68     }
    69     }
    69 }
    70 }
    70 
    71