On 3 November 2010 09:32, sebb <[email protected]> wrote:
> On 3 November 2010 08:03, Milamber <[email protected]> wrote:
>> Hello,
>>
>> When I use Ant script [tests] (on same project), I have the following
>> errors :
>>
>> * 1 error with jdk1.6_21
>> * 1 error + 4 failures with jdk1.6_22
>>
>> For the error, I think that must remove a slash in
>> test/src/org/apache/jmeter/services/TestFileServer.java
>> on this line : "infile=findTestPath("/testfiles/test.csv");"
>> to infile=findTestPath("testfiles/test.csv");
>
> Oops!
>
> No idea why this works on Windows.
>
>> For failures, I don't understand now (I don't really searching the root
>> cause)
>
> Me neither, but I will investigate.

Looks like the HTTP implementation has changed - it no longer seems to
send the Content-Length header with POST requests.

>
> I'm also updating the build script and test code so Hudson should
> catch failures better.
>
>> ================== JDK1.6 u21=================================
>>     [echo]
>>     [echo]    gump.run = false
>>     [echo]    java.awt.headless = ${java.awt.headless}
>>     [echo]    test.headless =
>>     [echo]    user.dir =
>> /home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration
>>     [echo]    basedir =
>> /home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration
>>     [echo]    test dir = build/test
>>     [echo]    test dir gump = build/test
>>     [echo]    testsaveservice.saveout = ${testsaveservice.saveout}
>>     [echo]
>>     [java] Setting JMeterHome:
>> /home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration
>>     [java] Setting up logging props using file:
>> /home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration/bin/testfiles/jmetertest.properties
>>     [java] Using initializeProperties() from
>> org.apache.jmeter.util.JMeterUtils
>>     [java] Setting up initial properties using:
>> /home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration/bin/testfiles/jmetertest.properties
>>     [java] Initializing Properties:
>> /home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration/bin/testfiles/jmetertest.properties
>>     [java] java.version=1.6.0_21
>>     [java] java.home=/home/milamber/opt/jdk1.6.0_21/jre
>>     [java]
>> user.dir=/home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration/bin
>>     [java] os.name=Linux
>>     [java] os.version=2.6.32-5-amd64
>>     [java] +++++++++++
>>     [java] java.awt.headless=
>>     [java] java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
>>     [java] ------------
>>     [java] Creating test suite
>>     [java] Scanning build/test for test cases
>>     [java] ClassFinder found: 87 TestCase classes
>>     [java] INFO: JMeterGUIComponent: skipping some tests
>> org.apache.jmeter.testbeans.gui.TestBeanGUI
>>     [java] Created: 87 tests including 8 suites
>>     [java] Starting test run, test count = 1999
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] ...............E..........................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] ...............................
>>     [java] Time: 24.488
>>     [java] There was 1 error:
>>     [java] 1)
>> testopen(org.apache.jmeter.services.TestFileServer)java.io.FileNotFoundException:
>> /testfiles/test.csv (No such file or directory)
>>     [java]     at java.io.FileInputStream.open(Native Method)
>>     [java]     at java.io.FileInputStream.<init>(FileInputStream.java:106)
>>     [java]     at
>> org.apache.jmeter.services.FileServer.createBufferedReader(FileServer.java:241)
>>     [java]     at
>> org.apache.jmeter.services.FileServer.readLine(FileServer.java:218)
>>     [java]     at
>> org.apache.jmeter.services.FileServer.readLine(FileServer.java:202)
>>     [java]     at
>> org.apache.jmeter.services.FileServer.readLine(FileServer.java:190)
>>     [java]     at
>> org.apache.jmeter.services.TestFileServer.testopen(TestFileServer.java:90)
>>     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>>     [java]     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>     [java]     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>     [java]     at org.apache.jorphan.test.AllTests.main(AllTests.java:224)
>>     [java] FAILURES!!!
>>     [java] Tests run: 1999,  Failures: 0,  Errors: 1
>> =============================================================
>>
>>
>>
>> ================== JDK1.6 u22=================================
>> _test:
>>     [echo]
>>     [echo]    gump.run = false
>>     [echo]    java.awt.headless = ${java.awt.headless}
>>     [echo]    test.headless =
>>     [echo]    user.dir =
>> /home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration
>>     [echo]    basedir =
>> /home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration
>>     [echo]    test dir = build/test
>>     [echo]    test dir gump = build/test
>>     [echo]    testsaveservice.saveout = ${testsaveservice.saveout}
>>     [echo]
>>     [java] Setting JMeterHome:
>> /home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration
>>     [java] Setting up logging props using file:
>> /home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration/bin/testfiles/jmetertest.properties
>>     [java] Using initializeProperties() from
>> org.apache.jmeter.util.JMeterUtils
>>     [java] Setting up initial properties using:
>> /home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration/bin/testfiles/jmetertest.properties
>>     [java] Initializing Properties:
>> /home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration/bin/testfiles/jmetertest.properties
>>     [java] java.version=1.6.0_22
>>     [java] java.home=/home/milamber/opt/jdk1.6.0_22/jre
>>     [java]
>> user.dir=/home/milamber/W-workspaces/Workspaces-JMeter/JMeter-Integration/bin
>>     [java] os.name=Linux
>>     [java] os.version=2.6.32-5-amd64
>>     [java] +++++++++++
>>     [java] java.awt.headless=
>>     [java] java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
>>     [java] ------------
>>     [java] Creating test suite
>>     [java] Scanning build/test for test cases
>>     [java] ClassFinder found: 87 TestCase classes
>>     [java] INFO: JMeterGUIComponent: skipping some tests
>> org.apache.jmeter.testbeans.gui.TestBeanGUI
>>     [java] Created: 87 tests including 8 suites
>>     [java] Starting test run, test count = 1999
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] ........................................F.
>>     [java] .F..F..F....................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] ...............E..........................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] .........................................
>>     [java] ...............................
>>     [java] Time: 24.865
>>     [java] There was 1 error:
>>     [java] 1)
>> testopen(org.apache.jmeter.services.TestFileServer)java.io.FileNotFoundException:
>> /testfiles/test.csv (No such file or directory)
>>     [java]     at java.io.FileInputStream.open(Native Method)
>>     [java]     at java.io.FileInputStream.<init>(FileInputStream.java:106)
>>     [java]     at
>> org.apache.jmeter.services.FileServer.createBufferedReader(FileServer.java:241)
>>     [java]     at
>> org.apache.jmeter.services.FileServer.readLine(FileServer.java:218)
>>     [java]     at
>> org.apache.jmeter.services.FileServer.readLine(FileServer.java:202)
>>     [java]     at
>> org.apache.jmeter.services.FileServer.readLine(FileServer.java:190)
>>     [java]     at
>> org.apache.jmeter.services.TestFileServer.testopen(TestFileServer.java:90)
>>     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>>     [java]     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>     [java]     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>     [java]     at org.apache.jorphan.test.AllTests.main(AllTests.java:224)
>>     [java] There were 4 failures:
>>     [java] 1)
>> testPostRequest_UrlEncoded(org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer)junit.framework.AssertionFailedError:
>> Expected type:application/x-www-form-urlencoded & length: 39 in:
>>     [java] Connection: close
>>     [java] Content-Type: application/x-www-form-urlencoded
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkHeaderTypeLength(TestHTTPSamplersAgainstHttpMirrorServer.java:1012)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkPostRequestBody(TestHTTPSamplersAgainstHttpMirrorServer.java:816)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkPostRequestUrlEncoded(TestHTTPSamplersAgainstHttpMirrorServer.java:708)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.testPostRequest_UrlEncoded(TestHTTPSamplersAgainstHttpMirrorServer.java:165)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.testPostRequest_UrlEncoded(TestHTTPSamplersAgainstHttpMirrorServer.java:106)
>>     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>>     [java]     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>     [java]     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>     [java]     at
>> junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>>     [java]     at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
>>     [java]     at junit.extensions.TestSetup.run(TestSetup.java:27)
>>     [java]     at org.apache.jorphan.test.AllTests.main(AllTests.java:224)
>>     [java] 2)
>> testPostRequest_FormMultipart(org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer)junit.framework.AssertionFailedError:
>> Expected type:multipart/form-data;
>> boundary=---------------------------7d159c1302d0y0 & length: 421 in:
>>     [java] Connection: close
>>     [java] Content-Type: multipart/form-data;
>> boundary=---------------------------7d159c1302d0y0
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkHeaderTypeLength(TestHTTPSamplersAgainstHttpMirrorServer.java:1012)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkPostRequestFormMultipart(TestHTTPSamplersAgainstHttpMirrorServer.java:735)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.testPostRequest_FormMultipart(TestHTTPSamplersAgainstHttpMirrorServer.java:270)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.testPostRequest_FormMultipart(TestHTTPSamplersAgainstHttpMirrorServer.java:114)
>>     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>>     [java]     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>     [java]     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>     [java]     at
>> junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>>     [java]     at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
>>     [java]     at junit.extensions.TestSetup.run(TestSetup.java:27)
>>     [java]     at org.apache.jorphan.test.AllTests.main(AllTests.java:224)
>>     [java] 3)
>> testPostRequest_FileUpload(org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer)junit.framework.AssertionFailedError:
>> Expected type:multipart/form-data;
>> boundary=---------------------------7d159c1302d0y0 & length: 713 in:
>>     [java] Connection: close
>>     [java] Content-Type: multipart/form-data;
>> boundary=---------------------------7d159c1302d0y0
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkHeaderTypeLength(TestHTTPSamplersAgainstHttpMirrorServer.java:1012)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkPostRequestFileUpload(TestHTTPSamplersAgainstHttpMirrorServer.java:783)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.testPostRequest_FileUpload(TestHTTPSamplersAgainstHttpMirrorServer.java:369)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.testPostRequest_FileUpload(TestHTTPSamplersAgainstHttpMirrorServer.java:122)
>>     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>>     [java]     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>     [java]     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>     [java]     at
>> junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>>     [java]     at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
>>     [java]     at junit.extensions.TestSetup.run(TestSetup.java:27)
>>     [java]     at org.apache.jorphan.test.AllTests.main(AllTests.java:224)
>>     [java] 4)
>> testPostRequest_BodyFromParameterValues(org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer)junit.framework.AssertionFailedError:
>> Expected type:application/x-www-form-urlencoded & length: 20 in:
>>     [java] Connection: close
>>     [java] Content-Type: application/x-www-form-urlencoded
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkHeaderTypeLength(TestHTTPSamplersAgainstHttpMirrorServer.java:1012)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkPostRequestBody(TestHTTPSamplersAgainstHttpMirrorServer.java:816)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.testPostRequest_BodyFromParameterValues(TestHTTPSamplersAgainstHttpMirrorServer.java:405)
>>     [java]     at
>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.testPostRequest_BodyFromParameterValues(TestHTTPSamplersAgainstHttpMirrorServer.java:130)
>>     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>>     [java]     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>     [java]     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>     [java]     at
>> junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>>     [java]     at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
>>     [java]     at junit.extensions.TestSetup.run(TestSetup.java:27)
>>     [java]     at org.apache.jorphan.test.AllTests.main(AllTests.java:224)
>>     [java] FAILURES!!!
>>     [java] Tests run: 1999,  Failures: 4,  Errors: 1
>> =============================================================
>>
>>
>> Milamber
>>
>>
>> Le 28/10/2010 21:58, [email protected] a ecrit :
>>> Author: sebb
>>> Date: Thu Oct 28 21:58:11 2010
>>> New Revision: 1028515
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1028515&view=rev
>>> Log:
>>> Bug 49365 - Allow result set to be written to file in a path relative to 
>>> the loaded script
>>>
>>> Modified:
>>>     jakarta/jmeter/trunk/bin/examples/CSVSample.jmx
>>>     jakarta/jmeter/trunk/bin/jmeter.properties
>>>     
>>> jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java
>>>     
>>> jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultSaver.java
>>>     jakarta/jmeter/trunk/src/core/org/apache/jmeter/services/FileServer.java
>>>     jakarta/jmeter/trunk/xdocs/changes.xml
>>>     jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
>>>     jakarta/jmeter/trunk/xdocs/usermanual/listeners.xml
>>>
>>> Modified: jakarta/jmeter/trunk/bin/examples/CSVSample.jmx
>>> URL: 
>>> http://svn.apache.org/viewvc/jakarta/jmeter/trunk/bin/examples/CSVSample.jmx?rev=1028515&r1=1028514&r2=1028515&view=diff
>>> ==============================================================================
>>> --- jakarta/jmeter/trunk/bin/examples/CSVSample.jmx (original)
>>> +++ jakarta/jmeter/trunk/bin/examples/CSVSample.jmx Thu Oct 28 21:58:11 2010
>>> @@ -343,7 +343,7 @@
>>>              <bytes>true</bytes>
>>>            </value>
>>>          </objProp>
>>> -        <stringProp name="filename"></stringProp>
>>> +        <stringProp name="filename">~/CSVSample.jtl</stringProp>
>>>        </ResultCollector>
>>>        <hashTree/>
>>>        <ResultCollector guiclass="ViewResultsFullVisualizer" 
>>> testclass="ResultCollector" testname="View Results Tree" enabled="true">
>>>
>>> Modified: jakarta/jmeter/trunk/bin/jmeter.properties
>>> URL: 
>>> http://svn.apache.org/viewvc/jakarta/jmeter/trunk/bin/jmeter.properties?rev=1028515&r1=1028514&r2=1028515&view=diff
>>> ==============================================================================
>>> --- jakarta/jmeter/trunk/bin/jmeter.properties (original)
>>> +++ jakarta/jmeter/trunk/bin/jmeter.properties Thu Oct 28 21:58:11 2010
>>> @@ -364,6 +364,9 @@ log_level.jorphan=INFO
>>>  # Optional xml processing instruction for line 2 of the file:
>>>  #jmeter.save.saveservice.xml_pi=<?xml-stylesheet type="text/xsl" 
>>> href="../extras/jmeter-results-detail-report_21.xsl"?>
>>>
>>> +# Prefix used to identify filenames that are relative to the current base
>>> +#jmeter.save.saveservice.base_prefix=~/
>>> +
>>>  #---------------------------------------------------------------------------
>>>  # Settings that affect SampleResults
>>>  #---------------------------------------------------------------------------
>>>
>>> Modified: 
>>> jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java
>>> URL: 
>>> http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java?rev=1028515&r1=1028514&r2=1028515&view=diff
>>> ==============================================================================
>>> --- 
>>> jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java
>>>  (original)
>>> +++ 
>>> jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultCollector.java
>>>  Thu Oct 28 21:58:11 2010
>>> @@ -46,6 +46,7 @@ import org.apache.jmeter.samplers.Sample
>>>  import org.apache.jmeter.samplers.SampleSaveConfiguration;
>>>  import org.apache.jmeter.save.CSVSaveService;
>>>  import org.apache.jmeter.save.SaveService;
>>> +import org.apache.jmeter.services.FileServer;
>>>  import org.apache.jmeter.testelement.TestElement;
>>>  import org.apache.jmeter.testelement.TestListener;
>>>  import org.apache.jmeter.testelement.property.BooleanProperty;
>>> @@ -375,6 +376,7 @@ public class ResultCollector extends Abs
>>>          if (filename == null || filename.length() == 0) {
>>>              return null;
>>>          }
>>> +        filename = FileServer.resolveBaseRelativeName(filename);
>>>          FileEntry fe = files.get(filename);
>>>          PrintWriter writer = null;
>>>          boolean trimmed = true;
>>>
>>> Modified: 
>>> jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultSaver.java
>>> URL: 
>>> http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultSaver.java?rev=1028515&r1=1028514&r2=1028515&view=diff
>>> ==============================================================================
>>> --- 
>>> jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultSaver.java 
>>> (original)
>>> +++ 
>>> jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultSaver.java 
>>> Thu Oct 28 21:58:11 2010
>>> @@ -28,6 +28,7 @@ import org.apache.commons.lang.text.StrB
>>>  import org.apache.jmeter.samplers.SampleEvent;
>>>  import org.apache.jmeter.samplers.SampleListener;
>>>  import org.apache.jmeter.samplers.SampleResult;
>>> +import org.apache.jmeter.services.FileServer;
>>>  import org.apache.jmeter.testelement.AbstractTestElement;
>>>  import org.apache.jmeter.threads.JMeterContextService;
>>>  import org.apache.jorphan.logging.LoggingManager;
>>> @@ -173,7 +174,7 @@ public class ResultSaver extends Abstrac
>>>       *         text/html;charset=ISO-8859-1
>>>       */
>>>      private String makeFileName(String contentType, boolean 
>>> skipAutoNumber, boolean skipSuffix) {
>>> -        StrBuilder sb = new StrBuilder(getFilename());
>>> +        StrBuilder sb = new 
>>> StrBuilder(FileServer.resolveBaseRelativeName(getFilename()));
>>>          if (!skipAutoNumber){
>>>              sb.append(nextNumber());
>>>          }
>>>
>>> Modified: 
>>> jakarta/jmeter/trunk/src/core/org/apache/jmeter/services/FileServer.java
>>> URL: 
>>> http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/services/FileServer.java?rev=1028515&r1=1028514&r2=1028515&view=diff
>>> ==============================================================================
>>> --- 
>>> jakarta/jmeter/trunk/src/core/org/apache/jmeter/services/FileServer.java 
>>> (original)
>>> +++ 
>>> jakarta/jmeter/trunk/src/core/org/apache/jmeter/services/FileServer.java 
>>> Thu Oct 28 21:58:11 2010
>>> @@ -37,6 +37,7 @@ import java.util.Map;
>>>  import java.util.Random;
>>>
>>>  import org.apache.jmeter.gui.JMeterFileFilter;
>>> +import org.apache.jmeter.util.JMeterUtils;
>>>  import org.apache.jorphan.logging.LoggingManager;
>>>  import org.apache.log.Logger;
>>>
>>> @@ -54,9 +55,17 @@ import org.apache.log.Logger;
>>>   * test plans to execute on unknown boxes that only have Java installed.
>>>   */
>>>  public class FileServer {
>>> +
>>>      private static final Logger log = LoggingManager.getLoggerForClass();
>>>
>>> -    private static final String DEFAULT_BASE = 
>>> System.getProperty("user.dir");
>>> +    private static final String DEFAULT_BASE = 
>>> System.getProperty("user.dir");// $NON-NLS-1$
>>> +
>>> +    /** Default base prefix */
>>> +    private static final String BASE_PREFIX_DEFAULT = "~/"; // $NON-NLS-1$
>>> +
>>> +    private static final String BASE_PREFIX =
>>> +        JMeterUtils.getPropDefault("jmeter.save.saveservice.base_prefix", 
>>> // $NON-NLS-1$
>>> +                BASE_PREFIX_DEFAULT);
>>>
>>>      //@GuardedBy("this")
>>>      private File base;
>>> @@ -345,4 +354,21 @@ public class FileServer {
>>>              charSetEncoding=e;
>>>          }
>>>      }
>>> +
>>> +    /**
>>> +     * Resolve a file name that may be relative to the base directory.
>>> +     * If the name begins with the value of the JMeter property
>>> +     * "jmeter.save.saveservice.base_prefix"
>>> +     * - default "~/" - then the name is assumed to be relative to the 
>>> basename.
>>> +     *
>>> +     * @param relativeName
>>> +     * @return the updated file
>>> +     */
>>> +    public static String resolveBaseRelativeName(String relativeName) {
>>> +        if (relativeName.startsWith(BASE_PREFIX)){
>>> +            String newName = relativeName.substring(BASE_PREFIX.length());
>>> +            return new 
>>> File(getFileServer().getBaseDir(),newName).getAbsolutePath();
>>> +        }
>>> +        return relativeName;
>>> +    }
>>>  }
>>>
>>> Modified: jakarta/jmeter/trunk/xdocs/changes.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=1028515&r1=1028514&r2=1028515&view=diff
>>> ==============================================================================
>>> --- jakarta/jmeter/trunk/xdocs/changes.xml (original)
>>> +++ jakarta/jmeter/trunk/xdocs/changes.xml Thu Oct 28 21:58:11 2010
>>> @@ -128,6 +128,7 @@ To override the default local language f
>>>  <ul>
>>>  <li>View Results Tree - Add a dialog's text box on "Sampler result tab > 
>>> Parsed" to display the long value with a double click on cell</li>
>>>  <li>Bug 37156 - Formatted view of Request in Results Tree</li>
>>> +<li>Bug 49365 - Allow result set to be written to file in a path relative 
>>> to the loaded script</li>
>>>  </ul>
>>>
>>>  <h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
>>>
>>> Modified: jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1028515&r1=1028514&r2=1028515&view=diff
>>> ==============================================================================
>>> --- jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
>>> +++ jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml Thu Oct 
>>> 28 21:58:11 2010
>>> @@ -2197,7 +2197,13 @@ by using the -l command-line flag.
>>>  <figure width="786" height="145" image="simpledatawriter.png">Result file 
>>> configuration panel</figure>
>>>  </p>
>>>  <properties>
>>> -        <property name="File Name" required="No">Name of the file 
>>> containing sample results</property>
>>> +        <property name="Filename" required="No">Name of the file 
>>> containing sample results.
>>> +        The file name can be specified using either a relative or an 
>>> absolute path name.
>>> +        Relative paths are resolved relative to the current working 
>>> directory (which defaults to the bin/ directory).
>>> +        Versions of JMeter after 2.4 also support paths relative to the 
>>> directory containing the current test plan (JMX file).
>>> +        If the path name begins with "~/" (or whatever is in the 
>>> jmeter.save.saveservice.base_prefix JMeter property),
>>> +        then the path is assumed to be relative to the JMX file location.
>>> +        </property>
>>>          <property name="Browse..." required="No">File Browse 
>>> Button</property>
>>>          <property name="Errors" required="No">Select this to write/read 
>>> only results with errors</property>
>>>          <property name="Successes" required="No">Select this to write/read 
>>> only results without errors.
>>> @@ -2625,7 +2631,12 @@ i.e. 30.0 requests/minute is saved as 0.
>>>      </description>
>>>   <properties>
>>>   <property name="Name" required="No">Descriptive name for this element 
>>> that is shown in the tree.</property>
>>> - <property name="Filename Prefix" required="Yes">Prefix for the generated 
>>> file names; this can include a directory name.</property>
>>> + <property name="Filename Prefix" required="Yes">Prefix for the generated 
>>> file names; this can include a directory name.
>>> +        Relative paths are resolved relative to the current working 
>>> directory (which defaults to the bin/ directory).
>>> +        Versions of JMeter after 2.4 also support paths relative to the 
>>> directory containing the current test plan (JMX file).
>>> +        If the path name begins with "~/" (or whatever is in the 
>>> jmeter.save.saveservice.base_prefix JMeter property),
>>> +        then the path is assumed to be relative to the JMX file location.
>>> + </property>
>>>   <property name="Variable Name" required="No">
>>>   Name of a variable in which to save the generated file name (so it can be 
>>> used later in the test plan).
>>>   If there are sub-samples then a numeric suffix is added to the variable 
>>> name.
>>>
>>> Modified: jakarta/jmeter/trunk/xdocs/usermanual/listeners.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/listeners.xml?rev=1028515&r1=1028514&r2=1028515&view=diff
>>> ==============================================================================
>>> --- jakarta/jmeter/trunk/xdocs/usermanual/listeners.xml (original)
>>> +++ jakarta/jmeter/trunk/xdocs/usermanual/listeners.xml Thu Oct 28 21:58:11 
>>> 2010
>>> @@ -48,7 +48,11 @@ write it as CSV or XML.
>>>  CSV files are much smaller than XML files, so use CSV if you are 
>>> generating lots of samples.
>>>  </p>
>>>  <p>
>>> -
>>> +The file name can be specified using either a relative or an absolute path 
>>> name.
>>> +Relative paths are resolved relative to the current working directory 
>>> (which defaults to the bin/ directory).
>>> +Versions of JMeter after 2.4 also support paths relative to the directory 
>>> containing the current test plan (JMX file).
>>> +If the path name begins with "~/" (or whatever is in the 
>>> jmeter.save.saveservice.base_prefix JMeter property),
>>> +then the path is assumed to be relative to the JMX file location.
>>>  </p>
>>>  <p>
>>>  If you only wish to record certain samples, add the Listener as a child of 
>>> the sampler.
>>> @@ -176,6 +180,9 @@ sampleresult.timestamp.start=true
>>>
>>>  # Optional xml processing instruction for line 2 of the file:
>>>  #jmeter.save.saveservice.xml_pi=&amp;lt;?xml-stylesheet type="text/xsl" 
>>> href="sample.xsl"?>
>>> +
>>> +# Prefix used to identify filenames that are relative to the current base
>>> +#jmeter.save.saveservice.base_prefix=~/
>>>  </pre>
>>>  </code></p>
>>>  <p>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to