Skip to content

Parameter variables losing their value after last call of a forked suite #150

Description

@jfendler

Consider the following suite running in the main thread (not on a fork itself):

suitedef errorSuite gets a b c with
    // variables a, b, and c are non-null here (as expected)
    
    // first call to a suite on a fork
    suite someSuiteOnFork on fork01
    // variables a, b, and c are still non-null here (as expected)

    // some other calls (on fork or not does not make a difference)
    // variables a, b, and c are still non-null here (as expected)

    // LAST call to a suite on a fork within this suite
    suite someSuiteOnFork on fork01
    
    // ERROR: at this point, variable a is null (not expected)
    
suiteend

Note: The suite 'someSuiteOnFork' did not contain any variables which could result in a naming conflict with variables from the parent suite.

The erroneous behaviour was observed when the errorSuite was called as follows:

variable myA
assign 100.00 -> myA
variable myB
assign 200.00 -> myB
variable myC
assign 300.00 -> myC

suite errorSuite 
b: myB
c: myC
a: myA

The error did NOT occur when passing a constant value directly as parameter 'a'.

We did not evaluate if the order of passing the arguments from root suite actually makes a difference in this case, or somehow influences which variable (if any) suddenly loses its value. However, in the scenario which caused the error, the affected variable was NOT declared as the last variable in the suitedef, but was passed as the last variable when calling the suite (as in above example). Perhaps this hint helps with further analysis.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions