question

dclaar avatar image
dclaar Suspended asked dclaar Suspended posted

Major bug in 3.4.2!

This is a show-stopper. The call

 

call named_args_callee.fftc#main project://dev/testcase/regression/regression.fftc -BUILD_VERSION alpha

No longer passes the variable BUILD_VERSION (or any other variable after the first non-named variable!

 

This has killed us dead.

iTestbug
10 |950

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
koelze avatar image
koelze answered koelze posted

This is actually designed behavior; this went in as part of a bug fix (16540, if you were curious in the release notes as to which one).  In the bug, we found that some of the syntax in the call procedure was ambiguous and led to a couple of bugs that we had seen; as part of fixing the bug, we made the parser more restrictive.   The big restriction that got added in is that calls have to be of the form procedureName namedArgument[s] numberedArgument[s]. 

 

The ugly and regrettable side effect of this was that the order of named and unnamed arguments matters now, which does break compatability for calls that are written in a different order (but it was the only way we could fix some ambiguity that had led to a few bugs).  It'll all fix itself if you put all of the named arguments before your numbered arguments (so in your case:

call named_args_callee.fftc#main -BUILD_VERSION alpha project://dev/testcase/regression/regression.fftc

 

 

 

I described exactly how these should be working in 3.4.2 in my post here.

2 comments
10 |950

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

dclaar avatar image dclaar commented ·

It's just not OK to break compatibility in such a major way, particularly in a dot update, and even more so without a "we're likely to break your entire test infrastructure" warning in 72 point type. :smileymad:  :smileymad: :smileymad:

0 Likes 0 ·
KumarS avatar image KumarS dclaar commented ·

I am sorry for the inconvenience and I hope that you do not have to change this in many places. Our call procedure syntax has always been:

 

call   procedure_uri  <all the named arguments>  <all the numbered arguments>

 

There were several customers affected by a bug in parsing of these arguments and we have now fixed this issue where we will strictly enforce this. So it seems like you have gotten caught in "earlier laxed and incorrect iTest parsing of call arguments" which got fixed for several other customer's problems.

 

But I think this fix is definitely for greater good. It will save a lot of time for our users where if they mixed these arguments and had to waste a lot of time debugging through unpredictable results.

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.