| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Seems all the test modules have one and as I recall it can
cause problems when they are missing in the test dirs.
|
|
|
|
|
|
|
|
|
| |
This test should contain an entry for every element and source plugin
in buildstream. Further, an entry should exist for every feature of
every plugin which may effect cache key calculation.
MANIFEST.in: Adding .expected files used in this test to the
generated dist tarballs.
|
| |
|
|
|
|
|
|
|
|
| |
This somewhat arbitrarily tests what the local source generates
as a unique key but is not really the requirements of a unique
key. This is also subject to change and is a pain to update.
Instead this is pretty much handled by the cache key test anyway.
|
|
|
|
|
|
|
|
| |
o Testing that we can load a custom element or source
o Testing that we assert and trigger an error when the requested
format version of a plugin by the project is greater than the
reported version of the plugin
|
| |
|
| |
|
|
|
|
|
| |
Errors which were previously detected when loading the
plugin context are now only detected when loading the plugin.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Both for when depending on a toplevel with variants, or when
ambivalently depending on an element with variants.
|
|
|
|
| |
invalid variant requests
|
| |
|
| |
|
|
|
|
| |
This avoids cyclic imports between element.py and artifactcache.py.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This command adds initial cross-compilation support to BuildStream.
It has been tested against a converted version of the Baserock
compiler bootstrap and used to cross build sysroots for armv8l64 and ppc64l
from an x86_64 host.
For example, to build a sysroot for ARM v8 64-bit you can do this:
bst build --target-arch=armv8b64 gnu-toolchain/stage2.bst
This would cause the adapted Baserock definitions to produce a stage1 simple
cross compiler that runs on the native architecture and produces armv8b64
binaries, and then cross build a stage2 sysroot that executes on armv8b64.
Currently the --host-arch option does nothing of use. It will one day
enable host-incompatible builds using a QEMU-powered cross sandbox.
The `--arch=` option is now shorthand for `--host-arch= --target-arch=`.
Elements have 2 new variables available, %{bst-host-arch} and
%{bst-target-arch}. The 'arches' conditional now follows %{bst-target-arch},
while the new 'host-arches' conditional follows %{bst-host-arch}. All
of --arch, --host-arch and --target-arch default to the output of `uname -a`.
There's no magic here that would make all BuildStream elements suddenly
able to cross compile. It is up to an individual element to support this by
honouring %{bst-target-arch} in whatever way makes sense.
|
| |
|
|
|
|
|
|
|
|
| |
For the test to work on all systems, we need to make sure that the
user's real config file in ~/.cache/buildstream.conf is ignored.
I was seeing test failures here because I have overridden the default
cache locations in my buildstream.conf file.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This switches the code from using subprocess.Popen() manually to using
subprocess.call(), which achieves the same thing and also handles
resource cleanup for us. I also removed an unused variable.
Fixes warnings like these that the test suite was producing:
tests/sources/ostree.py::test_ostree_shell_exe
/home/shared/src/buildstream/tests/sources/ostree.py:79: ResourceWarning: unclosed file <_io.BufferedReader name=13>
ret = run_ostree_bash_script()
|
| |
|
| |
|
|
|
|
| |
Coverage isn't perfect, but it seems to cover most use-cases.
|
| |
|
|
|
|
|
|
|
|
|
| |
Fixed original staging test to expect the content of the first
encountered subdirectory to be extracted/staged.
Added additional test to override the base-dir configuration
with an empty string and instead extract the root of the tarball
directly.
|
| |
|
| |
|
|
|
|
|
| |
These repo aliases should make it possible for sources to fetch
from local files (assuming they use a file:/// URL)
|
|
|
|
|
| |
These had a circular import, which is only supported > python 3.5
but undesirable anyway.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o The metaelements and metasources now carry the name, the loader
resolves source names now.
o Element/Source factories dont require a name anymore as they
are already in the meta objects
o Pipeline no longer composes names
o Element.name is now the original project relative filename,
this allows plugins to identify that name in their dependencies,
allowing one to express configuration which identifies elements
by the same name that the user used in the dependencies.
o Removed plugin._get_display_name() in favor of the plugin.name
o Added Element.normal_name, for the cases where we need to have
a normalized name for creating directories and log files
o Updated frontend and test cases and all callers to use the
new naming
|
|
|
|
|
|
|
|
|
| |
Now these load an actual (simple) pipeline, so there is
a fully qualified Element to use for testing the API.
Also we now expect a specific ArtifactError for failures
instead of using the xfail pytest decorator, which is a bit
nicer.
|
|
|
|
|
|
| |
They mostly test functionality that is not exposed in API, we
should find a better way of testing this, like running actual
build pipelines.
|
|
|
|
|
|
|
|
| |
copies
Since we changed to use ChainMaps instead of deep copies (a much
needed optimization), we must ensure that composition of mappings
never result in a mutation of dictionaries copied with utils._node_chain_copy()
|
|
|
|
| |
Log handlers are now a hard requirement for a context object.
|
| |
|
|
|
|
|
| |
Now element names contain the full element path and unique
element basenames are no longer a requirement.
|
| |
|
| |
|
|
|
|
|
| |
Sadly the tests arent working but the plugin is, need to take
time to revisit these tests.
|
| |
|
| |
|
|
|
|
| |
This is a bit more explicit, tells cmake the variable is a path string.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o The test which runs an http server failed for me at
least once, I think this test was dependent on the
python garbage collector; using a context manager to
hold things in scope seems to fix this, I hope.
o generate-ostree.sh test script: Added --owner-uid --owner-gid
o ostree tests: Branches should have /, not -
Also disabled staged test for now it doesnt work, staging from the
artifact cache works, and the same code works to stage refs from
sdk.gnome.org, but this test case fails claiming that the commit
object is not valid.
|
|
|
|
| |
key checking is done when adding remote
|
|
|
|
| |
is added multiple times or if a key fails to add
|