[Notes] [Git][BuildStream/buildstream][phil/cache-key-stability-test] tests/cachekey: Test cache keys are independent of target elements



Title: GitLab

Phil Dawson pushed to branch phil/cache-key-stability-test at BuildStream / buildstream

Commits:

6 changed files:

Changes:

  • tests/cachekey/cachekey.py
    ... ... @@ -214,3 +214,41 @@ def test_cache_key_fatal_warnings(cli, tmpdir, first_warnings, second_warnings,
    214 214
         second_keys = run_get_cache_key("second", second_warnings)
    
    215 215
     
    
    216 216
         assert compare_cache_keys(first_keys, second_keys) == identical_keys
    
    217
    +
    
    218
    +
    
    219
    +@pytest.mark.datafiles(DATA_DIR)
    
    220
    +def test_keys_stable_over_targets(cli, datafiles):
    
    221
    +    root_element = 'elements/key-stability/top-level.bst'
    
    222
    +    target1 = 'elements/key-stability/t1.bst'
    
    223
    +    target2 = 'elements/key-stability/t2.bst'
    
    224
    +
    
    225
    +    project = os.path.join(datafiles.dirname, datafiles.basename)
    
    226
    +    full_graph_result = cli.run(project=project, args=[
    
    227
    +        'show',
    
    228
    +        '--format', '%{name}::%{full-key}',
    
    229
    +        root_element
    
    230
    +    ])
    
    231
    +    full_graph_result.assert_success()
    
    232
    +    all_cache_keys = parse_output_keys(full_graph_result.output)
    
    233
    +
    
    234
    +    ordering1_result = cli.run(project=project, args=[
    
    235
    +        'show',
    
    236
    +        '--format', '%{name}::%{full-key}',
    
    237
    +        target1,
    
    238
    +        target2
    
    239
    +    ])
    
    240
    +    ordering1_result.assert_success()
    
    241
    +    ordering1_cache_keys = parse_output_keys(ordering1_result.output)
    
    242
    +
    
    243
    +    ordering2_result = cli.run(project=project, args=[
    
    244
    +        'show',
    
    245
    +        '--format', '%{name}::%{full-key}',
    
    246
    +        target2,
    
    247
    +        target1
    
    248
    +    ])
    
    249
    +    ordering2_result.assert_success()
    
    250
    +    ordering2_cache_keys = parse_output_keys(ordering2_result.output)
    
    251
    +
    
    252
    +    for element in ordering1_cache_keys:
    
    253
    +        assert ordering1_cache_keys[element] == ordering2_cache_keys[element]
    
    254
    +        assert ordering1_cache_keys[element] == all_cache_keys[element]

  • tests/cachekey/project/elements/key-stability/aaa.bst
    1
    +kind: import
    
    2
    +sources:
    
    3
    +- kind: local
    
    4
    +  path: elements/key-stability/aaa.bst
    \ No newline at end of file

  • tests/cachekey/project/elements/key-stability/t1.bst
    1
    +kind: import
    
    2
    +sources:
    
    3
    +- kind: local
    
    4
    +  path: elements/key-stability/t1.bst
    
    5
    +depends:
    
    6
    +- elements/key-stability/zzz.bst 
    \ No newline at end of file

  • tests/cachekey/project/elements/key-stability/t2.bst
    1
    +kind: import
    
    2
    +sources:
    
    3
    +- kind: local
    
    4
    +  path: elements/key-stability/t2.bst
    
    5
    +depends:
    
    6
    +- elements/key-stability/aaa.bst
    
    7
    +- elements/key-stability/zzz.bst

  • tests/cachekey/project/elements/key-stability/top-level.bst
    1
    +kind: import
    
    2
    +sources:
    
    3
    +- kind: local
    
    4
    +  path:  elements/key-stability/top-level.bst
    
    5
    +depends:
    
    6
    +- elements/key-stability/t1.bst
    
    7
    +- elements/key-stability/t2.bst
    \ No newline at end of file

  • tests/cachekey/project/elements/key-stability/zzz.bst
    1
    +kind: import
    
    2
    +sources:
    
    3
    +- kind: local
    
    4
    +  path: elements/key-stability/zzz.bst
    \ No newline at end of file



  • [Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]