This is an automated email from the ASF dual-hosted git repository.

juergbi pushed a change to branch juerg/buildbox
in repository https://gitbox.apache.org/repos/asf/buildstream.git.


    from 41c4bdd  .github/common.env: Update Docker images
     add 8c64573  Merge pull request #1571 from apache/juerg/buildbox
     add bc5e84a  workspace.py: Remove assumption on specific kinds to testing 
multiple
     add ea34d5f  Merge pull request #1566 from 
apache/bschubert/rewrite-workspace-multi-test
     add 0a66564  Create process group for buildbox-casd to suppress SIGINT
     add 95b0012  Merge pull request #1574 from 
nanonyme/nanonyme/sigint-buildbox-casd
     add 83fc2d7  Do not test in deprecated fedora 33
     add d508773  Merge pull request #1579 from jjardon/jjardon/fedora33_remove
     add df1cffd  node.pyx: Fix node composition to not leak mutable data onto 
targets
     add ebab0cb  tests/format/variables.py: Adding regression test for #1360 
notparallel issue
     add 90cb29f  Merge pull request #1570 from apache/tristan/test-notparallel
     add d5774cd  Drop support for Python 3.6
     add 09e1ed5  Don't run CI on ubuntu 18.04 and centos 7.7
     add 69eccdb  Merge pull request #1554 from abderrahim/python-3.7
     add dd986d9  tests: Test that user specified plugins shadow core plugins
     add 3a8e7bb  Merge pull request #1594 from 
apache/tristan/test-plugin-shadowing
     add 6cbbb6e  Remove SandboxFlags from public API surface
     add 6fca9d4  Merge pull request #1595 from 
apache/tristan/remove-sandbox-flags
     add c126469  NEWS: Updated to reflect removal of SandboxFlags
     add de0a215  sandbox/sandbox.py: Remove DEVICES variable
     add 83f567f  Merge pull request #1596 from apache/tristan/sandbox-cleanup
     add 943397a  sandbox.py: Fixed missing return statement after removing 
SandboxFlags
     add 910b1cb  element.py: Include weak cache key in cache key calculation.
     add ac9fc2e  Merge pull request #1597 from 
apache/tristan/include-weak-key-in-cache-key
     add aaa0053  tests/frontend/buildcheckout.py: Testing strict/non-strict 
scenario
     add 299ffde  Merge pull request #1598 from 
apache/tristan/weak-cache-key-test
     add 81ac93f  tests/frontend/completions.py: Make artifact completion test 
stable
     add f3265e8  Merge pull request #1600 from 
apache/tristan/fix-artifact-completion-test
     add 01967ce  Make buildstream.testing private -> buildstream._testing
     add 19afce5  Merge pull request #1599 from 
apache/tristan/privatize-testing-api
     add 095949f  .github/run-ci.sh: Fix test suite to properly fail in CI
     add 16654a0  Merge pull request #1602 from 
apache/tristan/properly-fail-tests
     add fa775a6  _testing/_fixtures.py: Added comment/hint around gRPC thread 
assertions
     add 531254a  sandbox.py: Make the sandbox a context manager and give it a 
_cleanup() method
     add 1129965  element.py: Ensure that sandboxes are used within `with` 
statements
     add 02f6a13  sandbox/_sandboxremote.py: Close the storage remote at 
cleanup time
     add 6dacf7f  Merge pull request #1605 from 
apache/tristan/fix-leaking-grpc-threads
     add ca41dd9  doc: Fix docs build after buildstream._testing API 
privatization
     add dbe491f  Merge pull request #1606 from apache/tristan/fix-docs-build
     new 818bba8  .github/common.env: Update Docker images

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/common.env                                 |   6 +-
 .github/compose/ci.docker-compose.yml              |  12 --
 .github/run-ci.sh                                  |   5 +-
 .github/workflows/ci.yml                           |   3 -
 MANIFEST.in                                        |   2 +-
 NEWS                                               |   9 +-
 doc/source/core_framework.rst                      |   1 -
 doc/source/main_install.rst                        |   2 +-
 setup.py                                           |  15 +-
 src/buildstream/__init__.py                        |   2 +-
 src/buildstream/_cas/casdprocessmanager.py         |  14 +-
 src/buildstream/_project.py                        |   6 +-
 src/buildstream/{testing => _testing}/__init__.py  |   0
 .../{testing => _testing}/_cachekeys.py            |   2 +-
 src/buildstream/{testing => _testing}/_fixtures.py |   4 +
 .../buildstream/_testing/_sourcetests}/__init__.py |   0
 .../_sourcetests/build_checkout.py                 |   4 +-
 .../{testing => _testing}/_sourcetests/conftest.py |   0
 .../{testing => _testing}/_sourcetests/fetch.py    |   0
 .../{testing => _testing}/_sourcetests/mirror.py   |   0
 .../_sourcetests/project/elements/base.bst         |   0
 .../project/elements/base/base-alpine.bst          |   0
 .../_sourcetests/project/elements/import-bin.bst   |   0
 .../_sourcetests/project/elements/import-dev.bst   |   0
 .../multiple_targets/dependency/horsey.bst         |   0
 .../elements/multiple_targets/dependency/pony.bst  |   0
 .../elements/multiple_targets/dependency/zebry.bst |   0
 .../project/elements/multiple_targets/order/0.bst  |   0
 .../project/elements/multiple_targets/order/1.bst  |   0
 .../project/elements/multiple_targets/order/2.bst  |   0
 .../project/elements/multiple_targets/order/3.bst  |   0
 .../project/elements/multiple_targets/order/4.bst  |   0
 .../project/elements/multiple_targets/order/5.bst  |   0
 .../project/elements/multiple_targets/order/6.bst  |   0
 .../project/elements/multiple_targets/order/7.bst  |   0
 .../project/elements/multiple_targets/order/8.bst  |   0
 .../project/elements/multiple_targets/order/9.bst  |   0
 .../elements/multiple_targets/order/run.bst        |   0
 .../_testing/_sourcetests}/project/files/bar       |   0
 .../project/files/bin-files/usr/bin/hello          |   0
 .../project/files/dev-files/usr/include/pony.h     |   0
 .../project/files/etc-files/etc/buildstream/config |   0
 .../_testing/_sourcetests}/project/files/foo       |   0
 .../project/files/source-bundle/llamas.txt         |   0
 .../files/sub-project/elements/import-etc.bst      |   0
 .../sub-project/files/etc-files/etc/animal.conf    |   0
 .../project/files/sub-project/project.conf         |   0
 .../_sourcetests/project/project.conf              |   0
 .../_sourcetests/source_determinism.py             |   0
 .../{testing => _testing}/_sourcetests/track.py    |   0
 .../_sourcetests/track_cross_junction.py           |   0
 .../{testing => _testing}/_sourcetests/utils.py    |   0
 .../_sourcetests/workspace.py                      |   0
 .../{testing => _testing}/_update_cachekeys.py     |   4 +-
 .../{testing => _testing}/_utils/__init__.py       |   0
 .../{testing => _testing}/_utils/junction.py       |   0
 .../{testing => _testing}/_utils/site.py           |   0
 src/buildstream/{testing => _testing}/_yaml.py     |   0
 .../{testing => _testing}/integration.py           |   0
 src/buildstream/{testing => _testing}/repo.py      |   0
 src/buildstream/{testing => _testing}/runcli.py    |   0
 src/buildstream/buildelement.py                    |  11 +-
 src/buildstream/element.py                         |  93 ++++++----
 src/buildstream/node.pyx                           |   6 +-
 src/buildstream/plugins/elements/autotools.py      |   4 +-
 src/buildstream/plugins/elements/compose.py        |   2 +-
 src/buildstream/plugins/elements/manual.py         |   4 +-
 src/buildstream/sandbox/__init__.py                |   5 +-
 src/buildstream/sandbox/_sandboxbuildboxrun.py     |   6 +-
 src/buildstream/sandbox/_sandboxdummy.py           |   2 +-
 src/buildstream/sandbox/_sandboxreapi.py           |  21 ++-
 src/buildstream/sandbox/_sandboxremote.py          |   6 +
 src/buildstream/sandbox/sandbox.py                 | 202 +++++++++++++--------
 src/buildstream/scriptelement.py                   |  18 +-
 src/buildstream/testing/_sourcetests/__init__.py   |   0
 .../testing/_sourcetests/project/files/bar         |   0
 .../testing/_sourcetests/project/files/foo         |   0
 tests/artifactcache/capabilities.py                |   2 +-
 tests/artifactcache/config.py                      |   4 +-
 tests/artifactcache/expiry.py                      |   4 +-
 tests/artifactcache/junctions.py                   |   2 +-
 tests/artifactcache/pull.py                        |   2 +-
 tests/artifactcache/push.py                        |   2 +-
 tests/cachekey/cachekey.py                         |   6 +-
 tests/cachekey/project/elements/build1.expected    |   2 +-
 tests/cachekey/project/elements/build2.expected    |   2 +-
 tests/cachekey/project/elements/build3.expected    |   2 +-
 tests/cachekey/project/elements/compose1.expected  |   2 +-
 tests/cachekey/project/elements/compose2.expected  |   2 +-
 tests/cachekey/project/elements/compose3.expected  |   2 +-
 tests/cachekey/project/elements/compose4.expected  |   2 +-
 tests/cachekey/project/elements/compose5.expected  |   2 +-
 tests/cachekey/project/elements/import1.expected   |   2 +-
 tests/cachekey/project/elements/import2.expected   |   2 +-
 tests/cachekey/project/elements/import3.expected   |   2 +-
 tests/cachekey/project/elements/script1.expected   |   2 +-
 tests/cachekey/project/sources/bzr1.expected       |   2 +-
 tests/cachekey/project/sources/git1.expected       |   2 +-
 tests/cachekey/project/sources/git2.expected       |   2 +-
 tests/cachekey/project/sources/git3.expected       |   2 +-
 tests/cachekey/project/sources/local1.expected     |   2 +-
 tests/cachekey/project/sources/local2.expected     |   2 +-
 tests/cachekey/project/sources/patch1.expected     |   2 +-
 tests/cachekey/project/sources/patch2.expected     |   2 +-
 tests/cachekey/project/sources/patch3.expected     |   2 +-
 tests/cachekey/project/sources/pip1.expected       |   2 +-
 tests/cachekey/project/sources/remote1.expected    |   2 +-
 tests/cachekey/project/sources/remote2.expected    |   2 +-
 tests/cachekey/project/sources/tar1.expected       |   2 +-
 tests/cachekey/project/sources/tar2.expected       |   2 +-
 tests/cachekey/project/sources/zip1.expected       |   2 +-
 tests/cachekey/project/sources/zip2.expected       |   2 +-
 tests/cachekey/project/target.expected             |   2 +-
 tests/conftest.py                                  |   8 +-
 tests/elements/filter.py                           |   4 +-
 tests/examples/autotools.py                        |   6 +-
 tests/examples/developing.py                       |   6 +-
 tests/examples/first-project.py                    |   6 +-
 tests/examples/integration-commands.py             |   4 +-
 tests/examples/junctions.py                        |   4 +-
 tests/examples/running-commands.py                 |   4 +-
 tests/format/assertion.py                          |   2 +-
 tests/format/dependencies.py                       |   2 +-
 tests/format/elementnames.py                       |   2 +-
 tests/format/include.py                            |   4 +-
 tests/format/invalid_keys.py                       |   2 +-
 tests/format/junctions.py                          |   4 +-
 tests/format/link.py                               |   2 +-
 tests/format/listdirectiveerrors.py                |   2 +-
 tests/format/option-list-directive.py              |   2 +-
 tests/format/optionarch.py                         |   2 +-
 tests/format/optionbool.py                         |   2 +-
 tests/format/optioneltmask.py                      |   2 +-
 tests/format/optionenum.py                         |   2 +-
 tests/format/optionexports.py                      |   2 +-
 tests/format/optionflags.py                        |   2 +-
 tests/format/optionos.py                           |   2 +-
 tests/format/optionoverrides.py                    |   2 +-
 tests/format/options.py                            |   2 +-
 tests/format/project.py                            |   2 +-
 tests/format/projectoverrides.py                   |   2 +-
 tests/format/stack.py                              |   2 +-
 tests/format/substitutions.py                      |   2 +-
 tests/format/userconfig.py                         |   2 +-
 tests/format/variables.py                          |  53 +++++-
 tests/format/variables/notparallel/notparallel.bst |   4 +
 tests/format/variables/notparallel/parallel.bst    |   4 +
 .../format/variables/notparallel/plugins/custom.py |  12 ++
 .../variables/notparallel/plugins/custom.yaml      |  10 +
 .../variables/notparallel}/project.conf            |  12 +-
 tests/frontend/artifact_checkout.py                |   2 +-
 tests/frontend/artifact_delete.py                  |   2 +-
 tests/frontend/artifact_list_contents.py           |   2 +-
 tests/frontend/artifact_log.py                     |   2 +-
 tests/frontend/artifact_pull.py                    |   2 +-
 tests/frontend/artifact_show.py                    |   2 +-
 tests/frontend/buildcheckout.py                    |  73 +++++++-
 tests/frontend/completions.py                      |  26 ++-
 tests/frontend/compose_splits.py                   |   2 +-
 tests/frontend/configurable_warnings.py            |   2 +-
 tests/frontend/cross_junction_workspace.py         |   4 +-
 tests/frontend/default_target.py                   |   2 +-
 tests/frontend/fetch.py                            |   2 +-
 tests/frontend/help.py                             |   2 +-
 tests/frontend/init.py                             |   2 +-
 tests/frontend/large_directory.py                  |   2 +-
 tests/frontend/logging.py                          |   4 +-
 tests/frontend/mirror.py                           |   4 +-
 tests/frontend/order.py                            |   4 +-
 tests/frontend/overlaps.py                         |   2 +-
 tests/frontend/progress.py                         |   2 +-
 tests/frontend/pull.py                             |   4 +-
 tests/frontend/push.py                             |   4 +-
 tests/frontend/rebuild.py                          |   2 +-
 tests/frontend/remote-caches.py                    |   2 +-
 tests/frontend/show.py                             |   2 +-
 tests/frontend/source_checkout.py                  |   2 +-
 .../elements/base.bst                              |   2 +-
 tests/frontend/strict-scenario/elements/target.bst |   9 +
 .../strict-scenario/files/base.txt}                |   0
 .../strict-scenario/files/target.txt}              |   0
 .../project.conf                                   |   0
 tests/frontend/track.py                            |   6 +-
 tests/frontend/version.py                          |   2 +-
 tests/frontend/workspace.py                        |  29 +--
 tests/integration/artifact.py                      |   4 +-
 tests/integration/autotools.py                     |   6 +-
 tests/integration/build-uid.py                     |   4 +-
 tests/integration/cachedfail.py                    |   4 +-
 tests/integration/compose-symlinks.py              |   2 +-
 tests/integration/compose.py                       |   6 +-
 tests/integration/filter.py                        |   6 +-
 tests/integration/import.py                        |   4 +-
 tests/integration/interactive_build.py             |   4 +-
 tests/integration/manual.py                        |   4 +-
 tests/integration/messages.py                      |   4 +-
 tests/integration/pip_source.py                    |   6 +-
 tests/integration/pullbuildtrees.py                |   4 +-
 tests/integration/sandbox.py                       |   4 +-
 tests/integration/script.py                        |   4 +-
 tests/integration/shell.py                         |   4 +-
 tests/integration/shellbuildtrees.py               |   4 +-
 tests/integration/sockets.py                       |   4 +-
 tests/integration/source-determinism.py            |   4 +-
 tests/integration/stack.py                         |   4 +-
 tests/integration/symlinks.py                      |   4 +-
 tests/integration/workspace.py                     |   4 +-
 tests/internals/storage_vdir_import.py             |   2 +-
 tests/internals/utils_move_atomic.py               |   2 +-
 tests/plugins/loading.py                           |   2 +-
 tests/plugins/shadow.py                            |  47 +++++
 .../shadow/elements}/manual.bst                    |   0
 .../shadow/plugins/manual.py}                      |   6 +-
 tests/plugins/{loading => shadow}/project.conf     |   0
 tests/remotecache/simple.py                        |   4 +-
 tests/remoteexecution/buildfail.py                 |   2 +-
 tests/remoteexecution/buildtree.py                 |   2 +-
 tests/remoteexecution/junction.py                  |   4 +-
 tests/remoteexecution/remotecache.py               |   4 +-
 tests/remoteexecution/simple.py                    |   4 +-
 tests/remoteexecution/workspace.py                 |   4 +-
 tests/sandboxes/missing-command.py                 |   2 +-
 tests/sandboxes/missing_dependencies.py            |   4 +-
 tests/sandboxes/remote-exec-config.py              |   2 +-
 tests/sandboxes/selection.py                       |   2 +-
 tests/sourcecache/cache.py                         |   2 +-
 tests/sourcecache/capabilities.py                  |   2 +-
 tests/sourcecache/config.py                        |   2 +-
 tests/sourcecache/fetch.py                         |   4 +-
 tests/sourcecache/push.py                          |   4 +-
 tests/sourcecache/source-checkout.py               |   2 +-
 tests/sourcecache/staging.py                       |   2 +-
 tests/sourcecache/workspace.py                     |   2 +-
 tests/sources/bzr.py                               |   8 +-
 tests/sources/git.py                               |   8 +-
 tests/sources/keytest.py                           |   4 +-
 tests/sources/local.py                             |   4 +-
 tests/sources/no_fetch_cached.py                   |   8 +-
 tests/sources/patch.py                             |   2 +-
 tests/sources/pip.py                               |   2 +-
 tests/sources/previous_source_access.py            |   4 +-
 tests/sources/remote.py                            |   6 +-
 tests/sources/tar.py                               |   6 +-
 tests/sources/variables.py                         |   2 +-
 tests/sources/zip.py                               |   4 +-
 tests/testutils/element_generators.py              |   2 +-
 tests/testutils/junction.py                        |   2 +-
 tests/testutils/repo/bzr.py                        |   4 +-
 tests/testutils/repo/git.py                        |   4 +-
 tests/testutils/repo/tar.py                        |   2 +-
 tests/testutils/repo/zip.py                        |   2 +-
 tox.ini                                            |  38 ++--
 252 files changed, 770 insertions(+), 496 deletions(-)
 rename src/buildstream/{testing => _testing}/__init__.py (100%)
 rename src/buildstream/{testing => _testing}/_cachekeys.py (98%)
 rename src/buildstream/{testing => _testing}/_fixtures.py (91%)
 copy {tests/testutils/repo => 
src/buildstream/_testing/_sourcetests}/__init__.py (100%)
 rename src/buildstream/{testing => _testing}/_sourcetests/build_checkout.py 
(95%)
 rename src/buildstream/{testing => _testing}/_sourcetests/conftest.py (100%)
 rename src/buildstream/{testing => _testing}/_sourcetests/fetch.py (100%)
 rename src/buildstream/{testing => _testing}/_sourcetests/mirror.py (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/base.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/base/base-alpine.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/import-bin.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/import-dev.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/dependency/horsey.bst 
(100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/dependency/pony.bst 
(100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/dependency/zebry.bst 
(100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/order/0.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/order/1.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/order/2.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/order/3.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/order/4.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/order/5.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/order/6.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/order/7.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/order/8.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/order/9.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/elements/multiple_targets/order/run.bst (100%)
 copy {tests/frontend => 
src/buildstream/_testing/_sourcetests}/project/files/bar (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/files/bin-files/usr/bin/hello (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/files/dev-files/usr/include/pony.h (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/files/etc-files/etc/buildstream/config (100%)
 copy {tests/frontend => 
src/buildstream/_testing/_sourcetests}/project/files/foo (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/files/source-bundle/llamas.txt (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/files/sub-project/elements/import-etc.bst (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/files/sub-project/files/etc-files/etc/animal.conf
 (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/project/files/sub-project/project.conf (100%)
 rename src/buildstream/{testing => _testing}/_sourcetests/project/project.conf 
(100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/source_determinism.py (100%)
 rename src/buildstream/{testing => _testing}/_sourcetests/track.py (100%)
 rename src/buildstream/{testing => 
_testing}/_sourcetests/track_cross_junction.py (100%)
 rename src/buildstream/{testing => _testing}/_sourcetests/utils.py (100%)
 rename src/buildstream/{testing => _testing}/_sourcetests/workspace.py (100%)
 rename src/buildstream/{testing => _testing}/_update_cachekeys.py (95%)
 rename src/buildstream/{testing => _testing}/_utils/__init__.py (100%)
 rename src/buildstream/{testing => _testing}/_utils/junction.py (100%)
 rename src/buildstream/{testing => _testing}/_utils/site.py (100%)
 rename src/buildstream/{testing => _testing}/_yaml.py (100%)
 rename src/buildstream/{testing => _testing}/integration.py (100%)
 rename src/buildstream/{testing => _testing}/repo.py (100%)
 rename src/buildstream/{testing => _testing}/runcli.py (100%)
 delete mode 100644 src/buildstream/testing/_sourcetests/__init__.py
 delete mode 100644 src/buildstream/testing/_sourcetests/project/files/bar
 delete mode 100644 src/buildstream/testing/_sourcetests/project/files/foo
 create mode 100644 tests/format/variables/notparallel/notparallel.bst
 create mode 100644 tests/format/variables/notparallel/parallel.bst
 create mode 100644 tests/format/variables/notparallel/plugins/custom.py
 create mode 100644 tests/format/variables/notparallel/plugins/custom.yaml
 copy tests/{frontend/consistencyerror => 
format/variables/notparallel}/project.conf (55%)
 copy tests/frontend/{strict-depends => strict-scenario}/elements/base.bst (61%)
 create mode 100644 tests/frontend/strict-scenario/elements/target.bst
 copy tests/{sources/tar/contains-links/content/base-directory/subdir1/file.txt 
=> frontend/strict-scenario/files/base.txt} (100%)
 copy tests/{format/junctions/options/options-base/horsy.txt => 
frontend/strict-scenario/files/target.txt} (100%)
 copy tests/frontend/{strict-depends => strict-scenario}/project.conf (100%)
 create mode 100644 tests/plugins/shadow.py
 copy tests/{format/project/project-from-subdir => 
plugins/shadow/elements}/manual.bst (100%)
 copy tests/{format/dependencies3/plugins/configunsupported.py => 
plugins/shadow/plugins/manual.py} (68%)
 copy tests/plugins/{loading => shadow}/project.conf (100%)

Reply via email to