summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Generate and publish HTML coverage reportmablanch/629-remote-execution-testMartin Blanchard2019-03-222-3/+9
| | | | https://gitlab.com/BuildStream/buildstream/issues/629
* .gitlab-ci.yml: Add a CI test job for remote executionMartin Blanchard2019-03-223-0/+99
| | | | https://gitlab.com/BuildStream/buildstream/issues/629
* tests: Add basic remote-execution tests (autotools)Martin Blanchard2019-03-226-0/+111
| | | | https://gitlab.com/BuildStream/buildstream/issues/629
* runcli.py: Add a CLI test fixture for remote-executionMartin Blanchard2019-03-223-2/+135
| | | | https://gitlab.com/BuildStream/buildstream/issues/629
* tests: Add a --remote-execution CLI optionsMartin Blanchard2019-03-221-2/+17
| | | | | | | | Unlike the --integration option that activates additional tests marked with 'integration', this new --remote-execution option deactivates all the tests except those marked with 'remoteexecution'. https://gitlab.com/BuildStream/buildstream/issues/629
* Merge branch 'raoul/source-key-fix' into 'master'bst-marge-bot2019-03-216-23/+122
|\ | | | | | | | | Source key fix See merge request BuildStream/buildstream!1238
| * element.py: remove reduntant list(self.sources())Raoul Hidalgo Charman2019-03-211-2/+2
| | | | | | | | | | | | | | In element we have access to self.__sources directly so we should use that. Part of fixes for !1214
| * tests: Check get_unique_key isn't used before trackRaoul Hidalgo Charman2019-03-214-0/+110
| | | | | | | | Part of a fix for !1124
| * element.py: move _generate_key to _source_cachedRaoul Hidalgo Charman2019-03-212-21/+10
|/ | | | | | This means that keys are only generated after tracking. Part of a fix for !1124
* Merge branch 'bschubert/better-pytest-report' into 'master'bst-marge-bot2019-03-216-50/+61
|\ | | | | | | | | tests: when comparing lists/dicts, compare all at once See merge request BuildStream/buildstream!1247
| * tests: when comparing lists/dicts, compare all at onceBenjamin Schubert2019-03-216-50/+61
|/ | | | | This allows pytest to show a better report of the difference between the two lists and not just tell that one entry is wrong.
* Merge branch 'aevri/you_only_write_once' into 'master'bst-marge-bot2019-03-214-28/+10
|\ | | | | | | | | cleanupjob, cascache: don't write cache size twice See merge request BuildStream/buildstream!1227
| * cleanupjob, cascache: don't write cache size twiceAngelos Evripiotis2019-03-212-4/+6
| | | | | | | | | | | | | | | | | | | | In CleanupJob, don't write the same size update to the cache size file twice. The update received in the 'update-cache-size' message has already been written during ArtifactCache.clean(). This means that we now only do one (write temp file + move into place) for every artifact that we remove, and from one process at a time. In later work we might reconsider the number of temp files we create.
| * cascache: remove redundant assignmentAngelos Evripiotis2019-03-211-1/+1
| |
| * cascache: rm redundant calculate_cache_sizeAngelos Evripiotis2019-03-211-18/+2
| | | | | | | | | | | | It seems that `CASQuota.calculate_cache_size` had historical significance, but is now not necessary. Inline it into `CASQuota.compute_cache_size` to make things simpler. Also remove a redundant compare and assign.
| * _artifactcache: rm comment 'remove the size from'Angelos Evripiotis2019-03-211-1/+0
| | | | | | | | | | This comment is unclear and seems to explain something that's better understood from reading the code alone.
| * _artifactcache: don't define CACHE_SIZE_FILE twiceAngelos Evripiotis2019-03-212-4/+1
|/ | | | | | | | No need to define CACHE_SIZE_FILE in _artifactcache, it is not used here by the main application, and it is already defined and used in _cas.cascache. Fixup the reference in tests to refer to _cas.cascache instead.
* Merge branch 'aevri/dirname_basename' into 'master'bst-marge-bot2019-03-2172-327/+327
|\ | | | | | | | | tests: str(datafiles) instead of a longer thing See merge request BuildStream/buildstream!1245
| * tests: str(datafiles) instead of a longer thingAngelos Evripiotis2019-03-2172-327/+327
|/ | | | | | | | | | | | | | | | | | | Replace some popular copypasta. This important-looking invocation: os.path.join(datafiles.dirname, datafiles.basename) is equivalent to this shorter invocation: project = str(datafiles) It seems like it's very popular copypasta, replace it with the shorter one thus: # Use 'gsed' or 'sed' etc. as appropriate for your system. git config --global alias.sub '!f() { git grep --name-only --null "$1" | gxargs --null gsed --in-place --expression "s/$1/$2/g" ; }; f' git sub 'os.path.join(datafiles.dirname, datafiles.basename)' 'str(datafiles)'
* Merge branch 'bschubert/pipeline' into 'master'bst-marge-bot2019-03-2137-89/+311
|\ | | | | | | | | | | | | Refactor _update_state() to be called only when needed Closes #703 See merge request BuildStream/buildstream!1070
| * tests/frontend/workspace.py: Test that all elements build with workspace in playTristan Van Berkom2019-03-2123-0/+153
| | | | | | | | | | | | | | | | | | | | - Tests that the target is still built even when a workspace is open on a runtime dependency of a build-only dependency. - Tests that the target is still built even when a workspace is open on a runtime dependency of a runtime dependency of a build-only dependency This adds the regression test provided by Matthew Yates for issue #919
| * element.py: Add _fetch_done method and use this to update the stateBenjamin Schubert2019-03-212-1/+10
| | | | | | | | This is to be consistent will all other queues that follow this setup.
| * Don't update state before summary. It should be consistentBenjamin Schubert2019-03-211-12/+1
| | | | | | | | | | Since we know when an object's state can change, we don't need to update the state of all objects for consistency.
| * Stop updating state in queue.status()Benjamin Schubert2019-03-216-13/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Statuses of an element can be changed when: 1) It is pulled 2) It is fetched 3) It is workspaced and it finished building 4) One of its dependencies is tracked 5) One of its dependencies is workspaced and finished building We can therefore update the statuses at those moments and we don't need to check all the time. This reduces considerably the calls to update_states that are done
| * plugin.py: make _unique_id accessible to the coreBenjamin Schubert2019-03-216-17/+10
| | | | | | | | | | | | | | | | | | _unique_id is set at instantiation and never modified afterwards. Since the guildelines for the project is to never modify directly an object's state, accessing _unique_id as an attribute is safe. Moreover this will save us some cost of calling functions.
| * plugin.py: move the creation and handling of the plugin table in PluginBenjamin Schubert2019-03-214-48/+51
|/ | | | | This encapsulates the logic of how we handle ids and the table in the plugin class itself, making it easier to refactor afterwards
* Merge branch 'pointswaves/softreset' into 'master'bst-marge-bot2019-03-213-0/+45
|\ | | | | | | | | Added doc's for workspace reset --soft See merge request BuildStream/buildstream!1246
| * Added doc's for workspace reset --softpointswaves/softresetWilliam Salmon2019-03-213-0/+45
|/
* Merge branch 'bschubert/lint/logging-format' into 'master'bst-marge-bot2019-03-212-3/+1
|\ | | | | | | | | casserver.py: fix logging-format-interpolation error and enable See merge request BuildStream/buildstream!1248
| * casserver.py: fix logging-format-interpolation error and enableBenjamin Schubert2019-03-212-3/+1
|/ | | | This enables the "logging-format-interpolation" pylint error check
* Merge branch 'chandan/remove-manifest-conftest' into 'master'bst-marge-bot2019-03-211-1/+0
|\ | | | | | | | | MANIFEST.in: Remove conftest.py include See merge request BuildStream/buildstream!1249
| * MANIFEST.in: Remove conftest.py includeChandan Singh2019-03-201-1/+0
|/ | | | | | In !1243, `conftest.py` was moved inside the `tests` directory. Since we already recursively include everything from there, we can get rid of the outdated top-level include directive.
* Merge branch 'aevri/element_loaderror_detail' into 'master'bst-marge-bot2019-03-201-4/+4
|\ | | | | | | | | element: keep original 'detail' when re-raising See merge request BuildStream/buildstream!1240
| * element: keep original 'detail' when re-raisingAngelos Evripiotis2019-03-201-4/+4
|/ | | | | | | Also don't redundantly convert exceptions to strings when format()-ing them. In later work there may be other modules that need fixups.
* Merge branch 'jonathan/wsl-tests-manual' into 'master'Jonathan Maw2019-03-201-2/+19
|\ | | | | | | | | gitlab-ci: Make WSL tests only run automatically on master See merge request BuildStream/buildstream!1241
| * gitlab-ci: Make WSL tests only run automatically on masterjonathan/wsl-tests-manualJonathan Maw2019-03-201-2/+19
|/ | | | | | | WSL tests may be run on non-master branches manually. WSL tests on master do not have "allow-failure" so we will be notified if it's failing.
* Merge branch 'bschubert/linter-for-tests' into 'master'bst-marge-bot2019-03-2092-387/+629
|\ | | | | | | | | | | | | Enable pylint on the tests Closes #941 See merge request BuildStream/buildstream!1222
| * tests:lint: enable pylintBenjamin Schubert2019-03-202-2/+2
| |
| * tests:lint: disable 'unused-import' checks on pytest fixturesBenjamin Schubert2019-03-2072-72/+72
| | | | | | | | | | Pylint can't know that pytest's fixtures are used in a file and therefore reports false positives. Silencing all those errors
| * tests:lint: silence redefined-outer-name in files using fixturesBenjamin Schubert2019-03-2075-0/+230
| | | | | | | | | | Pylint doesn't play well with pytest fixtures, we therefore need to silence this error.
| * tests:lint: fix all redefined-outer-name errorsBenjamin Schubert2019-03-201-6/+6
| |
| * tests:lint: fix all unused-import from pylintBenjamin Schubert2019-03-205-7/+6
| | | | | | | | | | Removes all the ones thare were not needed Whitelist the ones that are actually needed for side effects
| * tests/external_plugins.py: remove unused importsBenjamin Schubert2019-03-201-2/+0
| |
| * tests:lint: Remove unused variablesBenjamin Schubert2019-03-201-2/+0
| |
| * tests:lint: silence unbalanced-tuple-unpacking errorsBenjamin Schubert2019-03-201-0/+2
| |
| * tests:lint: fix all blacklisted-name errorsBenjamin Schubert2019-03-201-10/+10
| |
| * tests:lint: fix indentationBenjamin Schubert2019-03-201-1/+1
| |
| * tests:lint: rename variables shadowing othersBenjamin Schubert2019-03-205-11/+11
| |
| * tests:lint: Raise exception instead of using 'assert False' for errorsBenjamin Schubert2019-03-201-1/+3
| | | | | | | | | | This fixes a inconsistent-return-statements from pylint and makes it easier to understand what is happening
| * tests:lint: use set comprehensions instead of set([])Benjamin Schubert2019-03-201-3/+3
| |