summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* gitlab-ci: tests-spawn, enable tests/elementsaevri/enable_spawn_ci_5Angelos Evripiotis2019-10-291-2/+1
|
* testing/runcli: node._reset_global_state on runAngelos Evripiotis2019-10-291-1/+10
| | | | | Clear up some errors when running tests with `BST_FORCE_START_METHOD=spawn`.
* testing, messenger: make dummy_context picklableAngelos Evripiotis2019-10-292-3/+35
| | | | | | | | | | | Note that unittest.MagicMock is unfortunately not pickable, so if one tries to cross over to a ChildJob then we're in trouble. Sacrifice some convenience and a bit of safety by implementing our own _DummyTask instead of using MagicMock. Don't try to pickle the 'simple_task' context manager, if it's been overridden when creating a test context.
* _scheduler/jobs: mv pickle details into jobpicklerAngelos Evripiotis2019-10-282-60/+59
| | | | | Move pickle_child_job and do_pickled_child_job into jobpickler.py, to keep details like saving and restoring global state out of job.py.
* job pickling: also pickle global state in node.pyxAngelos Evripiotis2019-10-283-19/+72
|
* conftest: more useful multiprocessing printAngelos Evripiotis2019-10-281-4/+4
| | | | | | Print what we set to, not what was set before us. This enables us to test that `spawn` mode is really enabled by looking at output from the tests.
* Merge branch 'tlater/plugin-documentation-improvement' into 'master'bst-marge-bot2019-10-251-1/+1
|\ | | | | | | | | format_project.rst: De-obfuscate element/package differences See merge request BuildStream/buildstream!1670
| * format_project.rst: De-obfuscate element/package differencestlater/plugin-documentation-improvementTristan Maat2019-10-251-1/+1
|/ | | | | | When the package and project have the same name, it can be a little confusing what these things actually mean. This commit makes it a bit more obvious that the two can (and will often) be different.
* Merge branch 'tpollard/render_task_group' into 'master'bst-marge-bot2019-10-258-12/+15
|\ | | | | | | | | _frontend/status.py: Complete names when rendering dynamic queue status See merge request BuildStream/buildstream!1666
| * _frontend/status.py: Complete names when rendering dynamic queue statusTom Pollard2019-10-258-12/+15
|/ | | | | | | At somepoint action_name instead of complete_name started to be rendered to the user for the dynamic list of queue status reports. As we now have more of a UI seperation between 'Artifact' & 'Source' tasks, it also makes sense to reflect these actions in this output.
* Merge branch 'aevri/enable_spawn_ci_3' into 'master'1.91.2bst-marge-bot2019-10-255-39/+40
|\ | | | | | | | | pickle `first_pass_config` factories See merge request BuildStream/buildstream!1654
| * .gitlab-ci: test-spawn, enable tests/format/*Angelos Evripiotis2019-10-251-1/+2
| |
| * job pickling: pickle first_pass_config factoriesAngelos Evripiotis2019-10-251-2/+4
| | | | | | | | | | Note that for multiple-pass setups, i.e. where we have junctions, we also have to pickle things that belong to the 'first_pass_config'.
| * job pickling: plugins don't return their factoriesAngelos Evripiotis2019-10-254-35/+35
| | | | | | | | | | | | | | | | | | Remove the need for plugins to find and return the factory they came from. Also take the opportunity to combine source and element pickling into a single 'plugin' pickling path. This will make it easier for us to later support pickling plugins from the 'first_pass_config' of projects.
| * element: remove double MetaSource importAngelos Evripiotis2019-10-251-2/+0
|/ | | | It turns out we don't even need it once.
* Merge branch 'chandan/release-1.91.2' into 'master'bst-marge-bot2019-10-251-0/+8
|\ | | | | | | | | Prepare NEWS for 1.91.2 snapshot release See merge request BuildStream/buildstream!1668
| * Prepare NEWS for 1.91.2 snapshot releaseChandan Singh2019-10-251-0/+8
|/ | | | | Prepare NEWS file for next development snapshot release. There hasn't been any breaking changes since last snapshot.
* Merge branch 'chandan/fix-source-key-test' into 'master'bst-marge-bot2019-10-222-9/+12
|\ | | | | | | | | | | | | tests/sources/keytest: Ensure element state is updated as expected Closes #1179 See merge request BuildStream/buildstream!1664
| * tests/sources/keytest: Ensure element state is updated as expectedChandan Singh2019-10-222-9/+12
|/ | | | | | | | | | | | | | This contains two changes: * tests/sources/keytest.py: Ensure that the element state before/after BuildStream operations is updated as expected. Previously we were just checking that the command succeeded. * tests/sources/project_key_test/plugins/sources/key-test.py: Update the dummy plugin that's used for tests, such that it conforms to the expectations of a BuildStream source class. Fixes #1179.
* Merge branch 'aevri/no_mark_run_in_subprocess' into 'master'bst-marge-bot2019-10-229-151/+11
|\ | | | | | | | | tests: remove mark.in_subprocess, create_cas_usage_monitor See merge request BuildStream/buildstream!1661
| * cascache: don't pickle _cache_usage_monitorAngelos Evripiotis2019-10-221-0/+10
| | | | | | | | | | We don't need this in subprocesses, and it doesn't pickle, so don't try to. Make sure we get an error if we do try to use it in subprocesses.
| * cascache: don't need create_cas_usage_monitor nowAngelos Evripiotis2019-10-221-10/+1
| | | | | | | | | | | | | | Now that we don't use mark.in_suprocess in our tests anymore, we don't need to suppress creating _CASCacheUsageMonitor. This was introduced in 9c2bbe3c3871db3a33f81e48987f6d473f97b136
| * tests: remove mark.in_subprocessAngelos Evripiotis2019-10-228-141/+0
|/ | | | | It seems we don't need this anymore, thanks to cleaning up gRPC background threads.
* Merge branch 'chandan/register-pytest-mark' into 'master'bst-marge-bot2019-10-221-0/+1
|\ | | | | | | | | setup.cfg: Register mark for pytest-datafiles See merge request BuildStream/buildstream!1662
| * setup.cfg: Register mark for pytest-datafileschandan/register-pytest-markChandan Singh2019-10-221-0/+1
|/ | | | | | | | | | | | Register the marker for `pytest-datafiles`. This fixes the following warning that we currently get: ``` .tox/py37-nocover/lib/python3.7/site-packages/_pytest/mark/structures.py:324 /Users/csingh43/buildstream/bst-tmp/.tox/py37-nocover/lib/python3.7/site-packages/_pytest/mark/structures.py:324: PytestUnknownMarkWarning: Unknown pytest.mark.datafiles - is this a typo? You can register custom marks to avoid this warning - for detail s, see https://docs.pytest.org/en/latest/mark.html PytestUnknownMarkWarning, ```
* Merge branch 'traveltissues/1176' into 'master'bst-marge-bot2019-10-222-8/+18
|\ | | | | | | | | | | | | create usage monitor early Closes #1176 See merge request BuildStream/buildstream!1659
| * cascache.py: instantiate usage monitor earlyDarius Makovsky2019-10-222-8/+18
|/ | | | | | tests: manually close channels when interacting with the cache cascache.py: disable the usage monitor if start method is spawn
* Merge branch 'aevri/enable_spawn_ci_2' into 'master'bst-marge-bot2019-10-212-7/+22
|\ | | | | | | | | jobpickler: also pickle Digest protos See merge request BuildStream/buildstream!1652
| * gitlab: spawn tests, enable internals, sourcecacheaevri/enable_spawn_ci_2Angelos Evripiotis2019-10-211-1/+1
| | | | | | | | Now that more tests are passing, enable them.
| * jobpickler: also pickle DigestProtoAngelos Evripiotis2019-10-211-6/+21
|/ | | | | This is now required by some code paths. Also make a generic routine for pickling / unpickling, as we may be doing more of this.
* Merge branch 'aevri/enable_spawn_ci' into 'master'bst-marge-bot2019-10-184-10/+61
|\ | | | | | | | | Enable a subset of `tests-spawn-multiprocessing-start-method` See merge request BuildStream/buildstream!1650
| * .gitlab-ci.yml: disable most spawn testsaevri/enable_spawn_ciAngelos Evripiotis2019-10-181-0/+6
| |
| * cli: BST_FORCE_START_METHOD only sets if necessaryAngelos Evripiotis2019-10-181-10/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | Allow situations where the start method is already set, this enables us to use this in testing situations. Also, print a diagnostic if it's already set to something we didn't want. Now this block got more complex, split out into a new function. Now we're using this string a lot, extract it to a variable, to make sure we're spelling it correctly everywhere.
| * tests/conftest: implement BST_FORCE_START_METHODAngelos Evripiotis2019-10-181-0/+15
| |
| * tox.ini: pass through BST_FORCE_START_METHODAngelos Evripiotis2019-10-181-0/+1
|/ | | | Otherwise we won't actually be testing the spawn code path.
* Merge branch 'traveltissues/fix' into 'master'bst-marge-bot2019-10-181-3/+0
|\ | | | | | | | | element.py: remove unused variable See merge request BuildStream/buildstream!1658
| * element.py: remove unused variableDarius Makovsky2019-10-181-3/+0
|/
* Merge branch 'bschubert/bump-bst-experimental-version' into 'master'bst-marge-bot2019-10-182-2/+2
|\ | | | | | | | | | | | | .gitlab-ci.yml: Update bst-plugins-experimental version Closes #1174 See merge request BuildStream/buildstream!1656
| * .gitlab-ci.yml: Update bst-plugins-experimental versionbschubert/bump-bst-experimental-versionBenjamin Schubert2019-10-182-2/+2
|/ | | | Update to the plugins to work with the new YAML updates.
* Merge branch 'traveltissues/notes' into 'master'bst-marge-bot2019-10-183-48/+21
|\ | | | | | | | | workspaces via sourcecache MR2.5 See merge request BuildStream/buildstream!1653
| * Remove special loading for workspacestraveltissues/notesDarius Makovsky2019-10-173-48/+21
|/ | | | | WorkspaceSource.init_workspace raises an exception so it is no longer necessary to retain the original source objects of the loaded element.
* Merge branch 'traveltissues/1172' into 'master'bst-marge-bot2019-10-171-1/+1
|\ | | | | | | | | | | | | tox.ini: pin mypy 0.730 Closes #1172 See merge request BuildStream/buildstream!1649
| * tox.ini: pin mypy 0.730traveltissues/1172Darius Makovsky2019-10-171-1/+1
|/
* Merge branch 'traveltissues/1140-softreset' into 'master'bst-marge-bot2019-10-167-54/+101
|\ | | | | | | | | | | | | Workspaces via sourcecache MR 2 Closes #1140 See merge request BuildStream/buildstream!1640
| * tests: add test for soft workspace resettraveltissues/1140-softresetDarius Makovsky2019-10-161-0/+52
| |
| * Use workspace_close and workspace_open to reset workspacesDarius Makovsky2019-10-164-46/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | * tracking not needed in reset * support workspace opening for already open workspaces remove existing files to preserve behaviour Add ignore_workspaces kwarg to element loading via Stream().load Setting this to true will ignore special handling of sources for open workspaces and load the sources specified rather than a workspace source. This avoids having to reload elements when re-opening workspaces.
| * _basecache.py: early return if remotes are setupDarius Makovsky2019-10-161-1/+3
| |
| * workspace.py: raise AssertionError on init_workspaceDarius Makovsky2019-10-161-7/+4
|/
* Merge branch 'bschubert/1.91.1' into 'master'1.91.1bst-marge-bot2019-10-161-0/+8
|\ | | | | | | | | NEWS: update release notes for version 1.91.1 See merge request BuildStream/buildstream!1646
| * NEWS: update release notes for version 1.91.1Benjamin Schubert2019-10-161-0/+8
|/