<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2018-09-13 
 | Rendered using Apache Maven Fluido Skin 1.6
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20180913" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Sling OSGi Feature Maven Plugin &#x2013; Surefire Report</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
      <script type="text/javascript" src="./js/apache-maven-fluido-1.6.min.js"></script>
      </head>
    <body class="topBarDisabled">
      <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><div id="bannerLeft"><h2>Apache Sling OSGi Feature Maven Plugin</h2>
</div>
</div>
        <div class="pull-right"></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2018-09-13<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 0.2.0-SNAPSHOT</li>
        </ul>
      </div>
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
<ul class="nav nav-list">
          <li class="nav-header">Overview</li>
    <li><a href="index.html" title="Introduction"><span class="none"></span>Introduction</a>  </li>
    <li><a href="plugin-info.html" title="Goals"><span class="none"></span>Goals</a>  </li>
          <li class="nav-header">Project Documentation</li>
    <li><a href="project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a>  </li>
    <li><a href="project-reports.html" title="Project Reports"><span class="icon-chevron-down"></span>Project Reports</a>
      <ul class="nav nav-list">
    <li><a href="apidocs/index.html" title="Javadoc"><span class="none"></span>Javadoc</a>  </li>
    <li class="active"><a href="#"><span class="none"></span>Surefire Report</a>
  </li>
    <li><a href="jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a>  </li>
    <li><a href="plugin-info.html" title="Plugin Documentation"><span class="none"></span>Plugin Documentation</a>  </li>
      </ul>
  </li>
  </ul>
          <hr />
          <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
  <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
              </div>
          </div>
        </div>
        <div id="bodyColumn"  class="span10" >
<script type="text/javascript">
//<![CDATA[
function toggleDisplay(elementId) {
 var elm = document.getElementById(elementId + 'error');
 if (elm && typeof elm.style != "undefined") {
 if (elm.style.display == "none") {
 elm.style.display = "";
 document.getElementById(elementId + 'off').style.display = "none";
 document.getElementById(elementId + 'on').style.display = "inline";
 } else if (elm.style.display == "") { elm.style.display = "none";
 document.getElementById(elementId + 'off').style.display = "inline";
 document.getElementById(elementId + 'on').style.display = "none";
 } 
 } 
 }
//]]>
</script>
<div class="section">
<h2><a name="Surefire_Report"></a>Surefire Report</h2></div>
<div class="section">
<h2><a name="Summary"></a>Summary</h2><a name="Summary"></a>
<p>[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</p><br />
<table border="1" class="table table-striped">
<tr class="a">
<th>Tests</th>
<th>Errors </th>
<th>Failures</th>
<th>Skipped</th>
<th>Success Rate</th>
<th>Time</th></tr>
<tr class="b">
<td>12</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.734</td></tr></table><br />
<p>Note: failures are anticipated and checked for with assertions while errors are unanticipated.</p><br /></div>
<div class="section">
<h2><a name="Package_List"></a>Package List</h2><a name="Package_List"></a>
<p>[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</p><br />
<table border="1" class="table table-striped">
<tr class="a">
<th>Package</th>
<th>Tests</th>
<th>Errors </th>
<th>Failures</th>
<th>Skipped</th>
<th>Success Rate</th>
<th>Time</th></tr>
<tr class="b">
<td><a href="#org.apache.sling.feature.maven.mojos">org.apache.sling.feature.maven.mojos</a></td>
<td>12</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.734</td></tr></table><br />
<p>Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.</p>
<div class="section">
<h3><a name="org.apache.sling.feature.maven.mojos"></a>org.apache.sling.feature.maven.mojos</h3><a name="org.apache.sling.feature.maven.mojos"></a>
<table border="1" class="table table-striped">
<tr class="a">
<th></th>
<th>Class</th>
<th>Tests</th>
<th>Errors </th>
<th>Failures</th>
<th>Skipped</th>
<th>Success Rate</th>
<th>Time</th></tr>
<tr class="b">
<td><a href="#org.apache.sling.feature.maven.mojosAggregateFeaturesTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.mojosAggregateFeaturesTest">AggregateFeaturesTest</a></td>
<td>8</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0.734</td></tr>
<tr class="a">
<td><a href="#org.apache.sling.feature.maven.mojosAttachFeatureTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.mojosAttachFeatureTest">AttachFeatureTest</a></td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0</td></tr>
<tr class="b">
<td><a href="#org.apache.sling.feature.maven.mojosGenerateResourceTest"><img src="images/icon_success_sml.gif" alt="" /></a></td>
<td><a href="#org.apache.sling.feature.maven.mojosGenerateResourceTest">GenerateResourceTest</a></td>
<td>3</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>100%</td>
<td>0</td></tr></table></div><br /></div>
<div class="section">
<h2><a name="Test_Cases"></a>Test Cases</h2><a name="Test_Cases"></a>
<p>[<a href="#Summary">Summary</a>] [<a href="#Package_List">Package List</a>] [<a href="#Test_Cases">Test Cases</a>]</p>
<div class="section">
<h3><a name="AggregateFeaturesTest"></a>AggregateFeaturesTest</h3><a name="org.apache.sling.feature.maven.mojosAggregateFeaturesTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesTest.testIncludeOrdering"></a>testIncludeOrdering</td>
<td>0.563</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesTest.testNonMatchingDirectoryIncludes"></a>testNonMatchingDirectoryIncludes</td>
<td>0</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesTest.testAggregateFeaturesFromDirectory"></a>testAggregateFeaturesFromDirectory</td>
<td>0.016</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesTest.testReadFeatureFromArtifact"></a>testReadFeatureFromArtifact</td>
<td>0.047</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesTest.testFeatureConfig"></a>testFeatureConfig</td>
<td>0</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesTest.testAggregateFeaturesFromDirectoryWithIncludesExcludes"></a>testAggregateFeaturesFromDirectoryWithIncludesExcludes</td>
<td>0.015</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesTest.testNonMatchingDirectoryExcludes"></a>testNonMatchingDirectoryExcludes</td>
<td>0</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AggregateFeaturesTest.testPluginHandling"></a>testPluginHandling</td>
<td>0</td></tr></table></div>
<div class="section">
<h3><a name="AttachFeatureTest"></a>AttachFeatureTest</h3><a name="org.apache.sling.feature.maven.mojosAttachFeatureTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.AttachFeatureTest.testAttachArtifacts"></a>testAttachArtifacts</td>
<td>0</td></tr></table></div>
<div class="section">
<h3><a name="GenerateResourceTest"></a>GenerateResourceTest</h3><a name="org.apache.sling.feature.maven.mojosGenerateResourceTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.GenerateResourceTest.testExecute"></a>testExecute</td>
<td>0</td></tr>
<tr class="b">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.GenerateResourceTest.testReplaceVars"></a>testReplaceVars</td>
<td>0</td></tr>
<tr class="a">
<td><img src="images/icon_success_sml.gif" alt="" /></td>
<td><a name="TC_org.apache.sling.feature.maven.mojos.GenerateResourceTest.testExecuteWithoutFeatureFiles"></a>testExecuteWithoutFeatureFiles</td>
<td>0</td></tr></table></div><br /></div>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2007&#x2013;2018
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>
