| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Since we want to react and start an interactive session when the
project.conf is missing, we need a more specific error to catch.
|
| |
|
|
|
|
|
|
|
| |
This comes with an interactive mode unless the project name is specified
on the command line.
This fixes issue #342
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At present, it is only possible to close workspaces for elements one at
a time. This can become slightly tedious process when you have multiple
workspaces open and you want to close all of them, maybe because you
just finished working on a set of related elements.
Instead of accepting a single element, accept a list of elements as
argument for `bst workspace close`. Additionally, add `-a`/`--all`
option to close all workspaces.
Fixes #337 - Add option to close all workspaces.
|
| |
|
| |
|
| |
|
|
|
|
| |
This is sufficiently covered by other tests in tests/format/project.py
|
|
|
|
|
|
| |
Moved the old style project format tests into the new CLI based
directory in tests/format/ and converted to use the CLI fixture
for these tests.
|
|
|
|
|
|
|
|
|
|
| |
o Test that we get the expected error if the junction element
the pipeline refers to is inconsistent
o Test that the junction element is automatically fetched as
a part of the build phase
Both tests using both ref-storage modes
|
|
|
|
|
|
|
|
|
|
|
| |
o Test that we bail out with the expected errors when the
junction element in question is Consistency.INCONSISTENT
o Test that tracking the junction itself, causes a subsequent
show of the pipeline to not bail out anymore (tests that
tracking works and persists for a junction element).
Again these use both ref-storage modes.
|
|
|
|
|
|
|
|
|
|
| |
o This tests that a Consistency.RESOLVED junction will automatically be fetched
when `bst fetch` is run on a pipeline which refers to a junction.
o Further, it tests that a Consistency.INCONSISTENT junction will bail
out with the expected error message
Again testing with both ref-storage modes
|
|
|
|
|
|
|
|
|
|
| |
o Test error conditions for showing an unfetched junctioned project
o Test error conditions for showing an untracked junctioned project
Both tests check both modes of ref-storage.
This adds a new shared helper function `generate_junction`
|
|
|
|
| |
Make buildtrack.py and track.py share the same configure_project() helper.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Ensure that we call Source._load_ref(), and consider project.refs this way
o Ensure that we report a warning in the case that project.refs is in use
and the loaded junction source has a redundant ref which is going to
be ignored
o Report more distinct machine readable errors for failures to load
junction element sources
o Handle Consistency.INCONSISTENT and Consistency.RESOLVED separately:
- The user should be told something different depending on whether
they need to fetch or whether they need to track.
- It is never possible to automatically fetch the source in the
case that the source has no ref to begin with.
This also adjusts the test/loader/junctions.py test to expect the new error
|
|
|
|
|
|
|
|
| |
non-strict mode
This test fails without the previous patch fixing issue #316,
so this should guard against regressions of building and caching
workspace builds in non-strict mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Additionally:
o This shares more code by creating ArtifactCache.get_artifact_fullname(),
which is used for the extract directory relative path in both backends,
and for the ostree "ref" in the ostree backend.
o Further, this removes some redundant documentation in derived abstract
methods, and clarifies in both backends which methods are abstract methods,
we should only be documenting abstract method semantics in one place, where
they are defined.
This is a part of issue #285
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
And adjust all surrounding sources for changed symbols.
Additional details:
o Added Project.get_shell_config() to report the shell configuration,
instead of making those members all public
o Moved assertions about project specified format versions required
of plugins out of Plugin.__init__, and into Project.create_element()
and Project.create_source(), so we can keep more things private
This is a part of issue #285
|
|
|
|
|
|
|
|
|
|
| |
And adjust all surrounding sources for changed symbols.
Also, added new LoadErrorReason.UNSUPPORTED_PLUGIN, required
for changes in how the project will report format version errors
for plugins at creation time
This is a part of issue #285
|
|
|
|
|
|
| |
And adjust all surrounding sources for changed symbols.
This is a part of issue #285
|
|
|
|
|
|
|
|
| |
Here we are overly testing the same functionality which does
not require source specific support, e.g. lets not test resetting
of workspaces for every kind of repo, since we already test opening
and closing of workspaces for every repo kind, this is redundant
and slowing down tests.
|
|
|
|
|
|
| |
nonexisting element
Guard against regressions of issue #249
|
| |
|
|
|
|
|
| |
Since the CLI and the App object was split up, we should name
the file after the object which it implements.
|
|
|
|
|
| |
NOTE: artifact was also made lowercase in the function
get_pushed_elements() in runcli.py
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on issue 89 (https://gitlab.com/BuildStream/buildstream/issues/89)
Ensuring that elements are staged into unique subdirs while building.
This patch supports that by doing the following:
* Modify project config to add 2 new variables ("project-name" and "element-name")
* Changed the default install-root from "/buildstream/install" to "/buildstream-install"
* Update the tests to accommodate these changes
* Update the expected cache keys in the tests
This fixes #89
|
| |
|
|
|
|
| |
Fixes #317
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
tests/integration/build-uid: Add tests.
tests/integration/project/elements/build-uid/build-uid-default.bst:
A test for the default uid/gid of 0 in the sandbox.
tests/integration/project/elements/build-uid/build-uid.bst:
Tests for nonzero uid/gid values supplied in the element.
tests/integration/project/elements/build-uid/build-uid-1023.bst:
Tests for nonzero uid/gid values supplied in project.conf.
|
|
|
|
| |
added tests
|
| |
|
|
|
|
|
|
|
| |
Test this at `bst track` time, when encountering a new ref which
adds a .gitmodules file but does not actually add the submodule,
we check that the expected warning is in the stderr and that BuildStream
does not error out for this.
|
|
|
|
| |
To write tests which add and commit a file.
|
|
|
|
|
|
|
|
|
|
| |
Added a test that handled errors are reported at load time as expected.
Added another test that we get the expected exception. This needs to
be fixed, test contains FIXME: comment explaining that we could be
doing much better here.
This should be fixed in the context of issue #197
|
|
|
|
|
|
| |
This tests that we handle errors from Source.get_consistency() in the
post tracking state updates gracefully, one test added for a handled
failure, and another test added for an unhandled/unexpected exception.
|
|
|
|
|
|
|
|
| |
o Test that this fails gracefully when the toplevel project uses
inline ref-storage
o Test that we successfully track cross junctioned elements when
the project uses project.refs
|
|
|
|
|
|
|
| |
Tests that `bst track` sets the ref in the expected node if the
node containing the ref is conditionalized with a project option.
This tests both the regular inline behavior, and also the project.refs behavior.
|
|
|
|
|
|
| |
Only added condition to the simplest case here, the other cases
are mostly testing that track commands get the correct selection
of elements when using `--deps all` and `--except` arguments.
|
|
|
|
|
| |
In order to test tracking on multiple branches, lets use
the Git repo scaffolding.
|
|
|
|
| |
project.refs
|
|
|
|
|
|
| |
Test that we have no error when loading a project that doesnt use
project.refs, and that we get the expected graceful failure when
attempting to use project.refs with a Source which doesnt support it.
|
|
|
|
|
| |
Test that we get the same functionality from the complex build + track
test regardless of whether we are saving refs inline or to a project.refs file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It makes no sense to support this now that we are adding project.refs,
instead of removing the option completely, we document it as
deprecated and print a warning.
o _frontend/cli.py: Mark the option as deprecated, warn if it's used
o _scheduler/trackqueue.py: Remove save optionality
o _pipeline.py: Remove save optionality
o tests/frontend/buildtrack.py: Stop testing for no-save functionality,
This test was actually broken, and only save functionality was being
tested. This was due to using a list [True] or [False] in the
@pytest.mark.parameterize() statement, both of which are truthy values.
|
|
|
|
|
| |
widget.py: Remove SequenceID from the list of widgets.
tests/frontend/logging.py: Remove %{sequence} check.
|
|
|
|
|
| |
This is made redundant by the more complete `environment` configuration,
so lets quickly remove the former in this new format version 4.
|