예제 #1
0
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
예제 #2
0
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
예제 #3
0
파일: utils.py 프로젝트: cav71/boa
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
예제 #4
0
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
예제 #5
0
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
예제 #6
0
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
예제 #7
0
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