| @@ -814,10 +814,10 @@ class. | |||||
| <pre> | <pre> | ||||
| <junit fork="true" | <junit fork="true" | ||||
| jvm="${platform.java}"> | jvm="${platform.java}"> | ||||
| <jvmarg value="-Xpatch:${module.name}=${build.test.classes}"/> | |||||
| <jvmarg line="-addmods ${module.name}"/> | |||||
| <jvmarg value="-XaddReads:${module.name}=ALL-UNNAMED"/> | |||||
| <jvmarg value="-XaddExports:${module.name}/my.test=ALL-UNNAMED"/> | |||||
| <jvmarg line="--patch-module ${module.name}=${build.test.classes}"/> | |||||
| <jvmarg line="--add-modules ${module.name}"/> | |||||
| <jvmarg line="--add-reads ${module.name}=ALL-UNNAMED"/> | |||||
| <jvmarg line="--add-exports ${module.name}/my.test=ALL-UNNAMED"/> | |||||
| <classpath> | <classpath> | ||||
| <pathelement path="${libs.junit}"/> | <pathelement path="${libs.junit}"/> | ||||
| </classpath> | </classpath> | ||||
| @@ -831,16 +831,16 @@ class. | |||||
| <p>Runs my.test.TestCase as a white-box test in the forked VM given by the <code>platform.java</code> property. | <p>Runs my.test.TestCase as a white-box test in the forked VM given by the <code>platform.java</code> property. | ||||
| The junit library is a part of an unnamed module while the tested project and required modules are on the module path. The tests | The junit library is a part of an unnamed module while the tested project and required modules are on the module path. The tests | ||||
| do not have module-info file and are executed in the project module given by <code>module.name</code> property.<br/> | do not have module-info file and are executed in the project module given by <code>module.name</code> property.<br/> | ||||
| The <code>-Xpatch</code> java option executes the tests built into <code>${build.test.classes}</code> in a module given | |||||
| The <code>--patch-module</code> java option executes the tests built into <code>${build.test.classes}</code> in a module given | |||||
| by <code>module.name</code> property.<br/> | by <code>module.name</code> property.<br/> | ||||
| The <code>-addmods</code> java option enables the tested module.<br/> | |||||
| The <code>-XaddReads</code> java option makes the unnamed module containing the junit readable by tested module.<br/> | |||||
| The <code>-XaddExports</code> java option makes the non-exported test package <code>my.test</code> accessible from the unnamed module containing the junit.<br/> | |||||
| The <code>--add-modules</code> java option enables the tested module.<br/> | |||||
| The <code>--add-reads</code> java option makes the unnamed module containing the junit readable by tested module.<br/> | |||||
| The <code>--add-exports</code> java option makes the non-exported test package <code>my.test</code> accessible from the unnamed module containing the junit.<br/> | |||||
| <pre> | <pre> | ||||
| <junit fork="true" | <junit fork="true" | ||||
| jvm="${platform.java}"> | jvm="${platform.java}"> | ||||
| <jvmarg line="-addmods ${test.module.name}"/> | |||||
| <jvmarg value="-XaddExports:${test.module.name}/my.test=junit,ALL-UNNAMED"/> | |||||
| <jvmarg line="--add-modules ${test.module.name}"/> | |||||
| <jvmarg line="--add-exports ${test.module.name}/my.test=junit,ALL-UNNAMED"/> | |||||
| <modulepath> | <modulepath> | ||||
| <pathelement path="${modules}:${build.classes}:${libs.junit}"/> | <pathelement path="${modules}:${build.classes}:${libs.junit}"/> | ||||
| </modulepath> | </modulepath> | ||||
| @@ -850,8 +850,8 @@ The <code>-XaddExports</code> java option makes the non-exported test package <c | |||||
| </pre> | </pre> | ||||
| <p>Runs my.test.TestCase as a black-box test in the forked VM given by the <code>platform.java</code> property. | <p>Runs my.test.TestCase as a black-box test in the forked VM given by the <code>platform.java</code> property. | ||||
| The junit library is used as an automatic module. The tests module-info requires the tested module and junit.<br/> | The junit library is used as an automatic module. The tests module-info requires the tested module and junit.<br/> | ||||
| The <code>-addmods</code> java option enables the test module.<br/> | |||||
| The <code>-XaddExports</code> java option makes the non-exported test package <code>my.test</code> accessible from the junit module and Ant's test runner. | |||||
| The <code>--add-modules</code> java option enables the test module.<br/> | |||||
| The <code>--add-exports</code> java option makes the non-exported test package <code>my.test</code> accessible from the junit module and Ant's test runner. | |||||
| Another possibility is to export the test package in the tests module-info by <code>exports my.test</code> directive.<br/> | Another possibility is to export the test package in the tests module-info by <code>exports my.test</code> directive.<br/> | ||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @@ -401,12 +401,12 @@ public abstract class DefaultCompilerAdapter | |||||
| } | } | ||||
| final Path msp = getModulesourcepath(); | final Path msp = getModulesourcepath(); | ||||
| if (msp.size() > 0) { | if (msp.size() > 0) { | ||||
| cmd.createArgument().setValue("-modulesourcepath"); | |||||
| cmd.createArgument().setValue("--module-source-path"); | |||||
| cmd.createArgument().setPath(msp); | cmd.createArgument().setPath(msp); | ||||
| } | } | ||||
| final Path mp = getModulepath(); | final Path mp = getModulepath(); | ||||
| if (mp.size() > 0) { | if (mp.size() > 0) { | ||||
| cmd.createArgument().setValue("-modulepath"); | |||||
| cmd.createArgument().setValue("--module-path"); | |||||
| cmd.createArgument().setPath(mp); | cmd.createArgument().setPath(mp); | ||||
| } | } | ||||
| final Path ump = getUpgrademodulepath(); | final Path ump = getUpgrademodulepath(); | ||||
| @@ -520,13 +520,13 @@ public class CommandlineJava implements Cloneable { | |||||
| } | } | ||||
| //module path | //module path | ||||
| if (haveModulepath()) { | if (haveModulepath()) { | ||||
| listIterator.add("-modulepath"); | |||||
| listIterator.add("--module-path"); | |||||
| listIterator.add( | listIterator.add( | ||||
| modulepath.concatSystemClasspath("ignore").toString()); | modulepath.concatSystemClasspath("ignore").toString()); | ||||
| } | } | ||||
| //upgrade module path | //upgrade module path | ||||
| if (haveUpgrademodulepath()) { | if (haveUpgrademodulepath()) { | ||||
| listIterator.add("-upgrademodulepath"); | |||||
| listIterator.add("--upgrade-module-path"); | |||||
| listIterator.add( | listIterator.add( | ||||
| upgrademodulepath.concatSystemClasspath("ignore").toString()); | upgrademodulepath.concatSystemClasspath("ignore").toString()); | ||||
| } | } | ||||
| @@ -249,13 +249,13 @@ public class DefaultCompilerAdapterTest { | |||||
| Assert.assertNotNull(cmd[0]); | Assert.assertNotNull(cmd[0]); | ||||
| final List<String> cmdLine = Arrays.asList(cmd[0].getCommandline()); | final List<String> cmdLine = Arrays.asList(cmd[0].getCommandline()); | ||||
| //No modulesourcepath | //No modulesourcepath | ||||
| assertEquals(-1, cmdLine.indexOf("-modulesourcepath")); | |||||
| assertEquals(-1, cmdLine.indexOf("--module-source-path")); | |||||
| //The -sourcepath has to be followed by src | //The -sourcepath has to be followed by src | ||||
| int index = cmdLine.indexOf("-sourcepath"); | int index = cmdLine.indexOf("-sourcepath"); | ||||
| Assert.assertTrue(index != -1 && index < cmdLine.size() - 1); | Assert.assertTrue(index != -1 && index < cmdLine.size() - 1); | ||||
| assertEquals(src.getAbsolutePath(), cmdLine.get(index + 1)); | assertEquals(src.getAbsolutePath(), cmdLine.get(index + 1)); | ||||
| //The -modulepath has to be followed by modules | |||||
| index = cmdLine.indexOf("-modulepath"); | |||||
| //The --module-path has to be followed by modules | |||||
| index = cmdLine.indexOf("--module-path"); | |||||
| Assert.assertTrue(index != -1 && index < cmdLine.size() - 1); | Assert.assertTrue(index != -1 && index < cmdLine.size() - 1); | ||||
| assertEquals(modules.getAbsolutePath(), cmdLine.get(index + 1)); | assertEquals(modules.getAbsolutePath(), cmdLine.get(index + 1)); | ||||
| //J1.java & J2.java has to be in files list | //J1.java & J2.java has to be in files list | ||||
| @@ -308,8 +308,8 @@ public class DefaultCompilerAdapterTest { | |||||
| final List<String> cmdLine = Arrays.asList(cmd[0].getCommandline()); | final List<String> cmdLine = Arrays.asList(cmd[0].getCommandline()); | ||||
| //No sourcepath | //No sourcepath | ||||
| assertEquals(-1, cmdLine.indexOf("-sourcepath")); | assertEquals(-1, cmdLine.indexOf("-sourcepath")); | ||||
| //The -modulesourcepath has to be followed by the pattern | |||||
| int index = cmdLine.indexOf("-modulesourcepath"); | |||||
| //The --module-source-path has to be followed by the pattern | |||||
| int index = cmdLine.indexOf("--module-source-path"); | |||||
| Assert.assertTrue(index != -1 && index < cmdLine.size() - 1); | Assert.assertTrue(index != -1 && index < cmdLine.size() - 1); | ||||
| String expectedModSrcPath = String.format("%s/%s", | String expectedModSrcPath = String.format("%s/%s", | ||||
| workDir.getAbsolutePath(), | workDir.getAbsolutePath(), | ||||
| @@ -317,8 +317,8 @@ public class DefaultCompilerAdapterTest { | |||||
| .replace('/', File.separatorChar) | .replace('/', File.separatorChar) | ||||
| .replace('\\', File.separatorChar); | .replace('\\', File.separatorChar); | ||||
| assertEquals(expectedModSrcPath, cmdLine.get(index + 1)); | assertEquals(expectedModSrcPath, cmdLine.get(index + 1)); | ||||
| //The -modulepath has to be followed by modules | |||||
| index = cmdLine.indexOf("-modulepath"); | |||||
| //The --module-path has to be followed by modules | |||||
| index = cmdLine.indexOf("--module-path"); | |||||
| Assert.assertTrue(index != -1 && index < cmdLine.size() - 1); | Assert.assertTrue(index != -1 && index < cmdLine.size() - 1); | ||||
| assertEquals(modules.getAbsolutePath(), cmdLine.get(index + 1)); | assertEquals(modules.getAbsolutePath(), cmdLine.get(index + 1)); | ||||
| //J1.java, J2.java & J3.java has to be in files list | //J1.java, J2.java & J3.java has to be in files list | ||||
| @@ -476,10 +476,10 @@ public class JUnitTaskTest { | |||||
| for (int i = 1; i< mockProcLauncher.cmd.length; i++) { | for (int i = 1; i< mockProcLauncher.cmd.length; i++) { | ||||
| if ("-classpath".equals(mockProcLauncher.cmd[i])) { //NOI18N | if ("-classpath".equals(mockProcLauncher.cmd[i])) { //NOI18N | ||||
| resCp = mockProcLauncher.cmd[++i]; | resCp = mockProcLauncher.cmd[++i]; | ||||
| } else if ("-modulepath".equals(mockProcLauncher.cmd[i])) { //NOI18N | |||||
| } else if ("--module-path".equals(mockProcLauncher.cmd[i])) { //NOI18N | |||||
| resMp = mockProcLauncher.cmd[++i]; | resMp = mockProcLauncher.cmd[++i]; | ||||
| } else if (mockProcLauncher.cmd[i].startsWith("-XaddExports:")) { //NOI18N | |||||
| resExports.add(mockProcLauncher.cmd[i]); | |||||
| } else if (mockProcLauncher.cmd[i].equals("--add-exports")) { //NOI18N | |||||
| resExports.add(mockProcLauncher.cmd[++i]); | |||||
| } else if (JUnitTestRunner.class.getName().equals(mockProcLauncher.cmd[i])) { | } else if (JUnitTestRunner.class.getName().equals(mockProcLauncher.cmd[i])) { | ||||
| break; | break; | ||||
| } | } | ||||
| @@ -530,10 +530,10 @@ public class JUnitTaskTest { | |||||
| for (int i = 1; i< mockProcLauncher.cmd.length; i++) { | for (int i = 1; i< mockProcLauncher.cmd.length; i++) { | ||||
| if ("-classpath".equals(mockProcLauncher.cmd[i])) { //NOI18N | if ("-classpath".equals(mockProcLauncher.cmd[i])) { //NOI18N | ||||
| resCp = mockProcLauncher.cmd[++i]; | resCp = mockProcLauncher.cmd[++i]; | ||||
| } else if ("-modulepath".equals(mockProcLauncher.cmd[i])) { //NOI18N | |||||
| } else if ("--module-path".equals(mockProcLauncher.cmd[i])) { //NOI18N | |||||
| resMp = mockProcLauncher.cmd[++i]; | resMp = mockProcLauncher.cmd[++i]; | ||||
| } else if (mockProcLauncher.cmd[i].startsWith("-XaddExports:")) { //NOI18N | |||||
| resExports.add(mockProcLauncher.cmd[i]); | |||||
| } else if (mockProcLauncher.cmd[i].equals("--add-exports")) { //NOI18N | |||||
| resExports.add(mockProcLauncher.cmd[++i]); | |||||
| } else if (JUnitTestRunner.class.getName().equals(mockProcLauncher.cmd[i])) { | } else if (JUnitTestRunner.class.getName().equals(mockProcLauncher.cmd[i])) { | ||||
| break; | break; | ||||
| } | } | ||||