| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
With the new support for saving the stdout FDs cleanly, and binary mode
capture in runcli, enable the tarball-to-stdout test.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|
|
|
|
|
|
|
| |
In order to test things which write tarballs to stdout correctly,
we need to capture the binary output cleanly. This ensures we're not
potentially mismatching encodings in and out.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
|
|
|
|
| |
Replace path separator with '-' to match Element.normal_name.
|
|
|
|
|
|
|
|
| |
Since python 3.3, collections has been moved to collections.abc module.
For backwards compatibility, they continue to be visible in this module through Python 3.7.
Subsequently, they will be removed entirely.
See https://docs.python.org/3/library/collections.html
|
|
|
|
|
|
|
|
|
| |
When a circular dependency is detected, the reported error hilights
only one part of the loop in question. This change ensures that
the entire loop is listed so that the user has a greater chance of
easily determining the correct fix.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
|
| |
|
|
|
|
| |
For issue #512 in Gitlab.
|
|
|
|
|
|
|
| |
Adding the conf-root variable makes creating out of source builds
slightly easier.
For issue #512 in Gitlab.
|
|
|
|
|
|
|
|
| |
Build stream was only creating command-subdir for non workspace builds
this has now been fixed, and this regression test should support the
feature.
For issue #512 in Gitlab.
|
|
|
|
|
| |
* Test in same style as test_yamlcache_used
* Move of project not required so removed
|
| |
|
| |
|
|
|
|
| |
* Fix to CWD issue provided by Jonathan Maw
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The issue happens on Silverblue where /home is a symlink to /var/home.
With this element-path is something like
/var/home/user/project/elements, when the project path is
/home/usr/project. Comparing canonical paths solves the issue.
Fixes #673
|
|
|
|
|
|
| |
This test ensures that failed builds are pushed when set to on-error=quit.
Closes https://gitlab.com/BuildStream/buildstream/issues/534
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Test rebuild that requires staging of weakly cached dependency.
This is a regression test for #607.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, `source-bundle` command is entirely broken as it tries to stage the
sources in a directory that doesn't exist. Fix it by ensuring that we create
the necessary directories before calling any methods that try to use those
directories.
This fix comes with a regression test to ensure that the basic use-case
of `source-bundle` continues to work in future.
Fixes https://gitlab.com/BuildStream/buildstream/issues/651.
|
| |
|
|
|
|
|
|
|
|
| |
Pulled/Pushed messages will no longer be produced from within
element.py, instead they will be produced during CasCache push() and
pull() appropriately.
Message consistency has also been improved.
|
|
|
|
|
| |
Adds a test to ensure that BuildStream alerts the user of a skipped push
when the remote already has the artifact cached.
|
|
|
|
|
|
|
|
|
|
| |
The SKIPPED message type is now used to indicate the end of a task which
was successful without having to perform the given task.
This overhauls the use of `Queue.done()` and therefore queues do not
need to provide a processed/skipped return value from `done()`. Instead
this is replaced with the action of raising a `SkipJob` exception from
within `Queue.process()`.
|
| |
|
| |
|
|
|
|
|
| |
Test that we get the expected error when configuring a client-cert
without client-key, or the inverse.
|
|
|
|
|
|
|
|
| |
The initialization of remotes is done by ArtifactCache.setup_remotes()
and as such it was wrong for these tests to be calling
CASCache.initialize_remotes() a second time.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|
|
|
| |
This is a regression test for issue #658
|
|
|
|
|
|
|
|
|
|
| |
The current directory isn't always in the python module search path,
so we have to ensure it is for the script to work.
Strictly speaking, the user may already have a modified PYTHONPATH
at which point PYTHONPATH=".${PYTHONPATH+:$PYTHONPATH}" is necessary,
but it's probably premature to overcomplicate the documentation like that
before we discover it's a problem.
|
|
|
|
|
| |
Since we now set PWD in the environment of builds
existing builds may behave differently so must cache differently now.
|
|
|
|
|
|
| |
Same test as test_never_delete_required(), except that this test ensures
that we never delete required artifacts when their cache keys are
discovered dynamically during the build.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* create_element_size()
Now uses a git Repo object instead of a local source, and
returns the repo.
* update_element_size()
Added this function which can now resize the expected output
of an element generated with create_element_size(), useful
to allow testing sized elements with the tracking feature.
|
|
|
|
|
| |
This allows one to modify a file in an existing git repo,
as opposed to adding a new one.
|
|
|
|
|
|
|
| |
These tests were not checking that we fail for the expected reasons.
Added `res.assert_task_error(ErrorDomain.ARTIFACT, 'cache-too-full')`
where we expect to fail because the cache is too full.
|
|
|
|
|
|
|
| |
This commit renames test_never_delete_dependencies() to
test_never_delete_required(), renders the test more readable by renaming
some elements and reordering some statements and makes the comments more
straight forward and accurate.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They were moving the whole tmpdir to move the project repository.
This moves the cache directories etc. as well, meaning cli.run can't find them.
This was worked around by setting configure=False,
but this has the side-effect of making use of the user's caches,
which it should not be doing for reproducibility reasons.
By changing the tempdir layout to have the project in a subdirectory
we can move the project around for the relative workspace tests
without losing track of the configured state directories,
so we can leave configure=True and avoid touching the user's caches.
|
|
|
|
|
|
| |
Overriding the config with a custom config file on the command-line
prevents it merging in the test-specific configuration
and can permit it to attempt to initialise the user's cache.
|
| |
|
| |
|
|
|
|
| |
Setting "max-jobs" won't be allowed anymore in a following commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Naive getcwd implementations (such as in bash 4.4) can break
when bind-mounts to different paths on the same filesystem are present,
since the algorithm needs to know whether it's a mount-point
to know whether it can trust the inode value from the readdir result
or to use stat on the directory.
Less naive implementations (such as in glibc) iterate again using stat
in the case of not finding the directory because the inode in readdir was wrong,
though a Linux-specific implementation could use name_to_handle_at.
Letting the command know what directory it is in makes it unnecessary
for it to call the faulty getcwd in the first place.
|
| |
|