<!DOCTYPE html>


<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 from org.apache.maven.plugins:maven-surefire-report-plugin:3.0.0-M5:report at 2022-08-21
 | Rendered using Apache Maven Fluido Skin 1.11.1
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" />
    <title>Apache Sling Maven Plugin &#x2013; Surefire Report</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.11.1.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script src="./js/apache-maven-fluido-1.11.1.min.js"></script>

    <!-- Matomo -->
    <script>
        var _paq = window._paq = window._paq || [];
                _paq.push(['disableCookies']);
                    _paq.push(['trackPageView']);
                    _paq.push(['enableLinkTracking']);
        
        (function() {
            var u="https://analytics.apache.org";
            _paq.push(['setTrackerUrl', u+'/matomo.php']);
            _paq.push(['setSiteId', '6']);
            var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
            g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s);
        })();
    </script>
    <!-- End Matomo Code -->
    <style>.github-fork-ribbon:before { background-color: gray; }</style>
  </head>
  <body class="topBarDisabled">
    <a class="github-fork-ribbon right-top" href="https://github.com/apache/sling-maven-plugin" data-ribbon="Fork me on GitHub" title="Fork me on GitHub">Fork me on GitHub</a>
    <div class="container-fluid">
      <header>
        <div id="banner">
          <div class="pull-left"><a href="https://sling.apache.org/" id="bannerLeft"><img src="https://sling.apache.org/res/logos/sling.svg"  alt="Apache Sling" style="width: 123px; height: 63px;" /></a></div>
          <div class="pull-right"><a href="https://apache.org/" id="bannerRight"><img src="https://sling.apache.org/res/logos/apache.png"  alt="Apache" style="" /></a></div>
          <div class="clear"><hr/></div>
        </div>

        <div id="breadcrumbs">
          <ul class="breadcrumb">
      <li class=""><a href="https://sling.apache.org/" class="externalLink" title="Apache Sling">Apache Sling</a><span class="divider">/</span></li>
      <li class=""><a href="https://sling.apache.org/components/" class="externalLink" title="Maven Plugins">Maven Plugins</a><span class="divider">/</span></li>
      <li class=""><a href="index.html" title="Apache Sling Maven Plugin">Apache Sling Maven Plugin</a><span class="divider">/</span></li>
    <li class="active ">Surefire Report</li>
        <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2022-08-21</li>
          <li id="projectVersion" class="pull-right">Version: 3.0.2</li>
          </ul>
        </div>
      </header>
      <div class="row-fluid">
        <header id="leftColumn" class="span2">
          <nav 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="bundle-installation.html" title="Bundle Installation"><span class="none"></span>Bundle Installation</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><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>
          </nav>
          <div class="well sidebar-nav">
            <div id="poweredBy">
              <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>
        </header>
        <main id="bodyColumn"  class="span10" >
<script type="application/javascript">
//<![CDATA[
function toggleDisplay(elementId) {
 var elm = document.getElementById(elementId + '-error');
 if (elm == null) {
  elm = document.getElementById(elementId + '-failure');
 }
 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><section>
<h2><a name="Surefire_Report"></a>Surefire Report</h2></section><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 align="left">21</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">100%</td>
<td align="left">0.1</td></tr></table><br />
<p>Note: failures are anticipated and checked for with assertions while errors are unanticipated.</p><br /></section><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 align="left"><a href="#org.apache.sling.maven.bundlesupport.deploy.method">org.apache.sling.maven.bundlesupport.deploy.method</a></td>
<td align="left">5</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">100%</td>
<td align="left">0</td></tr>
<tr class="a">
<td align="left"><a href="#org.apache.sling.maven.bundlesupport">org.apache.sling.maven.bundlesupport</a></td>
<td align="left">16</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">100%</td>
<td align="left">0.1</td></tr></table><br />
<p>Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.</p><section>
<h3><a name="org.apache.sling.maven.bundlesupport.deploy.method"></a>org.apache.sling.maven.bundlesupport.deploy.method</h3><a name="org.apache.sling.maven.bundlesupport.deploy.method"></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 align="left"><a href="#org.apache.sling.maven.bundlesupport.deploy.method.SlingPostDeployMethodTest"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></a></td>
<td align="left"><a href="#org.apache.sling.maven.bundlesupport.deploy.method.SlingPostDeployMethodTest">SlingPostDeployMethodTest</a></td>
<td align="left">2</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">100%</td>
<td align="left">0</td></tr>
<tr class="a">
<td align="left"><a href="#org.apache.sling.maven.bundlesupport.deploy.method.IntermediateUrisExtractorTest"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></a></td>
<td align="left"><a href="#org.apache.sling.maven.bundlesupport.deploy.method.IntermediateUrisExtractorTest">IntermediateUrisExtractorTest</a></td>
<td align="left">3</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">100%</td>
<td align="left">0</td></tr></table></section><section>
<h3><a name="org.apache.sling.maven.bundlesupport"></a>org.apache.sling.maven.bundlesupport</h3><a name="org.apache.sling.maven.bundlesupport"></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 align="left"><a href="#org.apache.sling.maven.bundlesupport.ValidationMojoTest"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></a></td>
<td align="left"><a href="#org.apache.sling.maven.bundlesupport.ValidationMojoTest">ValidationMojoTest</a></td>
<td align="left">3</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">100%</td>
<td align="left">0</td></tr>
<tr class="a">
<td align="left"><a href="#org.apache.sling.maven.bundlesupport.GenerateAdapterMetadataMojoTest"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></a></td>
<td align="left"><a href="#org.apache.sling.maven.bundlesupport.GenerateAdapterMetadataMojoTest">GenerateAdapterMetadataMojoTest</a></td>
<td align="left">1</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">100%</td>
<td align="left">0.063</td></tr>
<tr class="b">
<td align="left"><a href="#org.apache.sling.maven.bundlesupport.BundlePrerequisiteTest"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></a></td>
<td align="left"><a href="#org.apache.sling.maven.bundlesupport.BundlePrerequisiteTest">BundlePrerequisiteTest</a></td>
<td align="left">3</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">100%</td>
<td align="left">0.03</td></tr>
<tr class="a">
<td align="left"><a href="#org.apache.sling.maven.bundlesupport.JsonSupportTest"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></a></td>
<td align="left"><a href="#org.apache.sling.maven.bundlesupport.JsonSupportTest">JsonSupportTest</a></td>
<td align="left">9</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">100%</td>
<td align="left">0.007</td></tr></table></section><br /></section><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><section>
<h3><a name="ValidationMojoTest"></a>ValidationMojoTest</h3><a name="org.apache.sling.maven.bundlesupport.ValidationMojoTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.ValidationMojoTest.testParseLineNumber"></a>testParseLineNumber</td>
<td align="left">0</td></tr>
<tr class="b">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.ValidationMojoTest.testParseColumnNumber"></a>testParseColumnNumber</td>
<td align="left">0</td></tr>
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.ValidationMojoTest.testCleanupMessage"></a>testCleanupMessage</td>
<td align="left">0</td></tr></table></section><section>
<h3><a name="SlingPostDeployMethodTest"></a>SlingPostDeployMethodTest</h3><a name="org.apache.sling.maven.bundlesupport.deploy.method.SlingPostDeployMethodTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.deploy.method.SlingPostDeployMethodTest.testGetURLWithFilename"></a>testGetURLWithFilename</td>
<td align="left">0</td></tr>
<tr class="b">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.deploy.method.SlingPostDeployMethodTest.testStripTrailingSlash"></a>testStripTrailingSlash</td>
<td align="left">0</td></tr></table></section><section>
<h3><a name="GenerateAdapterMetadataMojoTest"></a>GenerateAdapterMetadataMojoTest</h3><a name="org.apache.sling.maven.bundlesupport.GenerateAdapterMetadataMojoTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.GenerateAdapterMetadataMojoTest.testExecute"></a>testExecute</td>
<td align="left">0.062</td></tr></table></section><section>
<h3><a name="IntermediateUrisExtractorTest"></a>IntermediateUrisExtractorTest</h3><a name="org.apache.sling.maven.bundlesupport.deploy.method.IntermediateUrisExtractorTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.deploy.method.IntermediateUrisExtractorTest.extractPaths_trailingSlash"></a>extractPaths_trailingSlash</td>
<td align="left">0</td></tr>
<tr class="b">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.deploy.method.IntermediateUrisExtractorTest.extractPaths_empty"></a>extractPaths_empty</td>
<td align="left">0</td></tr>
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.deploy.method.IntermediateUrisExtractorTest.extractPaths"></a>extractPaths</td>
<td align="left">0</td></tr></table></section><section>
<h3><a name="BundlePrerequisiteTest"></a>BundlePrerequisiteTest</h3><a name="org.apache.sling.maven.bundlesupport.BundlePrerequisiteTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.BundlePrerequisiteTest.testGetOsgiVersion_ShortVersion"></a>testGetOsgiVersion_ShortVersion</td>
<td align="left">0.002</td></tr>
<tr class="b">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.BundlePrerequisiteTest.testGetOsgiVersion"></a>testGetOsgiVersion</td>
<td align="left">0</td></tr>
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.BundlePrerequisiteTest.testGetOsgiVersion_SnapshotVersion"></a>testGetOsgiVersion_SnapshotVersion</td>
<td align="left">0</td></tr></table></section><section>
<h3><a name="JsonSupportTest"></a>JsonSupportTest</h3><a name="org.apache.sling.maven.bundlesupport.JsonSupportTest"></a>
<table border="1" class="table table-striped">
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.JsonSupportTest.testParseArray"></a>testParseArray</td>
<td align="left">0</td></tr>
<tr class="b">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.JsonSupportTest.testParseObject"></a>testParseObject</td>
<td align="left">0</td></tr>
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.JsonSupportTest.testValidateJsonStructure_Invalid"></a>testValidateJsonStructure_Invalid</td>
<td align="left">0</td></tr>
<tr class="b">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.JsonSupportTest.testAccumulate_NewValue"></a>testAccumulate_NewValue</td>
<td align="left">0</td></tr>
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.JsonSupportTest.testValidateJsonStructure"></a>testValidateJsonStructure</td>
<td align="left">0</td></tr>
<tr class="b">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.JsonSupportTest.testValidateJsonStructure_InvalidQuoteTick"></a>testValidateJsonStructure_InvalidQuoteTick</td>
<td align="left">0</td></tr>
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.JsonSupportTest.testToJson"></a>testToJson</td>
<td align="left">0.004</td></tr>
<tr class="b">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.JsonSupportTest.testAccumulate_ExistingArray"></a>testAccumulate_ExistingArray</td>
<td align="left">0.002</td></tr>
<tr class="a">
<td align="left"><figure><img src="images/icon_success_sml.gif" alt="" /></figure></td>
<td align="left"><a name="TC_org.apache.sling.maven.bundlesupport.JsonSupportTest.testAccumulate_ExistingValue"></a>testAccumulate_ExistingValue</td>
<td align="left">0</td></tr></table></section><br /></section>
        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
<p>&#169; 2022
<a href="https://www.apache.org/">The Apache Software Foundation</a> &vert; <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a>
</p>
        </div>
      </div>
    </footer>
<script>
	if(anchors) {
	  anchors.add();
	}
</script>
  </body>
</html>
