breilly / fm-orchestrator

Forked from fm-orchestrator 4 years ago
Clone

7761bbf Tweak behavior of get_compatible_base_module_modulemds

Authored and Committed by otaylor 2 years ago
    Tweak behavior of get_compatible_base_module_modulemds
    
    Fix some oddities in the DBResolver implementation of
    get_compatible_base_module_modulemds() and make the MBSResolver version -
    which was previously just buggy - match that. (Tests for the MBSResolver
    version are added in a subsequent commit.)
    
     * If an empty virtual_streams argument was passed in, *all* streams
       were considered compatible. Throw an exception in this case - it
       should be considered an error.
     * If stream_version_lte=True, but the stream from the base module
       wasn't in the form FOOx.y.z, then throw an exception. This was
       previously treated like stream_version_lte=False, which is just
       a recipe for confusion and mistakes.
    
    test_get_reusable_module_use_latest_build() is rewritten to
    comprehensively test all possibilities, including the case that changed
    above.
    
    test_add_default_modules_compatible_platforms() is changed to run
    under allow_only_compatible_base_modules=False, since it expected
    Fedora-style virtual streams (versions not in FOOx.y.z form, all
    share the same stream), which doesn't make sense with
    allow_only_compatible_base_modules=True.