Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix YAML tests handling of lists of structs that contain lists. #13142

Merged

Commits on Jan 6, 2022

  1. Fix YAML tests handling of lists of structs that contain lists.

    The main issue was that comparing to such a value failed because we
    ended up with "iter" variables for both levels of list nesting that
    name-collided.
    
    The fix for that was to add "depth" disabmbiguation like we have in
    the Darwin codegen already.
    
    While adding a test for this, a few other issues were encountered:
    
    1) The "commandValue" partial, when dealing with an optional or
    nullable struct, would do an Emplace() or SetNonNull() for every
    single member, which would wipe out earlier members.  The fix for that
    is to do them once, and then use .Value() for the recursive partial
    invocation.
    
    2) When sending a struct with optional fields, we were requiring the
    YAML to specify values for all the fields.  Added
    if_include_struct_item_value to allow the YAML to not include values
    for such fields.
    
    3) The YAML for checking struct values expected struct field names in
    the YAML to be lowerCamelCase instead of matching the XML case.  The
    code for sending struct values expected struct field names to match
    the XML case.  This inconsistency was very confusing, and this PR
    makes both expect the XML case.  I verified that the only codegen
    changes due to this were in the TestModeSelectCluster and
    Test_TC_DM_2_2 tests.  The latter had actually had its struct fields
    ignored because they were the "wrong" case....  Both tests fixed.
    bzbarsky-apple committed Jan 6, 2022
    Configuration menu
    Copy the full SHA
    b1c5973 View commit details
    Browse the repository at this point in the history