예제 #1
0
 @Override
 public void run() {
   runSuite(m_suiteRunner.getXmlSuite());
 }
예제 #2
0
  /**
   * Runs a suite and its children suites
   *
   * @param result populates this list with execution results
   * @param suiteRunnerMap map of suiteRunners that are updated with test results
   * @param xmlSuite XML suites to run
   */
  private void runSuite(XmlSuite xmlSuite) {
    //    System.out.println("Running suite:" + xmlSuite);
    if (m_verbose > 0) {
      StringBuffer allFiles = new StringBuffer();
      allFiles
          .append("  ")
          .append(xmlSuite.getFileName() != null ? xmlSuite.getFileName() : m_defaultSuiteName)
          .append('\n');
      Utils.log("TestNG", 0, "Running:\n" + allFiles.toString());
    }

    PoolService.initialize(xmlSuite.getDataProviderThreadCount());
    //    for (XmlSuite s : suiteRunnerMap.keySet()) {
    //      System.out.println(s.equals(xmlSuite) + " " + s.hashCode() + " " + xmlSuite.hashCode());
    //    }
    m_suiteRunner.run();
    //    PoolService.getInstance().shutdown();

    //
    // Display the final statistics
    //
    int passed = 0;
    int failed = 0;
    int skipped = 0;
    int confFailures = 0;
    int confSkips = 0;
    int total = 0;
    if (xmlSuite.getVerbose() > 0) {
      //      SuiteResultCounts counts = new SuiteResultCounts();
      //      counts.calculateResultCounts(xmlSuite, suiteRunnerMap);
      m_verboseOutput =
          new StringBuilder("\n===============================================\n")
              .append(xmlSuite.getName());
      for (ISuiteResult isr : m_suiteRunner.getResults().values()) {
        passed += isr.getTestContext().getPassedTests().size();
        failed += isr.getTestContext().getFailedTests().size();
        skipped += isr.getTestContext().getSkippedTests().size();
        confFailures += isr.getTestContext().getFailedConfigurations().size();
        confSkips += isr.getTestContext().getSkippedConfigurations().size();
      }
      total += passed + failed + skipped;

      m_verboseOutput
          .append("\nTotal tests run: ")
          .append(total)
          .append(", Failures: ")
          .append(failed)
          .append(", Skips: ")
          .append(skipped);
      ;
      if (confFailures > 0 || confSkips > 0) {
        m_verboseOutput
            .append("\nConfiguration Failures: ")
            .append(confFailures)
            .append(", Skips: ")
            .append(confSkips);
      }
      m_verboseOutput.append("\n===============================================\n");

      System.out.println(m_verboseOutput);
    }
  }