[testng] 88/355: Use ITestNGMethod#getInstance instead of #getInstances around Invoker

Eugene Zhukov eugene-guest at moszumanska.debian.org
Tue Aug 18 10:19:51 UTC 2015


This is an automated email from the git hooks/post-receive script.

eugene-guest pushed a commit to annotated tag OpenBSD
in repository testng.

commit 6293b3b61db2fc41ca5ab936fea07c81cd1cfcf1
Author: Vladislav Rassokhin <vladrassokhin at gmail.com>
Date:   Sun Nov 23 00:39:59 2014 +0300

    Use ITestNGMethod#getInstance instead of #getInstances around Invoker
---
 src/main/java/org/testng/internal/IInvoker.java    |  2 +-
 src/main/java/org/testng/internal/Invoker.java     | 53 ++++++++++------------
 .../TestMethodWithDataProviderMethodWorker.java    | 32 ++++++-------
 .../java/org/testng/internal/TestMethodWorker.java |  8 ++--
 4 files changed, 44 insertions(+), 51 deletions(-)

diff --git a/src/main/java/org/testng/internal/IInvoker.java b/src/main/java/org/testng/internal/IInvoker.java
index b3ad180..b4ab9d9 100755
--- a/src/main/java/org/testng/internal/IInvoker.java
+++ b/src/main/java/org/testng/internal/IInvoker.java
@@ -51,7 +51,7 @@ public interface IInvoker {
                                              XmlSuite suite,
                                              Map<String, String> parameters,
                                              ConfigurationGroupMethods groupMethods,
-                                             Object[] instances,
+                                             Object instance,
                                              ITestContext testContext);
 
 }
diff --git a/src/main/java/org/testng/internal/Invoker.java b/src/main/java/org/testng/internal/Invoker.java
index 6d55292..dc699c0 100644
--- a/src/main/java/org/testng/internal/Invoker.java
+++ b/src/main/java/org/testng/internal/Invoker.java
@@ -171,11 +171,11 @@ public class Invoker implements IInvoker {
 
       IConfigurationAnnotation configurationAnnotation= null;
       try {
-        Object[] instances= tm.getInstances();
-        if (instances == null || instances.length == 0) {
-          instances = new Object[] { instance };
+        Object inst = tm.getInstance();
+        if (inst == null) {
+          inst = instance;
         }
-        Class<?> objectClass= instances[0].getClass();
+        Class<?> objectClass= inst.getClass();
         Method method= tm.getMethod();
 
         // Only run the configuration if
@@ -206,7 +206,7 @@ public class Invoker implements IInvoker {
                 testMethodResult);
             testResult.setParameters(parameters);
 
-            Object[] newInstances= (null != instance) ? new Object[] { instance } : instances;
+            Object[] newInstances= new Object[]{ null != instance ? instance: inst };
 
             runConfigurationListeners(testResult, true /* before */);
 
@@ -625,8 +625,7 @@ public class Invoker implements IInvoker {
   }
 
   // pass both paramValues and paramIndex to be thread safe in case parallel=true + dataprovider.
-  private ITestResult invokeMethod(Object[] instances,
-                                   int instanceIndex,
+  private ITestResult invokeMethod(Object instance,
                                    final ITestNGMethod tm,
                                    Object[] parameterValues,
                                    int parametersIndex,
@@ -641,7 +640,6 @@ public class Invoker implements IInvoker {
     //
     // Invoke beforeGroups configurations
     //
-    Object instance = instances[instanceIndex];
     invokeBeforeGroupsConfigurations(testClass, tm, groupMethods, suite, params,
         instance);
 
@@ -881,7 +879,7 @@ public class Invoker implements IInvoker {
    * This method is also reponsible for invoking @BeforeGroup, @BeforeMethod, @AfterMethod, @AfterGroup
    * if it is the case for the passed in @Test method.
    */
-  protected List<ITestResult> invokeTestMethod(Object[] instances,
+  protected List<ITestResult> invokeTestMethod(Object instance,
                                              final ITestNGMethod tm,
                                              Object[] parameterValues,
                                              int parametersIndex,
@@ -897,10 +895,8 @@ public class Invoker implements IInvoker {
     // Mark this method with the current thread id
     tm.setId(ThreadUtil.currentThreadInfo());
 
-    for(int i= 0; i < instances.length; i++) {
-      results.add(invokeMethod(instances, i, tm, parameterValues, parametersIndex, suite, params,
+    results.add(invokeMethod(instance, tm, parameterValues, parametersIndex, suite, params,
           testClass, beforeMethods, afterMethods, groupMethods));
-    }
 
     return results;
   }
@@ -1018,8 +1014,7 @@ public class Invoker implements IInvoker {
     return null;
   }
 
-  int retryFailed(Object[] instances,
-                           int instanceIndex,
+  int retryFailed(Object instance,
                            final ITestNGMethod tm,
                            XmlSuite suite,
                            ITestClass testClass,
@@ -1046,7 +1041,7 @@ public class Invoker implements IInvoker {
       Object[] parameterValues =
           getParametersFromIndex(bag.parameterHolder.parameters, parametersIndex);
 
-      result.add(invokeMethod(instances, instanceIndex, tm, parameterValues,parametersIndex, suite,
+      result.add(invokeMethod(instance, tm, parameterValues,parametersIndex, suite,
           allParameters, testClass, beforeMethods, afterMethods, groupMethods));
       failureCount = handleInvocationResults(tm, result, failedInstances,
           failureCount, expectedExceptionHolder, true, true /* collect results */);
@@ -1102,7 +1097,7 @@ public class Invoker implements IInvoker {
                                              XmlSuite suite,
                                              Map<String, String> testParameters,
                                              ConfigurationGroupMethods groupMethods,
-                                             Object[] instances,
+                                             Object instance,
                                              ITestContext testContext)
   {
     // Potential bug here if the test method was declared on a parent class
@@ -1178,14 +1173,14 @@ public class Invoker implements IInvoker {
 
         Map<String, String> allParameterNames = Maps.newHashMap();
         ParameterBag bag = createParameters(testMethod,
-            parameters, allParameterNames, null, suite, testContext, instances[0],
+            parameters, allParameterNames, null, suite, testContext, instance,
             null);
 
         if (bag.hasErrors()) {
           failureCount = handleInvocationResults(testMethod,
               bag.errorResults, null, failureCount, expectedExceptionHolder, true,
               true /* collect results */);
-          ITestResult tr = registerSkippedTestResult(testMethod, instances[0], start,
+          ITestResult tr = registerSkippedTestResult(testMethod, instance, start,
               bag.errorResults.get(0).getThrowable());
           result.add(tr);
           continue;
@@ -1205,7 +1200,7 @@ public class Invoker implements IInvoker {
               TestMethodWithDataProviderMethodWorker w =
                 new TestMethodWithDataProviderMethodWorker(this,
                     testMethod, parametersIndex,
-                    parameterValues, instances, suite, parameters, testClass,
+                    parameterValues, instance, suite, parameters, testClass,
                     beforeMethods, afterMethods, groupMethods,
                     expectedExceptionHolder, testContext, m_skipFailedInvocationCounts,
                     invocationCount, failureCount, m_notifier);
@@ -1228,7 +1223,7 @@ public class Invoker implements IInvoker {
               List<ITestResult> tmpResults = Lists.newArrayList();
 
               try {
-                tmpResults.addAll(invokeTestMethod(instances,
+                tmpResults.addAll(invokeTestMethod(instance,
                                                    testMethod,
                                                    parameterValues,
                                                    parametersIndex,
@@ -1248,12 +1243,12 @@ public class Invoker implements IInvoker {
                 if (failedInstances.isEmpty()) {
                   result.addAll(tmpResults);
                 } else {
-                  for (int i = 0; i < failedInstances.size(); i++) {
+                  for (Object failedInstance : failedInstances) {
                     List<ITestResult> retryResults = Lists.newArrayList();
 
                     failureCount =
-                     retryFailed(failedInstances.toArray(),
-                     i, testMethod, suite, testClass, beforeMethods,
+                     retryFailed(failedInstance,
+                     testMethod, suite, testClass, beforeMethods,
                      afterMethods, groupMethods, retryResults,
                      failureCount, expectedExceptionHolder,
                      testContext, parameters, parametersIndex);
@@ -1269,7 +1264,7 @@ public class Invoker implements IInvoker {
                       && (m_skipFailedInvocationCounts
                             || testMethod.skipFailedInvocations())) {
                   while (invocationCount-- > 0) {
-                    result.add(registerSkippedTestResult(testMethod, instances[0], start, null));
+                    result.add(registerSkippedTestResult(testMethod, instance, start, null));
                   }
                   break;
                 }
@@ -1281,7 +1276,7 @@ public class Invoker implements IInvoker {
         catch (Throwable cause) {
           ITestResult r =
               new TestResult(testMethod.getTestClass(),
-                instances[0],
+                instance,
                 testMethod,
                 cause,
                 start,
@@ -1463,8 +1458,7 @@ public class Invoker implements IInvoker {
     //
     List<ITestResult> resultsToRetry = Lists.newArrayList();
 
-    for (int i = 0; i < result.size(); i++) {
-      ITestResult testResult = result.get(i);
+    for (ITestResult testResult : result) {
       Throwable ite= testResult.getThrowable();
       int status= testResult.getStatus();
 
@@ -1693,13 +1687,12 @@ public class Invoker implements IInvoker {
   private Set<ITestResult> keepSameInstances(ITestNGMethod method, Set<ITestResult> results) {
     Set<ITestResult> result = Sets.newHashSet();
     for (ITestResult r : results) {
-      for (Object o : method.getInstances()) {
+      final Object o = method.getInstance();
         // Keep this instance if 1) It's on a different class or 2) It's on the same class
         // and on the same instance
         Object instance = r.getInstance() != null
-            ? r.getInstance() : r.getMethod().getInstances()[0];
+            ? r.getInstance() : r.getMethod().getInstance();
         if (r.getTestClass() != method.getTestClass() || instance == o) result.add(r);
-      }
     }
     return result;
   }
diff --git a/src/main/java/org/testng/internal/TestMethodWithDataProviderMethodWorker.java b/src/main/java/org/testng/internal/TestMethodWithDataProviderMethodWorker.java
index 8ba02f3..4b4005b 100755
--- a/src/main/java/org/testng/internal/TestMethodWithDataProviderMethodWorker.java
+++ b/src/main/java/org/testng/internal/TestMethodWithDataProviderMethodWorker.java
@@ -15,7 +15,7 @@ public class TestMethodWithDataProviderMethodWorker implements Callable<List<ITe
 
   private ITestNGMethod m_testMethod;
   private Object[] m_parameterValues;
-  private Object[] m_instances;
+  private Object m_instance;
   private XmlSuite m_xmlSuite;
   private Map<String, String> m_parameters;
   private ITestClass m_testClass;
@@ -35,7 +35,7 @@ public class TestMethodWithDataProviderMethodWorker implements Callable<List<ITe
 
   public TestMethodWithDataProviderMethodWorker(Invoker invoker, ITestNGMethod testMethod,
       int parameterIndex,
-      Object[] parameterValues, Object[] instances, XmlSuite suite,
+      Object[] parameterValues, Object instance, XmlSuite suite,
       Map<String, String> parameters, ITestClass testClass,
       ITestNGMethod[] beforeMethods, ITestNGMethod[] afterMethods,
       ConfigurationGroupMethods groupMethods, ExpectedExceptionsHolder expectedExceptionHolder,
@@ -45,7 +45,7 @@ public class TestMethodWithDataProviderMethodWorker implements Callable<List<ITe
     m_testMethod = testMethod;
     m_parameterIndex = parameterIndex;
     m_parameterValues = parameterValues;
-    m_instances = instances;
+    m_instance = instance;
     m_xmlSuite = suite;
     m_parameters = parameters;
     m_testClass = testClass;
@@ -70,16 +70,16 @@ public class TestMethodWithDataProviderMethodWorker implements Callable<List<ITe
     long start = System.currentTimeMillis();
 
     try {
-      tmpResults.addAll(m_invoker.invokeTestMethod(m_instances,
-           m_testMethod,
-           m_parameterValues,
-           m_parameterIndex,
-           m_xmlSuite,
-           m_parameters,
-           m_testClass,
-           m_beforeMethods,
-           m_afterMethods,
-           m_groupMethods));
+      tmpResults.addAll(m_invoker.invokeTestMethod(m_instance,
+          m_testMethod,
+          m_parameterValues,
+          m_parameterIndex,
+          m_xmlSuite,
+          m_parameters,
+          m_testClass,
+          m_beforeMethods,
+          m_afterMethods,
+          m_groupMethods));
     }
     finally {
       List<Object> failedInstances = Lists.newArrayList();
@@ -94,8 +94,8 @@ public class TestMethodWithDataProviderMethodWorker implements Callable<List<ITe
           List<ITestResult> retryResults = Lists.newArrayList();
 
           m_failureCount =
-             m_invoker.retryFailed(failedInstances.toArray(),
-                 i, m_testMethod, m_xmlSuite, m_testClass, m_beforeMethods,
+             m_invoker.retryFailed(failedInstances.get(i),
+                 m_testMethod, m_xmlSuite, m_testClass, m_beforeMethods,
                  m_afterMethods, m_groupMethods, retryResults,
                  m_failureCount, m_expectedExceptionHolder,
                  m_testContext, m_parameters, m_parameterIndex);
@@ -118,7 +118,7 @@ public class TestMethodWithDataProviderMethodWorker implements Callable<List<ITe
         while (m_invocationCount-- > 0) {
           ITestResult r =
             new TestResult(m_testMethod.getTestClass(),
-              m_instances[0],
+              m_instance,
               m_testMethod,
               null,
               start,
diff --git a/src/main/java/org/testng/internal/TestMethodWorker.java b/src/main/java/org/testng/internal/TestMethodWorker.java
index d251264..100daf1 100644
--- a/src/main/java/org/testng/internal/TestMethodWorker.java
+++ b/src/main/java/org/testng/internal/TestMethodWorker.java
@@ -108,7 +108,7 @@ public class TestMethodWorker implements IWorker<ITestNGMethod> {
 
       // Invoke test method
       try {
-        invokeTestMethods(testMethod, testMthdInst.getInstances(), m_testContext);
+        invokeTestMethods(testMethod, testMthdInst.getInstance(), m_testContext);
       }
       finally {
         invokeAfterClassMethods(testClass, testMthdInst);
@@ -116,7 +116,7 @@ public class TestMethodWorker implements IWorker<ITestNGMethod> {
     }
   }
 
-  protected void invokeTestMethods(ITestNGMethod tm, Object[] instances,
+  protected void invokeTestMethods(ITestNGMethod tm, Object instance,
       ITestContext testContext)
   {
     // Potential bug here:  we look up the method index of tm among all
@@ -131,7 +131,7 @@ public class TestMethodWorker implements IWorker<ITestNGMethod> {
             m_suite,
             m_parameters,
             m_groupMethods,
-            instances,
+            instance,
             testContext);
 
     if (testResults != null) {
@@ -300,4 +300,4 @@ class SingleTestMethodWorker extends TestMethodWorker {
           null,
           testContext);
   }
-}
\ No newline at end of file
+}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/testng.git



More information about the pkg-java-commits mailing list