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

cice.setup: allow command line to override suite options #745

Merged

Commits on Aug 2, 2022

  1. cice.setup: allow command line to override suite options

    Options chosen on the 'cice.setup' command line (using the '-s' flag) are
    added to the options defined for each test in the test suite definition
    file, when running a test suite.
    
    This is implemented by appending the options from the test suite (in
    variable 'sets_tmp') to the options from the command line ('sets_base')
    in the variable 'sets', which is ultimately (via the variable 'setsx')
    looped through to apply each option.
    
    Since 'sets_tmp' is appended to 'sets_base', options on the command line
    can't override options from the test suite file, which means one can't
    e.g. run a test suite with 'kdyn=3' and expect all tests to use this
    option if any option specified in the test suite set 'kdyn' to some
    other value.
    
    To allow options from the command line to override options from the test
    suite, reverse the order in which 'sets_tmp' and 'sets_base' are used to
    define 'sets'. This is in line with the common behaviour of the command
    line taking precedence.
    
    Adjust the documentation accordingly, fixing a typo along the way.
    phil-blain committed Aug 2, 2022
    Configuration menu
    Copy the full SHA
    b19149d View commit details
    Browse the repository at this point in the history
  2. cice.setup: name test suite cases less ambiguously

    In the previous commit, we allowed options from the command line to
    override options from the test suite definition file. However, test case
    directories are still named using a sorted list of all active options,
    both from command line and the suite definition file (variable
    'setsarray'). This is nonoptimal since it is not clear from looking at
    the test directory name which options have precedence in case of
    conflict.
    
    Change the naming logic so that options from the command line are last
    in the test directory name, in a "last-one-wins" fashion. To do that,
    let 'setsarray' be defined from the test suite options ('sets_tmp') and
    add a second loop for the command line options ('sets_base').
    
    Note that we do not check if the same option is mentioned both in the
    test suite and the command line, in order not to complicate the code
    further.
    
    This also allows greatly simplifying the logic used to adjust 'bfbcomp'
    test names to include command line options. This part of the code is
    checking if the options for the test aginst which to compare contain
    duplicates and 'none', which is unnecessary since these options come
    directly from the test suite definition file.
    phil-blain committed Aug 2, 2022
    Configuration menu
    Copy the full SHA
    66ec2d1 View commit details
    Browse the repository at this point in the history