You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by Philippe Mouawad <p....@ubik-ingenierie.com> on 2019/01/15 15:51:16 UTC

Regression in JMeter 5.0 due to fix of Bug 62478

Hello,
We have a bug report considered as regression on jmeter-fr google group :
- https://groups.google.com/forum/#!topic/jmeter-fr/es1ikcAxsDE

In summary previously when using function composition in Function Helper
Dialog:
Instead of:
${__urlencode(${__time(dd/MM/yyyy,NEWVAR)})}

The helper generates (notice '\,' instead of ','):
${__urlencode(${__time(dd/MM/yyyy\,NEWVAR)})}

Issue is due to another bug fix 62478:
- http://svn.apache.org/viewvc?rev=1834192&view=rev

Any idea how we should fix this ?

Thanks
Regards
Philippe M.
https://leanpub.com/master-jmeter-from-load-test-to-devops

Re: Regression in JMeter 5.0 due to fix of Bug 62478

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 17.01.19 um 22:29 schrieb Felix Schumacher:
>
> Am 17.01.19 um 14:20 schrieb sebb:
>> On Thu, 17 Jan 2019 at 12:17, Felix Schumacher
>> <fe...@internetallee.de> wrote:
>>>
>>> Am 15.01.19 um 16:51 schrieb Philippe Mouawad:
>>>> Hello,
>>>> We have a bug report considered as regression on jmeter-fr google 
>>>> group :
>>>> - https://groups.google.com/forum/#!topic/jmeter-fr/es1ikcAxsDE
>>>>
>>>> In summary previously when using function composition in Function 
>>>> Helper
>>>> Dialog:
>>>> Instead of:
>>>> ${__urlencode(${__time(dd/MM/yyyy,NEWVAR)})}
>>>>
>>>> The helper generates (notice '\,' instead of ','):
>>>> ${__urlencode(${__time(dd/MM/yyyy\,NEWVAR)})}
>>>>
>>>> Issue is due to another bug fix 62478:
>>>> - http://svn.apache.org/viewvc?rev=1834192&view=rev
>>>>
>>>> Any idea how we should fix this ?
>>> So the problem is that ${...} values are getting their commata escaped?
>>>
>>> Maybe we could try to split the values with that in mind?
>> That should work, provided that the user has used the GUI to escape
>> the nested function call.
>> [It's not possible to decide how to escape a nested call, as its
>> parameter boundaries are not known. Consider a time format containing
>> a comma.]
>>
>> The code will have to ignore anything enclosed in ${...}, but still
>> escape commas elsewhere in a parameter.
>> However it will require more than a simple split, as the function
>> calls may be nested more than 1 deep.
> I have attached a "simple" patch to make the escaping a bit smarter, 
> but it will still fail at a lot of corner cases, for example nested 
> functions.
Committed a less simple but mightier version with bug 63099 and 
http://svn.apache.org/viewvc?rev=1851858&view=rev
>>
>> Alternatively, don't try to be too clever.
>> Instead of escaping commas, show a warning if a parameter contains a 
>> comma.
>
> That may be a good idea, at least when a comma and "${" is found in 
> the input argument.

Did not include this, but if anyone feels in the mood to add it, feel free.

Felix

>
> Felix
>
>>
>>> Regards,
>>>
>>>    Felix
>>>
>>>> Thanks
>>>> Regards
>>>> Philippe M.
>>>> https://leanpub.com/master-jmeter-from-load-test-to-devops
>>>>

Re: Regression in JMeter 5.0 due to fix of Bug 62478

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 17.01.19 um 14:20 schrieb sebb:
> On Thu, 17 Jan 2019 at 12:17, Felix Schumacher
> <fe...@internetallee.de> wrote:
>>
>> Am 15.01.19 um 16:51 schrieb Philippe Mouawad:
>>> Hello,
>>> We have a bug report considered as regression on jmeter-fr google group :
>>> - https://groups.google.com/forum/#!topic/jmeter-fr/es1ikcAxsDE
>>>
>>> In summary previously when using function composition in Function Helper
>>> Dialog:
>>> Instead of:
>>> ${__urlencode(${__time(dd/MM/yyyy,NEWVAR)})}
>>>
>>> The helper generates (notice '\,' instead of ','):
>>> ${__urlencode(${__time(dd/MM/yyyy\,NEWVAR)})}
>>>
>>> Issue is due to another bug fix 62478:
>>> - http://svn.apache.org/viewvc?rev=1834192&view=rev
>>>
>>> Any idea how we should fix this ?
>> So the problem is that ${...} values are getting their commata escaped?
>>
>> Maybe we could try to split the values with that in mind?
> That should work, provided that the user has used the GUI to escape
> the nested function call.
> [It's not possible to decide how to escape a nested call, as its
> parameter boundaries are not known. Consider a time format containing
> a comma.]
>
> The code will have to ignore anything enclosed in ${...}, but still
> escape commas elsewhere in a parameter.
> However it will require more than a simple split, as the function
> calls may be nested more than 1 deep.
I have attached a "simple" patch to make the escaping a bit smarter, but 
it will still fail at a lot of corner cases, for example nested functions.
>
> Alternatively, don't try to be too clever.
> Instead of escaping commas, show a warning if a parameter contains a comma.

That may be a good idea, at least when a comma and "${" is found in the 
input argument.

Felix

>
>> Regards,
>>
>>    Felix
>>
>>> Thanks
>>> Regards
>>> Philippe M.
>>> https://leanpub.com/master-jmeter-from-load-test-to-devops
>>>

Re: Regression in JMeter 5.0 due to fix of Bug 62478

Posted by sebb <se...@gmail.com>.
On Thu, 17 Jan 2019 at 12:17, Felix Schumacher
<fe...@internetallee.de> wrote:
>
>
> Am 15.01.19 um 16:51 schrieb Philippe Mouawad:
> > Hello,
> > We have a bug report considered as regression on jmeter-fr google group :
> > - https://groups.google.com/forum/#!topic/jmeter-fr/es1ikcAxsDE
> >
> > In summary previously when using function composition in Function Helper
> > Dialog:
> > Instead of:
> > ${__urlencode(${__time(dd/MM/yyyy,NEWVAR)})}
> >
> > The helper generates (notice '\,' instead of ','):
> > ${__urlencode(${__time(dd/MM/yyyy\,NEWVAR)})}
> >
> > Issue is due to another bug fix 62478:
> > - http://svn.apache.org/viewvc?rev=1834192&view=rev
> >
> > Any idea how we should fix this ?
>
> So the problem is that ${...} values are getting their commata escaped?
>
> Maybe we could try to split the values with that in mind?

That should work, provided that the user has used the GUI to escape
the nested function call.
[It's not possible to decide how to escape a nested call, as its
parameter boundaries are not known. Consider a time format containing
a comma.]

The code will have to ignore anything enclosed in ${...}, but still
escape commas elsewhere in a parameter.
However it will require more than a simple split, as the function
calls may be nested more than 1 deep.

Alternatively, don't try to be too clever.
Instead of escaping commas, show a warning if a parameter contains a comma.

> Regards,
>
>   Felix
>
> >
> > Thanks
> > Regards
> > Philippe M.
> > https://leanpub.com/master-jmeter-from-load-test-to-devops
> >

Re: Regression in JMeter 5.0 due to fix of Bug 62478

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 15.01.19 um 16:51 schrieb Philippe Mouawad:
> Hello,
> We have a bug report considered as regression on jmeter-fr google group :
> - https://groups.google.com/forum/#!topic/jmeter-fr/es1ikcAxsDE
>
> In summary previously when using function composition in Function Helper
> Dialog:
> Instead of:
> ${__urlencode(${__time(dd/MM/yyyy,NEWVAR)})}
>
> The helper generates (notice '\,' instead of ','):
> ${__urlencode(${__time(dd/MM/yyyy\,NEWVAR)})}
>
> Issue is due to another bug fix 62478:
> - http://svn.apache.org/viewvc?rev=1834192&view=rev
>
> Any idea how we should fix this ?

So the problem is that ${...} values are getting their commata escaped?

Maybe we could try to split the values with that in mind?

Regards,

  Felix

>
> Thanks
> Regards
> Philippe M.
> https://leanpub.com/master-jmeter-from-load-test-to-devops
>