Automated merge with http://hg.netbeans.org/main/contrib
authorLukas Jungmann <jungi@netbeans.org>
Mon, 02 Jan 2012 21:25:38 +0100
changeset 177283a9aec79872e
parent 17724 4de09c703108
parent 17727 e5296a91b2a8
child 17729 7b3b96bba65e
Automated merge with http://hg.netbeans.org/main/contrib
     1.1 --- a/testng.maven/src/org/netbeans/modules/contrib/testng/maven/testngActionMappings.xml	Mon Jan 02 13:48:25 2012 +0100
     1.2 +++ b/testng.maven/src/org/netbeans/modules/contrib/testng/maven/testngActionMappings.xml	Mon Jan 02 21:25:38 2012 +0100
     1.3 @@ -62,7 +62,6 @@
     1.4          </goals>
     1.5          <properties>
     1.6              <jpda.listen>true</jpda.listen>
     1.7 -<!--            ", "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE-->
     1.8              <maven.surefire.debug>-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=n,address=${jpda.address}</maven.surefire.debug>
     1.9          </properties>
    1.10      </action>
     2.1 --- a/testng/src/org/netbeans/modules/contrib/testng/output/TestNGExecutionManager.java	Mon Jan 02 13:48:25 2012 +0100
     2.2 +++ b/testng/src/org/netbeans/modules/contrib/testng/output/TestNGExecutionManager.java	Mon Jan 02 21:25:38 2012 +0100
     2.3 @@ -1,7 +1,7 @@
     2.4  /*
     2.5   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
     2.6   *
     2.7 - * Copyright © 2009-2011 Oracle and/or its affiliates. All rights reserved.
     2.8 + * Copyright © 2009-2012 Oracle and/or its affiliates. All rights reserved.
     2.9   *
    2.10   * The contents of this file are subject to the terms of either the GNU
    2.11   * General Public License Version 2 only ("GPL") or the Common
    2.12 @@ -39,11 +39,18 @@
    2.13  package org.netbeans.modules.contrib.testng.output;
    2.14  
    2.15  import java.io.File;
    2.16 +import java.io.IOException;
    2.17  import java.util.Properties;
    2.18  import java.util.Set;
    2.19 +import java.util.logging.Level;
    2.20 +import java.util.logging.Logger;
    2.21  import javax.swing.event.ChangeListener;
    2.22  import org.apache.tools.ant.module.spi.AntSession;
    2.23  import org.netbeans.api.project.Project;
    2.24 +import org.netbeans.modules.contrib.testng.actions.TestConfigAccessor;
    2.25 +import org.netbeans.modules.contrib.testng.api.TestNGSupport;
    2.26 +import org.netbeans.modules.contrib.testng.spi.TestConfig;
    2.27 +import org.netbeans.modules.contrib.testng.spi.TestNGSupportImplementation;
    2.28  import org.netbeans.modules.gsf.testrunner.api.RerunHandler;
    2.29  import org.netbeans.modules.gsf.testrunner.api.RerunType;
    2.30  import org.netbeans.modules.gsf.testrunner.api.TestSession;
    2.31 @@ -67,6 +74,8 @@
    2.32      private TestSession testSession;
    2.33      private Lookup lookup = Lookup.EMPTY;
    2.34  
    2.35 +    private static final Logger LOGGER = Logger.getLogger(TestNGExecutionManager.class.getName());
    2.36 +
    2.37      public TestNGExecutionManager(AntSession session, TestSession testSession, Properties props) {
    2.38          this.testSession = testSession;
    2.39          this.properties = props;
    2.40 @@ -115,6 +124,7 @@
    2.41                  }
    2.42              }
    2.43          } catch (Exception e) {
    2.44 +            LOGGER.log(Level.SEVERE, null, e);
    2.45          }
    2.46      }
    2.47  
    2.48 @@ -125,43 +135,59 @@
    2.49      }
    2.50  
    2.51      public void rerun(Set<Testcase> tests) {
    2.52 -        //not implemented yet
    2.53 +        Project p = testSession.getProject();
    2.54 +        TestNGSupportImplementation.TestExecutor exec = TestNGSupport.findTestNGSupport(p).createExecutor(p);
    2.55 +        TestConfig conf = TestConfigAccessor.getDefault().createTestConfig(p.getProjectDirectory(), true, null, null, null);
    2.56 +        try {
    2.57 +            exec.execute(TestNGSupport.Action.RUN_FAILED, conf);
    2.58 +        } catch (IOException ex) {
    2.59 +            LOGGER.log(Level.SEVERE, null, ex);
    2.60 +        }
    2.61      }
    2.62  
    2.63      public boolean enabled(RerunType type) {
    2.64          switch (type){
    2.65 -            case ALL: return true;
    2.66 -            case CUSTOM: return false;
    2.67 -            default: return false;
    2.68 +            case ALL:
    2.69 +                return true;
    2.70 +            case CUSTOM:
    2.71 +                Project p = testSession.getProject();
    2.72 +                if (TestNGSupport.isActionSupported(TestNGSupport.Action.RUN_FAILED, p)) {
    2.73 +                    return TestNGSupport.findTestNGSupport(p).createExecutor(p).hasFailedTests();
    2.74 +                }
    2.75 +                return false;
    2.76 +            default:
    2.77 +                return false;
    2.78          }
    2.79      }
    2.80  
    2.81 -    public boolean enabled() {
    2.82 -        if ((scriptFile == null) || (targets == null) || (targets.length == 0)) {
    2.83 -            return false;
    2.84 -        }
    2.85 +//    public boolean enabled() {
    2.86 +//        if ((scriptFile == null) || (targets == null) || (targets.length == 0)) {
    2.87 +//            return false;
    2.88 +//        }
    2.89 +//
    2.90 +//        Project project = testSession.getProject();
    2.91 +//        ActionProvider actionProvider = project.getLookup().lookup(ActionProvider.class);
    2.92 +//        if (actionProvider != null) {
    2.93 +//            boolean runSupported = false;
    2.94 +//            for (String action : actionProvider.getSupportedActions()) {
    2.95 +//                if (action.equals(targets[0])) {
    2.96 +//                    runSupported = true;
    2.97 +//                    break;
    2.98 +//                }
    2.99 +//            }
   2.100 +//            if (runSupported && actionProvider.isActionEnabled(targets[0], lookup)) {
   2.101 +//                return true;
   2.102 +//            }
   2.103 +//        }
   2.104 +//
   2.105 +//        return false;
   2.106 +//    }
   2.107  
   2.108 -        Project project = testSession.getProject();
   2.109 -        ActionProvider actionProvider = project.getLookup().lookup(ActionProvider.class);
   2.110 -        if (actionProvider != null) {
   2.111 -            boolean runSupported = false;
   2.112 -            for (String action : actionProvider.getSupportedActions()) {
   2.113 -                if (action.equals(targets[0])) {
   2.114 -                    runSupported = true;
   2.115 -                    break;
   2.116 -                }
   2.117 -            }
   2.118 -            if (runSupported && actionProvider.isActionEnabled(targets[0], lookup)) {
   2.119 -                return true;
   2.120 -            }
   2.121 -        }
   2.122 -
   2.123 -        return false;
   2.124 -    }
   2.125 -
   2.126 +    @Override
   2.127      public void addChangeListener(ChangeListener listener) {
   2.128      }
   2.129  
   2.130 +    @Override
   2.131      public void removeChangeListener(ChangeListener listener) {
   2.132      }
   2.133  }
     3.1 --- a/testng/src/org/netbeans/modules/contrib/testng/resources/layer.xml	Mon Jan 02 13:48:25 2012 +0100
     3.2 +++ b/testng/src/org/netbeans/modules/contrib/testng/resources/layer.xml	Mon Jan 02 21:25:38 2012 +0100
     3.3 @@ -126,6 +126,15 @@
     3.4              </folder>
     3.5          </folder>
     3.6      </folder>
     3.7 +    <folder name="Navigator">
     3.8 +        <folder name="Panels">
     3.9 +            <folder name="text">
    3.10 +                <folder name="x-testng+xml">
    3.11 +                    <file name="org-netbeans-modules-xml-text-navigator-XMLNavigatorPanel.instance"/>
    3.12 +                </folder>
    3.13 +            </folder>
    3.14 +        </folder>
    3.15 +    </folder>
    3.16      <folder name="Services">
    3.17          <folder name="MIMEResolver">
    3.18              <file name="testng-suite-resolver.xml" url="testng-suite-resolver.xml">