< prev index next >

tools/FxTestRunner/src/client/test/runner/RunUITestFinder.java

Print this page

        

@@ -22,10 +22,11 @@
  * or visit www.oracle.com if you need additional information or have any
  */
 
 package client.test.runner;
 
+import client.test.AddExports;
 import client.test.CheckUI;
 import client.test.Keywords;
 import client.test.RunUI;
 import java.io.File;
 import java.io.IOException;

@@ -34,16 +35,19 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * @author shura
  */
 public class RunUITestFinder extends AbstractTestFinder {
 
+    static final String ADD_EXPORTS = "unit.test.addExports";
     static final String TEST_NAME = "unit.test.testname";
     static final String UNIT_TEST_CLASS_NAME = "unit.test.classname";
     static final String NO_DESCRIPTION = "unit.test.nodescription";
     static final String HAS_CHECK_UI = "unit.test.has.check.ui";
     static final String TYPE_JUNIT = "unit.test.type.junit";

@@ -90,10 +94,11 @@
                 }
                 List<RunUI> runUIs = findAnnotations(testClass, RunUI.class);
                 boolean hasCheckUI = findAnnotations(testClass, CheckUI.class).size() > 0;
                 List<String> resources = new ArrayList<String>(runUIs.size());
                 List<Keywords> keys = findAnnotations(testClass, Keywords.class);
+                List<AddExports> addExportsList = findAnnotations(testClass, AddExports.class);
                 if (!runUIs.isEmpty()) {
                     boolean nodescription = false;
                     for (RunUI runUI : runUIs) {
                         if (runUI.noDescription()) {
                             nodescription = true;

@@ -124,10 +129,21 @@
                             }
                             tagValues.put("keywords", key_str);
                             System.out.println("The following keywords \"" + key_str + "\" were found in the test " + file.getName());
                         }
 
+                        // --add-exports value
+                        if (!addExportsList.isEmpty()) {
+                            String[] addExportsArray = new String[addExportsList.size()];
+                            for (int i = 0; i < addExportsList.size(); i++) {
+                                addExportsArray[i] = addExportsList.get(i).value();
+                            }
+                            String addExports = Stream.of(TestScript.combineAddExports(addExportsArray)).collect(Collectors.joining(" "));
+                            tagValues.put(ADD_EXPORTS, addExports);
+                            System.out.println("The following addExports \"" + addExports + "\" were found in the test " + file.getName());
+                        }
+
                         if (nodescription) {
                             tagValues.put("testName", removeDotJavaExtensionFromFilePath(filePath));
                             tagValues.put(FILE_PATH_PROP, path);
                             tagValues.put(UNIT_TEST_CLASS_NAME, testClass.getName());
                             tagValues.put(NO_DESCRIPTION, Boolean.TRUE.toString());
< prev index next >