[Notes] [Git][BuildStream/buildstream][juerg/cachedfail] 5 commits: doc/./arch_data_model: fixup affect/effect



Title: GitLab

Jürg Billeter pushed to branch juerg/cachedfail at BuildStream / buildstream

Commits:

2 changed files:

Changes:

  • doc/source/arch_data_model.rst
    ... ... @@ -27,17 +27,17 @@ are the loaded representation of the ``.bst`` files loaded from the :ref:`projec
    27 27
     The *Element* is an abstract base class which cannot do anything on its own, its
    
    28 28
     concrete class is defined by *plugins* which are either included in the BuildStream
    
    29 29
     :ref:`core set of plugins <plugins>` or loaded from external sources :ref:`defined by the project
    
    30
    -<project_plugins>`
    
    30
    +<project_plugins>`.
    
    31 31
     
    
    32 32
     The responsibilities of an element include:
    
    33 33
     
    
    34
    -* Loading the element's configuration from the core provided dictionary
    
    34
    +* Loading the element's configuration from the core provided dictionary.
    
    35 35
     * Providing a unique key for any element specific configuration which might
    
    36
    -  effect the output produced by the element
    
    37
    -* Configuring the sandbox
    
    36
    +  affect the output produced by the element.
    
    37
    +* Configuring the sandbox.
    
    38 38
     * Staging the data into the sandbox, which might include Sources and
    
    39
    -  the outputs of previous elements
    
    40
    -* Assembling the output *artifact*
    
    39
    +  the outputs of previous elements.
    
    40
    +* Assembling the output *artifact*.
    
    41 41
     
    
    42 42
     
    
    43 43
     Element data structure
    
    ... ... @@ -72,9 +72,10 @@ deal of configurations understood by the *Element* is also understood by the cor
    72 72
     has default configurations built into BuildStream and configurable with the project
    
    73 73
     configuration. These include values such as *variables*, *environment*, *sandbox*, etc.
    
    74 74
     
    
    75
    -As shown above, composition is performed in two stages, as we only need to composite
    
    76
    -the data from the toplevel element declaration against the composition of previous
    
    77
    -stages every time we instantiate an element.
    
    75
    +As shown above, composition is performed in two stages for each element. First
    
    76
    +we compose everything below the line, this happens just once per 'kind' of
    
    77
    +element - the result is re-used. Secondly, we compose the element declaration
    
    78
    +on top.
    
    78 79
     
    
    79 80
     
    
    80 81
     Source
    
    ... ... @@ -87,7 +88,7 @@ of the host or build environment.
    87 88
     This is to say that:
    
    88 89
     
    
    89 90
     * User configuration on the host, or filesystem outside of BuildStream designated
    
    90
    -  directories, must never be modified as a side effect of running BuildStream.
    
    91
    +  directories, must never be modified as a side-effect of running BuildStream.
    
    91 92
     
    
    92 93
     * When the Source uses host tools, host side configurations must never result in
    
    93 94
       deviations of what is staged to a build directory. The Source must behave exactly
    
    ... ... @@ -95,12 +96,12 @@ This is to say that:
    95 96
     
    
    96 97
     The responsibilities of a source include:
    
    97 98
     
    
    98
    -* Loading the source's configuration from the core provided dictionary
    
    99
    +* Loading the source's configuration from the core provided dictionary.
    
    99 100
     * Providing a unique key for any source specific configuration which might
    
    100
    -  effect the staged source
    
    101
    -* Implement discovery of new versions of the source upstream (referred to as *"tracking"*)
    
    102
    -* Staging the unpacked source to a given directory
    
    103
    -* Preparing workspaces
    
    101
    +  affect the staged source.
    
    102
    +* Implement discovery of new versions of the source upstream (referred to as *"tracking"*).
    
    103
    +* Staging the unpacked source to a given directory.
    
    104
    +* Preparing workspaces.
    
    104 105
     
    
    105 106
     
    
    106 107
     Source data structure
    

  • tests/integration/cachedfail.py
    ... ... @@ -127,10 +127,11 @@ def test_build_depend_on_cached_fail(cli, tmpdir, datafiles):
    127 127
     @pytest.mark.datafiles(DATA_DIR)
    
    128 128
     @pytest.mark.parametrize("on_error", ("continue", "quit"))
    
    129 129
     def test_push_cached_fail(cli, tmpdir, datafiles, on_error):
    
    130
    +    if on_error == 'quit':
    
    131
    +        pytest.xfail('https://gitlab.com/BuildStream/buildstream/issues/534')
    
    132
    +
    
    130 133
         project = os.path.join(datafiles.dirname, datafiles.basename)
    
    131 134
         element_path = os.path.join(project, 'elements', 'element.bst')
    
    132
    -    workspace = os.path.join(cli.directory, 'workspace')
    
    133
    -    checkout = os.path.join(cli.directory, 'checkout')
    
    134 135
     
    
    135 136
         # Write out our test target
    
    136 137
         element = {
    
    ... ... @@ -144,6 +145,8 @@ def test_push_cached_fail(cli, tmpdir, datafiles, on_error):
    144 145
             'config': {
    
    145 146
                 'commands': [
    
    146 147
                     'false',
    
    148
    +                # Ensure unique cache key for different test variants
    
    149
    +                'TEST="{}"'.format(os.environ.get('PYTEST_CURRENT_TEST')),
    
    147 150
                 ],
    
    148 151
             },
    
    149 152
         }
    



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