test/jdk/javadoc/tool/XWerror.java

Print this page

        

*** 28,52 **** * @author gafter * @modules jdk.javadoc * @run main XWerror */ ! import com.sun.javadoc.*; ! import java.util.*; ! public class XWerror extends Doclet ! { public static void main(String[] args) { ! if (com.sun.tools.javadoc.Main. ! execute("javadoc", "XWerror", XWerror.class.getClassLoader(), ! new String[] {"-Xwerror", ! System.getProperty("test.src", ".") + ! java.io.File.separatorChar + ! "XWerror.java"}) == 0) ! throw new Error(); } ! public static boolean start(com.sun.javadoc.RootDoc root) { ! root.printWarning(null, "warning message"); return false; } } --- 28,95 ---- * @author gafter * @modules jdk.javadoc * @run main XWerror */ ! import java.io.PrintWriter; ! import java.io.StringWriter; ! import java.util.Collections; ! import java.util.Locale; ! import java.util.Set; ! import javax.lang.model.SourceVersion; ! import javax.tools.Diagnostic; ! ! import jdk.javadoc.doclet.Doclet; ! import jdk.javadoc.doclet.Reporter; ! import jdk.javadoc.doclet.DocletEnvironment; ! ! public class XWerror implements Doclet { ! ! private static final String message = "warning message"; ! public static void main(String[] args) { ! StringWriter sw = new StringWriter(); ! PrintWriter output = new PrintWriter(sw); ! ! String[] aargs = { ! "-docletpath", System.getProperty("test.classes", "."), ! "-doclet", "XWerror", ! "-Xwerror", ! System.getProperty("test.src", ".") + java.io.File.separatorChar ! + "XWerror.java" ! }; ! if (jdk.javadoc.internal.tool.Main.execute(aargs, output) == 0) { ! throw new Error("did not get non-zero exit code"); } + if (!sw.toString().contains(message)) { + throw new Error("expected message not found: " + message); + } + } + Reporter reporter; ! public boolean run(DocletEnvironment root) { ! reporter.print(Diagnostic.Kind.WARNING , message); return false; } + + @Override + public String getName() { + return "Test"; + } + + @Override + public Set<Option> getSupportedOptions() { + return Collections.emptySet(); + } + + @Override + public SourceVersion getSupportedSourceVersion() { + return SourceVersion.latest(); + } + + @Override + public void init(Locale locale, Reporter reporter) { + this.reporter = reporter; + return; + } }