--- /dev/null 2014-02-26 05:39:17.617133383 -0800 +++ new/test/tools/javadoc/sourceOption2/SourceOption2.java 2014-02-26 07:39:51.960123090 -0800 @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2006, 2008, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 6507179 + * @summary Ensure that "-source" option isn't ignored. + * @author Scott Seligman + * @run main SourceOption2 + */ + +/* + * TEST NOTE : ../sourceOption2 : checks validity of java code for current release + * + * The feature that does not work in a previous [ but supported ] version + * of the JDK, should work for the current version. We test it here. The + * code should compile. If not, then we have invalid code. + * No changes needed to this test as it point to the source in ../sourceOption/p. + * + * TEST NOTE : ../sourceOption + * With JDK9, this this test has been transformed into a NEGATIVE test. + * + * Generally speaking, this test should check a feature not in at least + * one of the currently supported previous versions. In this manner, + * a failure of the -source option to be honored would mean a pass of + * the test, and therefore a failure of the -source option. + * + * For JDK9 and JDK10, both support 1.7, which did not support javac's + * lambda construct. So we set "-source 1.7" to compile a .java file + * containing the lambda construct. javac should fail, thus showing + * -source to be working. Thus the test passes. + * + * fixVersion: JDK11 + * replace ./p/LambdaConstructTest.java with a missing from + * JDK8, JDK9, or JDK10. Set -source below appropriately. + */ + +import com.sun.javadoc.*; + +public class SourceOption2 extends Doclet { + + public static void main(String[] args) { + if (com.sun.tools.javadoc.Main.execute( + "javadoc", + "SourceOption2", + SourceOption2.class.getClassLoader(), + new String[] {"-sourcepath","../sourceOption/","p"}) != 0) + throw new Error("Javadoc encountered warnings or errors."); + } + + public static boolean start(RootDoc root) { + root.classes(); // force parser into action + return true; + } +} +