This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.performance.base-0.0.2
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-performance.git

commit 022be37033e3d716d53316aeabbca1679dd7b977
Author: Antonio Sanso <[email protected]>
AuthorDate: Tue Dec 17 13:06:46 2013 +0000

    SLING-2729 - Performance Testing suite: Modified ReportLogger to log the 
test case name
    
    * applied patch from Andrei Dulvac (thanks)
    
    git-svn-id: 
https://svn.apache.org/repos/asf/sling/trunk/performance/base@1551534 
13f79535-47bb-0310-9956-ffa450edef68
---
 .../org/apache/sling/performance/ReportLogger.java | 90 ++++++++++++----------
 1 file changed, 50 insertions(+), 40 deletions(-)

diff --git a/src/main/java/org/apache/sling/performance/ReportLogger.java 
b/src/main/java/org/apache/sling/performance/ReportLogger.java
index ddbeb62..aea8bfc 100644
--- a/src/main/java/org/apache/sling/performance/ReportLogger.java
+++ b/src/main/java/org/apache/sling/performance/ReportLogger.java
@@ -12,45 +12,57 @@ import 
org.apache.commons.math.stat.descriptive.DescriptiveStatistics;
 
 public class ReportLogger {
 
+    public static final String REPORTS_DIR = "performance-reports";
+
        public enum ReportType {
                TXT
        }
 
-       public static void writeReport(String test, String testSuiteName,
-                       String name, DescriptiveStatistics statistics, 
ReportType reportType, PerformanceRunner.ReportLevel reportlevel)
-                       throws Exception {
+    /**
+     * Method the writes the performance report after a test is run
+     * @param testSuiteName
+     * @param testCaseName
+     * @param className
+     * @param methodName
+     * @param statistics
+     * @param reportType
+     * @param reportLevel
+     * @throws Exception
+     */
+    public static void writeReport(String testSuiteName, String testCaseName, 
String className, String methodName,
+            DescriptiveStatistics statistics, ReportType reportType, 
PerformanceRunner.ReportLevel reportLevel) throws Exception {
                switch (reportType) {
                case TXT:
-                       writeReportTxt(test, testSuiteName, name, statistics, 
reportlevel);
+                writeReportTxt(testSuiteName, testCaseName, className, 
methodName, statistics, reportLevel);
                        break;
                default:
-                       throw new Exception(
-                                       "The specified reporting format is not 
yet supported");
+                throw new Exception("The specified reporting format is not yet 
supported");
                }
        }
 
        /**
-        * Method the writes the performance report after a test is run
+     * Method the writes the performance report after a test is run, in text 
format
         * 
-        * @param test
-        *            the test name
-        * @param name
-        *            the name that will be listed in the report
+     * @param testSuiteName
+     * @param testCaseName
+     * @param className
+     * @param methodName
         * @param statistics
-        *            the statistics data to be written
-        * @throws IOException
+     * @param reportlevel
+     * @throws Exception
         */
-       public static void writeReportTxt(String test, String testSuiteName, 
String name, DescriptiveStatistics statistics, PerformanceRunner.ReportLevel 
reportlevel)
-                       throws Exception{
+    public static void writeReportTxt(String testSuiteName, String 
testCaseName, String className, String methodName,
+            DescriptiveStatistics statistics, PerformanceRunner.ReportLevel 
reportlevel) throws Exception {
 
-               String className = test;
-               className = className.substring(className.lastIndexOf(".") + 1);
+        // Short class form
+        String shortClassName = className.substring(className.lastIndexOf(".") 
+ 1);
 
-               File reportDir = new File("target/performance-reports");
+        File reportDir = new File("target/" + REPORTS_DIR);
                if (!reportDir.exists()) {
-                       if (!reportDir.mkdir())
-                               throw new IOException("Unable to create 
performance-reports directory");        
+            if (!reportDir.mkdir()) {
+                throw new IOException("Unable to create " + REPORTS_DIR + " 
directory");
                }
+        }
 
                // need this in the case a user wants to set the suite name 
from the
                // command line
@@ -62,26 +74,26 @@ public class ReportLogger {
                        }
                }
 
-               String resultFileName = className;
+        String resultFileName = shortClassName;
                if 
(reportlevel.equals(PerformanceRunner.ReportLevel.ClassLevel)){
                        writeReportClassLevel(resultFileName, testSuiteName, 
statistics);
                        }else if 
(reportlevel.equals(PerformanceRunner.ReportLevel.MethodLevel)){
-                               resultFileName = test + "." + name;
-                               writeReportMethodLevel(resultFileName, 
testSuiteName, statistics);
+            resultFileName = shortClassName + "." + methodName;
+            writeReportMethodLevel(resultFileName, testSuiteName, 
testCaseName, className, methodName, statistics);
                        }
        }
        
        /**
      * Write report for class level tests
+     *
      * @param resultFileName the name of the result file (without extension)
      * @param testSuiteName the name of the test suite name
      * @param statistics the statistics object used to compute different 
medians
-     * @throws IOException
      */
-    private static void writeReportClassLevel(String resultFileName, String 
testSuiteName, DescriptiveStatistics statistics)
-               throws IOException{
+    private static void writeReportClassLevel(String resultFileName, String 
testSuiteName,
+            DescriptiveStatistics statistics) throws IOException {
        
-       File report = new File("target/performance-reports", resultFileName + 
".txt");
+        File report = new File("target/" + REPORTS_DIR, resultFileName + 
".txt");
                boolean needsPrefix = !report.exists();
            PrintWriter writer = new PrintWriter(
                        new FileWriterWithEncoding(report, "UTF-8", true));
@@ -107,33 +119,35 @@ public class ReportLogger {
     
     /**
      * Write report for method level tests
+     *
      * @param resultFileName the name of the result file (without extension)
      * @param testSuiteName the name of the test suite name
+     * @param testCaseName
+     * @param className
+     * @param methodName
      * @param statistics the statistics object used to compute different 
medians
-     * @throws IOException
      */
-    private static void writeReportMethodLevel(String resultFileName, String 
testSuiteName, DescriptiveStatistics statistics)
-           throws IOException{
-       File report = new File("target/performance-reports", resultFileName + 
".txt");
+    private static void writeReportMethodLevel(String resultFileName, String 
testSuiteName, String testCaseName, String className,
+            String methodName, DescriptiveStatistics statistics) throws 
IOException {
+        File report = new File("target/" + REPORTS_DIR, resultFileName + 
".txt");
        
-       String className = resultFileName.substring(0, 
resultFileName.lastIndexOf(".")); 
-       String methodName = 
resultFileName.substring(resultFileName.lastIndexOf(".") + 1); 
-       
        boolean needsPrefix = !report.exists();
        PrintWriter writer = new PrintWriter(
                        new FileWriterWithEncoding(report, "UTF-8", true));
        try {
                if (needsPrefix) {
                        writer.format(
-                                       "%-40.40s|%-80.80s|%-40.40s|      
DateTime      |  min  |   10%%   |   50%%   |   90%%   |   max%n",
+                        "%-40.40s|%-120.120s|%-80.80s|%-40.40s|      DateTime  
    |  min  |   10%%   |   50%%   |   90%%   |   max%n",
                                        "Test Suite",
+                        "Test Case",
                                        "Test Class",
                                        "Test Method");
                }
                
                writer.format(
-                               
"%-40.40s|%-80.80s|%-40.40s|%-20.20s|%7.0f|%9.0f|%9.0f|%9.0f|%9.0f%n",
+                    
"%-40.40s|%-120.120s|%-80.80s|%-40.40s|%-20.20s|%7.0f|%9.0f|%9.0f|%9.0f|%9.0f%n",
                                testSuiteName,
+                    (testCaseName.length() < 120) ? (testCaseName) : 
(testCaseName.substring(0, 115) + "[...]"),
                                className,
                                methodName,
                                getDate(),
@@ -148,12 +162,8 @@ public class ReportLogger {
     }
            
        
-       
-
        /**
         * Get the date that will be written into the result file
-        * 
-        * @return
         */
        private static String getDate() {
                DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd 
HH:mm:ss");

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to