| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
tests:
* local sources are cached
* use git sources instead of local when removing objects
* update expected cache keys
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Extend Source API
Add `_stage_into_cas()` private method. Calls `self.stage` on
a `CasBasedDirectory`.
If the source sets BST_NO_PRESTAGE_KEY then the casdir is recreated from
a stored digest and imported directly in `_stage`.
|
| |
|
|\
| |
| |
| |
| | |
job pickling: also pickle global state in node.pyx
See merge request BuildStream/buildstream!1657
|
| | |
|
| |
| |
| |
| |
| | |
Clear up some errors when running tests with
`BST_FORCE_START_METHOD=spawn`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
.pylintrc: Add ujson to extension-pkg-whitelist
See merge request BuildStream/buildstream!1672
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Add `ujson` to the `extension-pkg-whitelist` (we trust it!). Without
this, `pylint` throws the following (non-fatal) warning:
```
src/buildstream/_cachekey.py:65:14: I1101: Module 'ujson' has no 'dumps'
member, but source is unavailable. Consider adding this module to
extension-pkg-whitelist if you want to perform analysis based on
run-time introspection of living objects. (c-extension-no-member)
```
|
|\
| |
| |
| |
| | |
format_project.rst: De-obfuscate element/package differences
See merge request BuildStream/buildstream!1670
|
|/
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
_frontend/status.py: Complete names when rendering dynamic queue status
See merge request BuildStream/buildstream!1666
|
|/
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
pickle `first_pass_config` factories
See merge request BuildStream/buildstream!1654
|
| | |
|
| |
| |
| |
| |
| | |
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'.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
| |
It turns out we don't even need it once.
|
|\
| |
| |
| |
| | |
Prepare NEWS for 1.91.2 snapshot release
See merge request BuildStream/buildstream!1668
|
|/
|
|
|
| |
Prepare NEWS file for next development snapshot release. There hasn't
been any breaking changes since last snapshot.
|
|\
| |
| |
| |
| |
| |
| | |
tests/sources/keytest: Ensure element state is updated as expected
Closes #1179
See merge request BuildStream/buildstream!1664
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
tests: remove mark.in_subprocess, create_cas_usage_monitor
See merge request BuildStream/buildstream!1661
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
| |
It seems we don't need this anymore, thanks to cleaning up gRPC
background threads.
|
|\
| |
| |
| |
| | |
setup.cfg: Register mark for pytest-datafiles
See merge request BuildStream/buildstream!1662
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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,
```
|
|\
| |
| |
| |
| |
| |
| | |
create usage monitor early
Closes #1176
See merge request BuildStream/buildstream!1659
|
|/
|
|
|
|
| |
tests: manually close channels when interacting with the cache
cascache.py: disable the usage monitor if start method is spawn
|
|\
| |
| |
| |
| | |
jobpickler: also pickle Digest protos
See merge request BuildStream/buildstream!1652
|
| |
| |
| |
| | |
Now that more tests are passing, enable them.
|
|/
|
|
|
| |
This is now required by some code paths. Also make a generic routine for
pickling / unpickling, as we may be doing more of this.
|
|\
| |
| |
| |
| | |
Enable a subset of `tests-spawn-multiprocessing-start-method`
See merge request BuildStream/buildstream!1650
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/
|
|
| |
Otherwise we won't actually be testing the spawn code path.
|
|\
| |
| |
| |
| | |
element.py: remove unused variable
See merge request BuildStream/buildstream!1658
|
|/ |
|