jmeter-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fschumac...@apache.org
Subject svn commit: r1855099 - /jmeter/trunk/test/src/org/apache/jmeter/gui/action/HtmlReportGeneratorSpec.groovy
Date Sat, 09 Mar 2019 09:43:41 GMT
Author: fschumacher
Date: Sat Mar  9 09:43:41 2019
New Revision: 1855099

URL: http://svn.apache.org/viewvc?rev=1855099&view=rev
Log:
Bug 59896 - Report / Dashboard : Add a menu entry to generate a report on demand from a CSV
file

Try to get independent from path separators on different platforms

Bugzilla Id: 59896


Modified:
    jmeter/trunk/test/src/org/apache/jmeter/gui/action/HtmlReportGeneratorSpec.groovy

Modified: jmeter/trunk/test/src/org/apache/jmeter/gui/action/HtmlReportGeneratorSpec.groovy
URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/gui/action/HtmlReportGeneratorSpec.groovy?rev=1855099&r1=1855098&r2=1855099&view=diff
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/gui/action/HtmlReportGeneratorSpec.groovy (original)
+++ jmeter/trunk/test/src/org/apache/jmeter/gui/action/HtmlReportGeneratorSpec.groovy Sat
Mar  9 09:43:41 2019
@@ -22,6 +22,7 @@ import spock.lang.IgnoreIf
 import spock.lang.Shared
 import spock.lang.Unroll
 
+import java.nio.file.Paths
 import java.net.URL;
 import java.text.MessageFormat
 
@@ -36,7 +37,16 @@ import com.fasterxml.jackson.databind.Ob
 
 class HtmlReportGeneratorSpec extends JMeterSpec{
 
-    @Shared jmeterBinDir = JMeterUtils.getJMeterBinDir();
+    /**
+     * Combine the given path parts to one path with the correct path separator of the current
platform.
+     * The current JMeter bin directory will be prepended to the path.
+     * 
+     * @param paths to be combined (should contain no path separators)
+     * @return combined path as string
+     */
+    def combine(String... paths) {
+       Paths.get(JMeterUtils.getJMeterBinDir(), paths).toString()
+    }
 
     def "check if generation from csv: '#csvPath' with properties: '#userPropertiesPath'
in folder: '#outputDirectoryPath' contains the expected error"(){
         when:
@@ -45,27 +55,27 @@ class HtmlReportGeneratorSpec extends JM
         then:
             resultList.equals(expected)
         where:
-            csvPath                                                           | userPropertiesPath
                                       | outputDirectoryPath                             
     | expected
-            jmeterBinDir+"/testfiles/HTMLReportTestFile.csv" | jmeterBinDir+"/user.properties"
         | jmeterBinDir+"/testfiles/testReport" | []
-            jmeterBinDir+"/testfiles/HTMLReportTestFile.csv" | jmeterBinDir+"/user.properties"
         | jmeterBinDir+"/testfiles" | [
+            csvPath                                               | userPropertiesPath  
               | outputDirectoryPath                     | expected
+            combine("testfiles", "HTMLReportTestFile.csv")        | combine("user.properties")
         | combine("testfiles", "testReport")      | []
+            combine("testfiles", "HTMLReportTestFile.csv")        | combine("user.properties")
         | combine("testfiles")                    | [
                 JMeterUtils.getResString("generate_report_ui.output_directory") + MessageFormat.format(JMeterUtils.getResString(HtmlReportGenerator.NOT_EMPTY_DIRECTORY),
outputDirectoryPath)
             ]
-            jmeterBinDir+"/testfiles/HTMLReportTestFileMissing.csv" | jmeterBinDir+"/user.properties"
         | jmeterBinDir+"/testfiles/testReport" | [
+            combine("testfiles", "HTMLReportTestFileMissing.csv") | combine("user.properties")
         | combine("testfiles", "testReport")      | [
                 JMeterUtils.getResString("generate_report_ui.csv_file") + MessageFormat.format(JMeterUtils.getResString(HtmlReportGenerator.NO_FILE),
csvPath)
             ]
-            ""                                                                | ""      
                                                 | ""                                    
               | [
+            ""                                                    | ""                  
               | ""                                      | [
                 JMeterUtils.getResString("generate_report_ui.csv_file") + MessageFormat.format(JMeterUtils.getResString(HtmlReportGenerator.NO_FILE),
csvPath),
                 JMeterUtils.getResString("generate_report_ui.user_properties_file") + MessageFormat.format(JMeterUtils.getResString(HtmlReportGenerator.NO_FILE),
userPropertiesPath),
                 JMeterUtils.getResString("generate_report_ui.output_directory") + MessageFormat.format(JMeterUtils.getResString(HtmlReportGenerator.CANNOT_CREATE_DIRECTORY),
outputDirectoryPath)
             ]
-            jmeterBinDir+"/testfiles/HTMLReportTestFile.csv" | jmeterBinDir+"/user.properties"
| jmeterBinDir+"/testfiles/testReport/oneLevel/twolevel"            | [
+            combine("testfiles", "HTMLReportTestFile.csv")        | combine("user.properties")
         | combine("testfiles", "testReport", "oneLevel", "twolevel") | [
                 JMeterUtils.getResString("generate_report_ui.output_directory") + MessageFormat.format(JMeterUtils.getResString(HtmlReportGenerator.CANNOT_CREATE_DIRECTORY),
outputDirectoryPath)
             ]
     }
     
     def "check that report generation succeeds and statistic are generated"(){
         setup:
-            File testDirectory = new File(jmeterBinDir, "/testfiles/testReport")
+            File testDirectory = new File(combine("testfiles", "testReport"))
             if(testDirectory.exists()) {
                 if (testDirectory.list().length>0) {
                     FileUtils.cleanDirectory(testDirectory)
@@ -81,11 +91,11 @@ class HtmlReportGeneratorSpec extends JM
             }
         when:
             HtmlReportGenerator htmlReportGenerator = new HtmlReportGenerator(
-                    jmeterBinDir + "/testfiles/HTMLReportTestFile.csv",
-                    jmeterBinDir + "/user.properties", 
+                    combine("testfiles", "HTMLReportTestFile.csv"),
+                    combine("user.properties"), 
                     testDirectory.toString())
             List<String> resultList = htmlReportGenerator.run()
-            File statistics = new File(jmeterBinDir, "/testfiles/testReport/statistics.json")
+            File statistics = new File(combine("testfiles", "testReport", "statistics.json"))
             JsonNode actualRoot = null;
             if (statistics.exists()) {
                 statistics.withReader { jsonFileReader -> 
@@ -107,7 +117,7 @@ class HtmlReportGeneratorSpec extends JM
     
     def "check that report generation fails when format does not match and error is reported"(){
         setup:
-            File testDirectory = new File(jmeterBinDir,"/testfiles/testReportThatShouldBeEmpty")
+            File testDirectory = new File(combine("testfiles", "testReportThatShouldBeEmpty"))
             if(testDirectory.exists()) {
                 if (testDirectory.list().length>0) {
                     FileUtils.cleanDirectory(testDirectory)
@@ -117,8 +127,8 @@ class HtmlReportGeneratorSpec extends JM
             }
         when:
             HtmlReportGenerator htmlReportGenerator = new HtmlReportGenerator(
-                jmeterBinDir + "/testfiles/HTMLReportFalseTestFile.csv",
-                jmeterBinDir + "/user.properties", 
+                combine("testfiles", "HTMLReportFalseTestFile.csv"),
+                combine("user.properties"), 
                 testDirectory.toString())
             List<String> resultList = htmlReportGenerator.run()
         then:



Mime
View raw message