summaryrefslogtreecommitdiff
path: root/tests/format
Commit message (Collapse)AuthorAgeFilesLines
* tests/format/include: remove unused tmpdir'saevri/include-errorAngelos Evripiotis2019-02-111-6/+6
| | | | | Don't create and remove temp dirs unnecessarily when they are not used, looks like these were just copy-pastes without intended side-effects.
* _includes: better error on including directoryAngelos Evripiotis2019-02-111-0/+21
| | | | | | | | | | | | | Previously, include a directory result in an error like this: mydir is a directory. bst command expects a .bst file. Note that the file containing the include was not mentioned. Now we get an error like this instead: element.bst [line 12 column 0]: Include block references a directory instead of a file: 'mydir'.
* _includes: better error on missing includeAngelos Evripiotis2019-02-111-0/+20
| | | | | | | | | | | | | Previously, a missing include would result in an error like this: Could not find file at not-a-file.include Note that the file containing the include was not mentioned. Now we get an error like this instead: element.bst [line 7 column 5]: Include block references a file that could not be found: 'not-a-file.include'.
* _includes: better provenance on recursive includeAngelos Evripiotis2019-02-111-1/+2
| | | | Use the provenance of the include block, instead of the whole node.
* Expose basic api for testing external plugins.phil/plugin-testing-apiPhil Dawson2019-02-0817-17/+22
| | | | | | | | | | | | | | | | | | We want external plugins to be able to make use of the core testing utils. This commit exposes the basic utilities which are currently in use in bst-external plugins. If necessary, more utilities could be exposed in the future. Moves the following files from tests/testutils/ to buildstream/plugintestingutils/: o runcli.py o integration.py As part of this, this commit makes the following changes to runcli.py and integration.py: o runcli.py: Fix linting errors o runcli.py: Add user facing documentation o Integration.py: Add user facing documentation
* Mark 'old' checkout command as obsoleteJames Ennis2019-01-221-8/+8
| | | | | | | | | | | This commit marks 'bst checkout' as a 'hidden' command. If used, the user will be prompted to use the new 'bst artifact checkout' command. All tests which used 'bst checkout' have been modified to use the new artifact sub-command. This partially solves #822.
* tests: Migrate junctions test to tests/format/junctions.pyTristan Van Berkom2019-01-1664-0/+551
| | | | This is the directory for all things related to loading.
* tests: Migrate protected variable handling tests to tests/format/variables.pyTristan Van Berkom2019-01-163-3/+91
|
* tests: Renaming some tests in tests/format/project.pyTristan Van Berkom2019-01-161-5/+5
| | | | Remove some redundancy from the test lines.
* tests: Migrate preflight error handling check to tests/format/project.pyTristan Van Berkom2019-01-165-0/+57
| | | | | | This is where other load time related plugin error handling is checked, and is the last thing to remove in the `tests/pipeline` directory.
* tests: Migrate test for load_ref() unsupporting plugins into format/project.pyTristan Van Berkom2019-01-164-0/+81
| | | | | | | The tests/format/project.py test already has some tests about how we error gracefully for bad plugins and bad plugin configurations, lets put it there rather than tests/pipeline/load.py which we will remove.
* tests: Migrate dependency order/iteration testing to the format testsTristan Van Berkom2019-01-1629-17/+162
| | | | | | Created new `tests/format/iteration.py` which tests the order in which elements are iterated over in various scopes in a loaded data model.
* tests: Migrate dependencies test to tests/formatTristan Van Berkom2019-01-1621-0/+218
| | | | This used to be an internal test, converted this to use the `cli` fixture.
* tests/format/optionarch.py: Add tests for architecture aliasesJürg Billeter2019-01-105-0/+81
|
* tests/format/project.py: Added new regression test for empty dependency ↵Tristan Van Berkom2018-12-073-0/+11
| | | | | | dictionaries This adds a regression test for issue #803
* optionos.py: Add tests for OptionOSRaoul Hidalgo Charman2018-12-053-0/+99
| | | | Same format as OptionArch tests, but with OS's.
* optionarch.py: update to use same arch names as SandboxConfigRaoul Hidalgo Charman2018-12-054-5/+5
| | | | Also update tests to be consistent with this
* plugins/elements/cmake.yaml: always specify variable typesAbderrahim Kitouni2018-11-191-2/+2
| | | | | | | cmake sometimes misinterprets relative paths as relative to the current directory if this is not specified. See freedesktop-sdk/freedesktop-sdk#431 adjust tests/format/variables.py accordingly.
* Add support for aarch64 in a testValentin David2018-11-141-1/+1
|
* Add conf-root variable to buildsWilliam Salmon2018-10-161-4/+4
| | | | | | | Adding the conf-root variable makes creating out of source builds slightly easier. For issue #512 in Gitlab.
* Fix outside-of-project check when project path is not canonical.Valentin David2018-09-271-0/+12
| | | | | | | | | 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
* Adding test for Invalid Yamlissue-642-Invalid_project.conf_seen_as_missingknownexus2018-09-183-0/+16
|
* tests/format/optionoverrides.py: Added test for options in element overridesTristan Van Berkom2018-09-183-0/+49
| | | | This is a regression test for issue #658
* Add tests for cyclic variables checkJosh Smith2018-08-293-0/+24
| | | | | Note: This modifies the docker containers used for testing to supply the pytest-timeout package.
* Add support for include '(@)' in project.conf and .bst filesValentin David2018-08-0247-0/+583
| | | | Fixes #331.
* tests: test local plugins and element-path pathstiagogomes/issue-195Tiago Gomes2018-08-023-1/+51
|
* _project.py: Allow running bst commands from subdirectories of project rootChandan Singh2018-06-064-0/+21
| | | | | | | | When initializing the project, BuildStream will continue searching for project.conf in parent directories in case it is not found in the current directory. Fixes #368.
* tests/format/variables.py: Removed testing of stderrTristan Van Berkom2018-05-081-4/+0
| | | | | | We have machine readable errors for this purpose, and the strings happen to change causing tests to break if we test the specific UI (reported error strings are UI).
* tests/format/variables.py: Add a test for undefined variable error messageValentin David2018-05-063-0/+24
|
* plugins/elements/cmake.yaml: allow using ninja instead of make (#279)abderrahim/cmake-ninjaAbderrahim Kitouni2018-04-142-2/+3
| | | | | | | This uses the build tool mode of cmake to have a single command that can call either make or ninja. I've also modified the tests to take the new commands into account
* tests/format/variables.py: Ported from old style testsTristan Van Berkom2018-04-1415-0/+118
|
* More specific exceptions when a project.conf is missing.Tristan Van Berkom2018-04-081-1/+1
| | | | | Since we want to react and start an interactive session when the project.conf is missing, we need a more specific error to catch.
* tests/format/options.py: Added tests for invalid variable names in optionsTristan Van Berkom2018-04-065-0/+31
|
* tests/format/options.py: Added tests for invalid option name symbolsTristan Van Berkom2018-04-069-0/+45
|
* tests/format/project.py: Added tests for loading of invalid project namesTristan Van Berkom2018-04-063-0/+22
|
* tests/format/project.py: Converted to use CLI test harnessTristan Van Berkom2018-04-067-0/+64
| | | | | | 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.
* tests/format/project.py: Test that conditional statements are supported in ↵Tristan Van Berkom2018-03-204-0/+56
| | | | project.refs
* tests/format: Use new error assertions all aroundTristan Van Berkom2018-01-0111-120/+50
|
* tests: Test whether a plugin is allowed to be loadedfix-132-rebasedJonathan Maw2017-12-1311-1/+62
|
* Update tests for changed plugin loadingJonathan Maw2017-12-139-0/+75
| | | | | | Checking for plugins with the same name no longer happens in the plugincontext, it happens in project, so the old test was removed and a new one added.
* Remove unused imports in test filesGökçen Nurlu2017-12-074-4/+0
|
* Refactoring: Move exceptions module to be privateTristan Van Berkom2017-11-0610-10/+10
| | | | Hide all of buildstream's internal exceptions from the API surface.
* Catch attempts to compose a listSam Thursfield2017-10-313-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Attempting to compose a list property would result in an unhandled exception: AttributeError: 'CommentedSeq' object has no attribute 'get' We now at least detect the situation and produce an exception that the frontend will report neatly: Error loading pipeline: element.bst [line 11 column 4]: Only values of type 'dict' can be composed. I was getting this error from an attempt to conditionally extend the sources list: sources: (?): arch == "x86_64": - url: http://example.com/x86_64 The correct way to do this is to move the conditional into the parent dict, e.g.: (?): arch == "x86_64": sources: - url: https://example.com/x86_64 It would be nice if the error message could hint at how the user can do what they want, but it doesn't seem possible in this case.
* test/format/projectoverrides.py: Test project wide element type overrides128-status-ticker-fails-to-update-periodically-on-some-buildsTristan Van Berkom2017-10-253-0/+38
| | | | | | First case simply asserts that prepending to configure-commands from the project.conf works as intended, ensuring we dont regress issue #127
* tests/format: Test proper failure of reference to undefined optionsTristan Van Berkom2017-10-233-0/+29
| | | | | When using an undefined option in a conditional expression, buildstream should error out and print a good message about it.
* tests/yaml/, tests/format/: Added tests for list composition directivesTristan Van Berkom2017-10-178-0/+78
|
* tests/format/optionexports.py: Testing variable exports for base option typesTristan Van Berkom2017-10-143-0/+69
|
* tests/format/assertion.py: Added tests for the (!) assertion directiveTristan Van Berkom2017-10-115-0/+74
|
* tests/format/optionarch.py: Added arch option specific test casesTristan Van Berkom2017-10-103-0/+97
|
* tests/format/optioneltmask.py: Added element-mask option specific test casesTristan Van Berkom2017-10-108-0/+135
|