def test_later_spec_priority(): # override a single key combined_spec, extend_keys = variants.combine_specs([global_specs, single_version]) assert len(combined_spec) == 2 assert combined_spec["python"] == ["2.7.*"] assert extend_keys == {'ignore_version', 'pin_run_as_build'} # keep keys that are not overwritten combined_spec, extend_keys = variants.combine_specs([single_version, no_numpy_version]) assert len(combined_spec) == 2 assert len(combined_spec["python"]) == 2
def test_later_spec_priority(single_version, no_numpy_version): # override a single key combined_spec, extend_keys = variants.combine_specs( [no_numpy_version, single_version]) assert len(combined_spec) == 2 assert combined_spec["python"] == ["2.7.*"] assert extend_keys == {'ignore_version', 'pin_run_as_build'} # keep keys that are not overwritten combined_spec, extend_keys = variants.combine_specs( [single_version, no_numpy_version]) assert len(combined_spec) == 2 assert len(combined_spec["python"]) == 2
def get_config(folder, variant=None, additional_files=None): if not additional_files: additional_files = [] if not variant: variant = {} config = get_or_merge_config(None, variant) if cb_split_version >= (3, 20, 5): config_files = find_config_files(folder, config) else: config_files = find_config_files(folder) all_files = [os.path.abspath(p) for p in config_files + additional_files] # reverse files an uniquify def make_unique_list(lx): seen = set() return [x for x in lx if not (x in seen or seen.add(x))] # we reverse the order so that command line can overwrite the hierarchy all_files = make_unique_list(all_files[::-1])[::-1] console.print(f"\nLoading config files: [green]{', '.join(all_files)}\n") parsed_cfg = collections.OrderedDict() for f in all_files: parsed_cfg[f] = parse_config_file(f, config) # this merges each of the specs, providing a debug message when a given setting is overridden # by a later spec combined_spec = combine_specs(parsed_cfg, log_output=config.verbose) # console.print(combined_spec) return combined_spec, config
def test_later_spec_priority(single_version, no_numpy_version): # override a single key specs = OrderedDict() specs['no_numpy'] = no_numpy_version specs['single_ver'] = single_version combined_spec = variants.combine_specs(specs) assert len(combined_spec) == 2 assert combined_spec["python"] == ["2.7.*"] # keep keys that are not overwritten specs = OrderedDict() specs['single_ver'] = single_version specs['no_numpy'] = no_numpy_version combined_spec = variants.combine_specs(specs) assert len(combined_spec) == 2 assert len(combined_spec["python"]) == 2
def test_later_spec_priority(single_version, no_numpy_version): # override a single key specs = OrderedDict() specs['no_numpy'] = no_numpy_version specs['single_ver'] = single_version combined_spec = variants.combine_specs(specs) assert len(combined_spec) == 2 assert combined_spec["python"] == ["2.7.*"] # keep keys that are not overwritten specs = OrderedDict() specs['single_ver'] = single_version specs['no_numpy'] = no_numpy_version combined_spec = variants.combine_specs(specs) assert len(combined_spec) == 2 assert len(combined_spec["python"]) == 2
def test_later_spec_priority(single_version, no_numpy_version): # override a single key specs = OrderedDict() specs['no_numpy'] = no_numpy_version specs['single_ver'] = single_version combined_spec, extend_keys = variants.combine_specs(specs) assert len(combined_spec) == 2 assert combined_spec["python"] == ["2.7.*"] assert extend_keys == {'ignore_version', 'pin_run_as_build', 'ignore_build_only_deps'} # keep keys that are not overwritten specs = OrderedDict() specs['single_ver'] = single_version specs['no_numpy'] = no_numpy_version combined_spec, extend_keys = variants.combine_specs(specs) assert len(combined_spec) == 2 assert len(combined_spec["python"]) == 2
def test_later_spec_priority(single_version, no_numpy_version): # override a single key specs = OrderedDict() specs['no_numpy'] = no_numpy_version specs['single_ver'] = single_version combined_spec, extend_keys = variants.combine_specs(specs) assert len(combined_spec) == 2 assert combined_spec["python"] == ["2.7.*"] assert extend_keys == {'ignore_version', 'pin_run_as_build', 'ignore_build_only_deps'} # keep keys that are not overwritten specs = OrderedDict() specs['single_ver'] = single_version specs['no_numpy'] = no_numpy_version combined_spec, extend_keys = variants.combine_specs(specs) assert len(combined_spec) == 2 assert len(combined_spec["python"]) == 2