[OpenSTA-devel] [ opensta-Bugs-1773940 ] Empty SUBROUTINE params cause later params to be invalid
Brought to you by:
dansut
From: SourceForge.net <no...@so...> - 2007-10-19 02:10:10
|
Bugs item #1773940, was opened at 2007-08-14 11:20 Message generated for change (Settings changed) made by dansut You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110857&aid=1773940&group_id=10857 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Script Language Group: Behavioral Status: Open >Resolution: Accepted Priority: 5 Private: No Submitted By: steve2k (steve2k) Assigned to: Nobody/Anonymous (nobody) >Summary: Empty SUBROUTINE params cause later params to be invalid Initial Comment: With the Modeler that ships with OpenSTA 1.4.3.20, if you pass an empty string, i.e. "" as a parameter to a subroutine, all following parameters are ignored. There is an example script below. The first time CHECKRESPONSE is called with all 3 parameters populated, it works fine. The second time CHECKRESPONSE is called with the first parameter set to "", it ignores all the parameters and uses the parameters passed the first time. Problem has been confirmed by Bernie Velivis: "I tried a simple subroutine with 4 string args. As soon as one (counting from left to right) is set to "", then all remaining arguments are set to "" or 0 if numeric. Looks like the code that parses arguments passed to subroutines quits when it see's a null. I would definitely report it on sourceforge." ============ EXAMPLE SCRIPT ================== !Browser:IE5 !Date : 14/08/2007 Environment Description "" Mode HTTP Wait UNIT MILLISECONDS Definitions ! Standard Defines Include "RESPONSE_CODES.INC" Include "GLOBAL_VARIABLES.INC" CHARACTER*512 USER_AGENT Integer USE_PAGE_TIMERS CHARACTER*256 MESSAGE CHARACTER*256 p1 CHARACTER*256 p2 CHARACTER*256 p3 Timer T_QQQQ CONSTANT DEFAULT_HEADERS = "" Code !Read in the default browser user agent field Entry[USER_AGENT,USE_PAGE_TIMERS] Start Timer T_QQQQ CALL CHECKRESPONSE["1param1","1param2","1param3"] CALL CHECKRESPONSE["","2param2","2param3"] SYNCHRONIZE REQUESTS End Timer T_QQQQ SUBROUTINE CHECKRESPONSE[p1,p2,p3] Log "Parameter 1:", p1 Log "Parameter 2:", p2 Log "Parameter 3:", p3 END SUBROUTINE Exit ERR_LABEL: If (MESSAGE <> "") Then Report MESSAGE Endif Exit ---------------------------------------------------------------------- Comment By: Bernie Velivis (velivis) Date: 2007-10-15 11:46 Message: Logged In: YES user_id=1868094 Originator: NO Work around: If only one of your parameters may be empty, then make it the last in list of parameters. If more then one parameter may be empty, don't use parameters but instead pass the values in local variables. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110857&aid=1773940&group_id=10857 |