Running with gitlab-runner 11.2.0 (35e8515d)
  on buildstream-bastion a334e492
Using Docker executor with image buildstream/testsuite-debian:9-5da27168-32c47d1c ...
Pulling docker image buildstream/testsuite-debian:9-5da27168-32c47d1c ...
Using docker image sha256:b7aa87c2ff015b1398d182bb42846d20aab885720415469347034e7559241daa for buildstream/testsuite-debian:9-5da27168-32c47d1c ...
section_start:1547830146:prepare_script
Running on runner-a334e492-project-1975139-concurrent-0 via runner-a334e492-gitlab-runner-autoscale-1547823430-ffaec7fd...
section_end:1547830148:prepare_script
section_start:1547830148:get_sources
Fetching changes...
Removing .tox/
Removing BuildStream.egg-info/
Removing __pycache__/
Removing buildstream/__pycache__/
Removing buildstream/_cas/__pycache__/
Removing buildstream/_frontend/__pycache__/
Removing buildstream/_loader/__pycache__/
Removing buildstream/_options/__pycache__/
Removing buildstream/_platform/__pycache__/
Removing buildstream/_protos/__pycache__/
Removing buildstream/_protos/build/__pycache__/
Removing buildstream/_protos/build/bazel/__pycache__/
Removing buildstream/_protos/build/bazel/remote/__pycache__/
Removing buildstream/_protos/build/bazel/remote/execution/__pycache__/
Removing buildstream/_protos/build/bazel/remote/execution/v2/__pycache__/
Removing buildstream/_protos/build/bazel/semver/__pycache__/
Removing buildstream/_protos/buildstream/__pycache__/
Removing buildstream/_protos/buildstream/v2/__pycache__/
Removing buildstream/_protos/google/__pycache__/
Removing buildstream/_protos/google/api/__pycache__/
Removing buildstream/_protos/google/bytestream/__pycache__/
Removing buildstream/_protos/google/longrunning/__pycache__/
Removing buildstream/_protos/google/rpc/__pycache__/
Removing buildstream/_scheduler/__pycache__/
Removing buildstream/_scheduler/jobs/__pycache__/
Removing buildstream/_scheduler/queues/__pycache__/
Removing buildstream/plugins/elements/__pycache__/
Removing buildstream/plugins/sources/__pycache__/
Removing buildstream/sandbox/__pycache__/
Removing buildstream/storage/__pycache__/
Removing cache/
Removing tests/__pycache__/
Removing tests/artifactcache/__pycache__/
Removing tests/cachekey/__pycache__/
Removing tests/elements/__pycache__/
Removing tests/elements/filter/basic/element_plugins/__pycache__/
Removing tests/examples/__pycache__/
Removing tests/format/__pycache__/
Removing tests/format/project/duplicate-plugins/bar/__pycache__/
Removing tests/format/project/duplicate-plugins/baz/__pycache__/
Removing tests/format/project/plugin-allowed/__pycache__/
Removing tests/format/project/plugin-allowed/plugins/__pycache__/
Removing tests/format/project/plugin-forbidden/forbidden-plugins/__pycache__/
Removing tests/format/project/plugin-no-load-ref/plugins/__pycache__/
Removing tests/format/project/plugin-preflight-error/errorplugin/__pycache__/
Removing tests/frontend/__pycache__/
Removing tests/frontend/configuredwarning/plugins/__pycache__/
Removing tests/frontend/consistencyerror/__pycache__/
Removing tests/frontend/consistencyerror/plugins/__pycache__/
Removing tests/frontend/project/sources/__pycache__/
Removing tests/integration/__pycache__/
Removing tests/internals/__pycache__/
Removing tests/internals/pluginfactory/anotherelement/__pycache__/
Removing tests/internals/pluginfactory/anothersource/__pycache__/
Removing tests/internals/pluginfactory/badsetup/__pycache__/
Removing tests/internals/pluginfactory/badversionelement/__pycache__/
Removing tests/internals/pluginfactory/badversionsource/__pycache__/
Removing tests/internals/pluginfactory/customelement/__pycache__/
Removing tests/internals/pluginfactory/customsource/__pycache__/
Removing tests/internals/pluginfactory/nosetup/__pycache__/
Removing tests/internals/pluginfactory/notatype/__pycache__/
Removing tests/internals/pluginfactory/wrongtype/__pycache__/
Removing tests/internals/pluginloading/badversionelement/customelements/__pycache__/
Removing tests/internals/pluginloading/badversionsource/customsources/__pycache__/
Removing tests/internals/pluginloading/customelement/pluginelements/__pycache__/
Removing tests/internals/pluginloading/customsource/pluginsources/__pycache__/
Removing tests/sandboxes/__pycache__/
Removing tests/sandboxes/mounting/__pycache__/
Removing tests/sources/__pycache__/
Removing tests/sources/no-fetch-cached/plugins/sources/__pycache__/
Removing tests/sources/previous_source_access/plugins/sources/__pycache__/
Removing tests/testutils/__pycache__/
Removing tests/testutils/repo/__pycache__/
HEAD is now at 4236bcc7 Merge branch 'tristan/fix-bzr-race' into 'master'
From https://gitlab.com/BuildStream/buildstream
 + eb4286fd...745794d8 tlater/message-lines -> origin/tlater/message-lines  (forced update)
Checking out 745794d8 as tlater/message-lines...
Skipping Git submodules setup
section_end:1547830157:get_sources
section_start:1547830157:restore_cache
Checking cache for tests-debian-9--4...
Downloading cache.zip from https://ams3.digitaloceanspaces.com/buildstream-ci-gitlab-cache/runner/a334e492/project/1975139/tests-debian-9--4 
Successfully extracted cache
section_end:1547830166:restore_cache
section_start:1547830166:download_artifacts
section_end:1547830168:download_artifacts
section_start:1547830168:build_script
$ mount
/dev/mapper/docker-252:1-264677-505e4ca1c6a6070acfe6df4c06fbbd76390730f971b70897d7410e890d15cd07 on / type xfs (rw,relatime,seclabel,nouuid,attr2,inode64,sunit=128,swidth=128,noquota)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev type tmpfs (rw,nosuid,seclabel,size=65536k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=666)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,relatime,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,xattr,name=systemd)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_cls,net_prio)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpu,cpuacct)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime,seclabel)
/dev/vda1 on /cache type ext4 (rw,relatime,seclabel,data=ordered)
/dev/vda1 on /builds/BuildStream type ext4 (rw,relatime,seclabel,data=ordered)
/dev/vda1 on /etc/resolv.conf type ext4 (rw,relatime,seclabel,data=ordered)
/dev/vda1 on /etc/hostname type ext4 (rw,relatime,seclabel,data=ordered)
/dev/vda1 on /etc/hosts type ext4 (rw,relatime,seclabel,data=ordered)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,seclabel,size=65536k)
$ df -h
Filesystem                                                                                        Size  Used Avail Use% Mounted on
/dev/mapper/docker-252:1-264677-505e4ca1c6a6070acfe6df4c06fbbd76390730f971b70897d7410e890d15cd07   10G  693M  9.4G   7% /
tmpfs                                                                                              64M     0   64M   0% /dev
tmpfs                                                                                             2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/vda1                                                                                          25G  5.3G   19G  23% /cache
shm                                                                                                64M     0   64M   0% /dev/shm
$ useradd -Um buildstream
$ chown -R buildstream:buildstream .
$ su buildstream -c "${TEST_COMMAND}"
GLOB sdist-make: /builds/BuildStream/buildstream/setup.py
py35 create: /builds/BuildStream/buildstream/.tox/py35
py35 installdeps: -rrequirements/requirements.txt, -rrequirements/dev-requirements.txt, -rrequirements/plugin-requirements.txt
py35 inst: /builds/BuildStream/buildstream/.tox/.tmp/package/1/BuildStream-1.3.0+1299.g745794d8.zip
py35 installed: apipkg==1.5,arpy==1.1.1,astroid==2.1.0,atomicwrites==1.2.1,attrs==18.2.0,BuildStream==1.3.0+1299.g745794d8,Click==7.0,coverage==4.4,execnet==1.5.0,grpcio==1.17.1,isort==4.3.4,Jinja2==2.10,lazy-object-proxy==1.3.1,MarkupSafe==1.1.0,mccabe==0.6.1,more-itertools==5.0.0,pathlib2==2.3.3,pkg-resources==0.0.0,pluggy==0.8.0,pluginbase==0.7,protobuf==3.6.1,psutil==5.4.8,py==1.7.0,pycairo==1.18.0,pycodestyle==2.4.0,pyftpdlib==1.5.4,PyGObject==3.30.4,pylint==2.2.2,pytest==4.0.2,pytest-cov==2.6.1,pytest-datafiles==2.0,pytest-env==0.6.2,pytest-forked==0.2,pytest-timeout==1.3.3,pytest-xdist==1.25.0,ruamel.yaml==0.15.51,six==1.12.0,typed-ast==1.2.0,wrapt==1.10.11
py35 run-test-pre: PYTHONHASHSEED='3501163299'
py35 runtests: commands[0] | pytest --basetemp /builds/BuildStream/buildstream/.tox/py35/tmp --color=yes --integration
============================= test session starts ==============================
platform linux -- Python 3.5.3, pytest-4.0.2, py-1.7.0, pluggy-0.8.0 -- /builds/BuildStream/buildstream/.tox/py35/bin/python
cachedir: .tox/py35/.pytest_cache
rootdir: /builds/BuildStream/buildstream, inifile: setup.cfg
plugins: xdist-1.25.0, timeout-1.3.3, forked-0.2, env-0.6.2, datafiles-2.0, cov-2.6.1
collecting ... collected 1284 items

tests/artifactcache/cache_size.py::test_cache_size_roundtrip PASSED      [  0%]
tests/artifactcache/cache_size.py::test_cache_size_write PASSED          [  0%]
tests/artifactcache/config.py::test_artifact_cache_precedence[empty-config] PASSED [  0%]
tests/artifactcache/config.py::test_artifact_cache_precedence[user-config] PASSED [  0%]
tests/artifactcache/config.py::test_artifact_cache_precedence[project-config] PASSED [  0%]
tests/artifactcache/config.py::test_artifact_cache_precedence[project-override-in-user-config] PASSED [  0%]
tests/artifactcache/config.py::test_artifact_cache_precedence[list-order] PASSED [  0%]
tests/artifactcache/config.py::test_artifact_cache_precedence[duplicates] PASSED [  0%]
tests/artifactcache/config.py::test_missing_certs[client-cert-client.crt] PASSED [  0%]
tests/artifactcache/config.py::test_missing_certs[client-key-client.key] PASSED [  0%]
tests/artifactcache/expiry.py::test_artifact_expires PASSED              [  0%]
tests/artifactcache/expiry.py::test_artifact_too_large[500000] PASSED    [  0%]
tests/artifactcache/expiry.py::test_artifact_too_large[399999] PASSED    [  1%]
tests/artifactcache/expiry.py::test_expiry_order PASSED                  [  1%]
tests/artifactcache/expiry.py::test_keep_dependencies PASSED             [  1%]
tests/artifactcache/expiry.py::test_never_delete_required PASSED         [  1%]
tests/artifactcache/expiry.py::test_never_delete_required_track PASSED   [  1%]
tests/artifactcache/expiry.py::test_invalid_cache_quota[1-True] PASSED   [  1%]
tests/artifactcache/expiry.py::test_invalid_cache_quota[1K-True] PASSED  [  1%]
tests/artifactcache/expiry.py::test_invalid_cache_quota[50%-True] PASSED [  1%]
tests/artifactcache/expiry.py::test_invalid_cache_quota[infinity-True] PASSED [  1%]
tests/artifactcache/expiry.py::test_invalid_cache_quota[0-True] PASSED   [  1%]
tests/artifactcache/expiry.py::test_invalid_cache_quota[-1-False] PASSED [  1%]
tests/artifactcache/expiry.py::test_invalid_cache_quota[pony-False] PASSED [  1%]
tests/artifactcache/expiry.py::test_invalid_cache_quota[7K-False] PASSED [  1%]
tests/artifactcache/expiry.py::test_invalid_cache_quota[70%-False] PASSED [  2%]
tests/artifactcache/expiry.py::test_invalid_cache_quota[200%-False] PASSED [  2%]
tests/artifactcache/expiry.py::test_extract_expiry PASSED                [  2%]
tests/artifactcache/junctions.py::test_push_pull PASSED                  [  2%]
tests/artifactcache/pull.py::test_pull PASSED                            [  2%]
tests/artifactcache/pull.py::test_pull_tree PASSED                       [  2%]
tests/artifactcache/push.py::test_push PASSED                            [  2%]
tests/artifactcache/push.py::test_push_directory PASSED                  [  2%]
tests/artifactcache/push.py::test_push_message PASSED                    [  2%]
tests/cachekey/cachekey.py::test_cache_key PASSED                        [  2%]
tests/cachekey/cachekey.py::test_cache_key_fatal_warnings[first_warnings0-second_warnings0-True] PASSED [  2%]
tests/cachekey/cachekey.py::test_cache_key_fatal_warnings[first_warnings1-second_warnings1-False] PASSED [  2%]
tests/cachekey/cachekey.py::test_cache_key_fatal_warnings[first_warnings2-second_warnings2-False] PASSED [  2%]
tests/cachekey/cachekey.py::test_cache_key_fatal_warnings[first_warnings3-second_warnings3-True] PASSED [  3%]
tests/cachekey/cachekey.py::test_cache_key_fatal_warnings[first_warnings4-second_warnings4-True] PASSED [  3%]
tests/elements/filter.py::test_filter_include PASSED                     [  3%]
tests/elements/filter.py::test_filter_include_dynamic PASSED             [  3%]
tests/elements/filter.py::test_filter_exclude PASSED                     [  3%]
tests/elements/filter.py::test_filter_orphans PASSED                     [  3%]
tests/elements/filter.py::test_filter_deps_ok PASSED                     [  3%]
tests/elements/filter.py::test_filter_forbid_sources PASSED              [  3%]
tests/elements/filter.py::test_filter_forbid_multi_bdep PASSED           [  3%]
tests/elements/filter.py::test_filter_forbid_no_bdep PASSED              [  3%]
tests/elements/filter.py::test_filter_forbid_also_rdep PASSED            [  3%]
tests/elements/filter.py::test_filter_workspace_open PASSED              [  3%]
tests/elements/filter.py::test_filter_workspace_open_multi PASSED        [  3%]
tests/elements/filter.py::test_filter_workspace_build PASSED             [  4%]
tests/elements/filter.py::test_filter_workspace_close PASSED             [  4%]
tests/elements/filter.py::test_filter_workspace_reset PASSED             [  4%]
tests/elements/filter.py::test_filter_track PASSED                       [  4%]
tests/elements/filter.py::test_filter_track_excepted PASSED              [  4%]
tests/elements/filter.py::test_filter_track_multi_to_one PASSED          [  4%]
tests/elements/filter.py::test_filter_track_multi PASSED                 [  4%]
tests/elements/filter.py::test_filter_track_multi_exclude PASSED         [  4%]
tests/examples/autotools.py::test_autotools_build PASSED                 [  4%]
tests/examples/autotools.py::test_autotools_run PASSED                   [  4%]
tests/examples/developing.py::test_autotools_build PASSED                [  4%]
tests/examples/developing.py::test_run_unmodified_hello PASSED           [  4%]
tests/examples/developing.py::test_open_workspace PASSED                 [  4%]
tests/examples/developing.py::test_make_change_in_workspace PASSED       [  5%]
tests/examples/first-project.py::test_first_project_build_checkout PASSED [  5%]
tests/examples/flatpak-autotools.py::test_autotools_build PASSED         [  5%]
tests/examples/flatpak-autotools.py::test_autotools_run PASSED           [  5%]
tests/examples/integration-commands.py::test_integration_commands_build PASSED [  5%]
tests/examples/integration-commands.py::test_integration_commands_run PASSED [  5%]
tests/examples/junctions.py::test_build PASSED                           [  5%]
tests/examples/junctions.py::test_shell_call_hello PASSED                [  5%]
tests/examples/junctions.py::test_open_cross_junction_workspace PASSED   [  5%]
tests/examples/running-commands.py::test_running_commands_build PASSED   [  5%]
tests/examples/running-commands.py::test_running_commands_run PASSED     [  5%]
tests/format/assertion.py::test_assertion_cli[raw-assertion.bst-False-False-Raw assertion boogey] PASSED [  5%]
tests/format/assertion.py::test_assertion_cli[conditional-assertion.bst-True-False-It's not pony time yet] PASSED [  5%]
tests/format/assertion.py::test_assertion_cli[ordered-assertion.bst-True-True-It's not horsy time yet] PASSED [  6%]
tests/format/dependencies.py::test_two_files PASSED                      [  6%]
tests/format/dependencies.py::test_shared_dependency PASSED              [  6%]
tests/format/dependencies.py::test_dependency_dict PASSED                [  6%]
tests/format/dependencies.py::test_invalid_dependency_declaration PASSED [  6%]
tests/format/dependencies.py::test_invalid_dependency_type PASSED        [  6%]
tests/format/dependencies.py::test_circular_dependency PASSED            [  6%]
tests/format/dependencies.py::test_build_dependency PASSED               [  6%]
tests/format/dependencies.py::test_runtime_dependency PASSED             [  6%]
tests/format/dependencies.py::test_all_dependency PASSED                 [  6%]
tests/format/dependencies.py::test_list_build_dependency PASSED          [  6%]
tests/format/dependencies.py::test_list_runtime_dependency PASSED        [  6%]
tests/format/dependencies.py::test_list_dependencies_combined PASSED     [  7%]
tests/format/dependencies.py::test_list_overlap PASSED                   [  7%]
tests/format/dependencies.py::test_scope_all PASSED                      [  7%]
tests/format/dependencies.py::test_scope_run PASSED                      [  7%]
tests/format/dependencies.py::test_scope_build PASSED                    [  7%]
tests/format/dependencies.py::test_scope_build_of_child PASSED           [  7%]
tests/format/dependencies.py::test_no_recurse PASSED                     [  7%]
tests/format/include.py::test_include_junction_file PASSED               [  7%]
tests/format/include.py::test_include_junction_options PASSED            [  7%]
tests/format/include.py::test_junction_element_partial_project_project PASSED [  7%]
tests/format/include.py::test_junction_element_not_partial_project_file PASSED [  7%]
tests/format/include.py::test_include_element_overrides PASSED           [  7%]
tests/format/include.py::test_include_element_overrides_composition PASSED [  7%]
tests/format/include.py::test_include_element_overrides_sub_include PASSED [  8%]
tests/format/include.py::test_junction_do_not_use_included_overrides PASSED [  8%]
tests/format/include.py::test_conditional_in_fragment PASSED             [  8%]
tests/format/include.py::test_inner PASSED                               [  8%]
tests/format/include.py::test_recusive_include PASSED                    [  8%]
tests/format/include.py::test_local_to_junction PASSED                   [  8%]
tests/format/include.py::test_include_project_file PASSED                [  8%]
tests/format/include_composition.py::test_main_has_prority PASSED        [  8%]
tests/format/include_composition.py::test_include_cannot_append PASSED   [  8%]
tests/format/include_composition.py::test_main_can_append PASSED         [  8%]
tests/format/include_composition.py::test_sibling_cannot_append_backward PASSED [  8%]
tests/format/include_composition.py::test_sibling_can_append_forward PASSED [  8%]
tests/format/include_composition.py::test_lastest_sibling_has_priority PASSED [  8%]
tests/format/include_composition.py::test_main_keeps_keys PASSED         [  9%]
tests/format/junctions.py::test_simple_pipeline PASSED                   [  9%]
tests/format/junctions.py::test_simple_build PASSED                      [  9%]
tests/format/junctions.py::test_build_of_same_junction_used_twice PASSED [  9%]
tests/format/junctions.py::test_nested_simple PASSED                     [  9%]
tests/format/junctions.py::test_nested_double PASSED                     [  9%]
tests/format/junctions.py::test_nested_conflict PASSED                   [  9%]
tests/format/junctions.py::test_missing_junction PASSED                  [  9%]
tests/format/junctions.py::test_missing_subproject_element PASSED        [  9%]
tests/format/junctions.py::test_invalid_with_deps PASSED                 [  9%]
tests/format/junctions.py::test_invalid_junction_dep PASSED              [  9%]
tests/format/junctions.py::test_options_default PASSED                   [  9%]
tests/format/junctions.py::test_options PASSED                           [  9%]
tests/format/junctions.py::test_options_inherit PASSED                   [ 10%]
tests/format/junctions.py::test_git_show PASSED                          [ 10%]
tests/format/junctions.py::test_git_build PASSED                         [ 10%]
tests/format/junctions.py::test_cross_junction_names PASSED              [ 10%]
tests/format/junctions.py::test_build_git_cross_junction_names PASSED    [ 10%]
tests/format/listdirectiveerrors.py::test_element_error[variables.bst] PASSED [ 10%]
tests/format/listdirectiveerrors.py::test_element_error[environment.bst] PASSED [ 10%]
tests/format/listdirectiveerrors.py::test_element_error[config.bst] PASSED [ 10%]
tests/format/listdirectiveerrors.py::test_element_error[public.bst] PASSED [ 10%]
tests/format/listdirectiveerrors.py::test_project_error PASSED           [ 10%]
tests/format/optionarch.py::test_conditional[arm-aarch32-Army] PASSED    [ 10%]
tests/format/optionarch.py::test_conditional[arm-aarch64-Aarchy] PASSED  [ 10%]
tests/format/optionarch.py::test_conditional[arm-None-Army] PASSED       [ 10%]
tests/format/optionarch.py::test_conditional[aarch64-None-Aarchy] PASSED [ 11%]
tests/format/optionarch.py::test_conditional[i386-aarch32-Army] PASSED   [ 11%]
tests/format/optionarch.py::test_conditional[x86_64-aarch64-Aarchy] PASSED [ 11%]
tests/format/optionarch.py::test_unsupported_arch PASSED                 [ 11%]
tests/format/optionarch.py::test_alias PASSED                            [ 11%]
tests/format/optionarch.py::test_unknown_host_arch PASSED                [ 11%]
tests/format/optionarch.py::test_unknown_project_arch PASSED             [ 11%]
tests/format/optionbool.py::test_conditional_cli[element.bst-True-a pony] PASSED [ 11%]
tests/format/optionbool.py::test_conditional_cli[element.bst-true-a pony] PASSED [ 11%]
tests/format/optionbool.py::test_conditional_cli[element.bst-False-not pony] PASSED [ 11%]
tests/format/optionbool.py::test_conditional_cli[element.bst-false-not pony] PASSED [ 11%]
tests/format/optionbool.py::test_conditional_cli[element-not.bst-False-not pony] PASSED [ 11%]
tests/format/optionbool.py::test_conditional_cli[element-not.bst-True-a pony] PASSED [ 11%]
tests/format/optionbool.py::test_conditional_cli[element-equals.bst-False-not pony] PASSED [ 12%]
tests/format/optionbool.py::test_conditional_cli[element-equals.bst-True-a pony] PASSED [ 12%]
tests/format/optionbool.py::test_conditional_cli[element-not-equals.bst-False-not pony] PASSED [ 12%]
tests/format/optionbool.py::test_conditional_cli[element-not-equals.bst-True-a pony] PASSED [ 12%]
tests/format/optionbool.py::test_conditional_config[element.bst-True-a pony] PASSED [ 12%]
tests/format/optionbool.py::test_conditional_config[element.bst-False-not pony] PASSED [ 12%]
tests/format/optionbool.py::test_invalid_value_cli[falsey] PASSED        [ 12%]
tests/format/optionbool.py::test_invalid_value_cli[pony] PASSED          [ 12%]
tests/format/optionbool.py::test_invalid_value_cli[trUE] PASSED          [ 12%]
tests/format/optionbool.py::test_invalid_value_config[pony] PASSED       [ 12%]
tests/format/optionbool.py::test_invalid_value_config[config_option1] PASSED [ 12%]
tests/format/optionbool.py::test_invalid_value_config[config_option2] PASSED [ 12%]
tests/format/optioneltmask.py::test_conditional_cli[pony.bst-pony.bst-True] PASSED [ 13%]
tests/format/optioneltmask.py::test_conditional_cli[horsy.bst-pony.bst, horsy.bst-True] PASSED [ 13%]
tests/format/optioneltmask.py::test_conditional_cli[zebry.bst-pony.bst, horsy.bst-False] PASSED [ 13%]
tests/format/optioneltmask.py::test_conditional_config[pony.bst-value0-True] PASSED [ 13%]
tests/format/optioneltmask.py::test_conditional_config[horsy.bst-value1-True] PASSED [ 13%]
tests/format/optioneltmask.py::test_conditional_config[zebry.bst-value2-False] PASSED [ 13%]
tests/format/optioneltmask.py::test_invalid_declaration PASSED           [ 13%]
tests/format/optioneltmask.py::test_invalid_value PASSED                 [ 13%]
tests/format/optionenum.py::test_conditional_cli[element.bst-brother-pony-a pony] PASSED [ 13%]
tests/format/optionenum.py::test_conditional_cli[element.bst-brother-zebry-a zebry] PASSED [ 13%]
tests/format/optionenum.py::test_conditional_cli[element.bst-brother-horsy-a horsy] PASSED [ 13%]
tests/format/optionenum.py::test_conditional_cli[element-compare.bst-brother-horsy-different] PASSED [ 13%]
tests/format/optionenum.py::test_conditional_cli[element-compare.bst-brother-zebry-same] PASSED [ 13%]
tests/format/optionenum.py::test_conditional_cli[element-compare.bst-sister-pony-same] PASSED [ 14%]
tests/format/optionenum.py::test_conditional_config[element.bst-brother-pony-a pony] PASSED [ 14%]
tests/format/optionenum.py::test_conditional_config[element.bst-brother-zebry-a zebry] PASSED [ 14%]
tests/format/optionenum.py::test_conditional_config[element.bst-brother-horsy-a horsy] PASSED [ 14%]
tests/format/optionenum.py::test_conditional_config[element-compare.bst-brother-horsy-different] PASSED [ 14%]
tests/format/optionenum.py::test_conditional_config[element-compare.bst-brother-zebry-same] PASSED [ 14%]
tests/format/optionenum.py::test_conditional_config[element-compare.bst-sister-pony-same] PASSED [ 14%]
tests/format/optionenum.py::test_invalid_value_cli PASSED                [ 14%]
tests/format/optionenum.py::test_invalid_value_config[giraffy] PASSED    [ 14%]
tests/format/optionenum.py::test_invalid_value_config[config_option1] PASSED [ 14%]
tests/format/optionenum.py::test_invalid_value_config[config_option2] PASSED [ 14%]
tests/format/optionenum.py::test_missing_values PASSED                   [ 14%]
tests/format/optionexports.py::test_export[bool_export-False-exported-bool-0] PASSED [ 14%]
tests/format/optionexports.py::test_export[bool_export-True-exported-bool-1] PASSED [ 15%]
tests/format/optionexports.py::test_export[enum_export-pony-exported-enum-pony] PASSED [ 15%]
tests/format/optionexports.py::test_export[enum_export-horsy-exported-enum-horsy] PASSED [ 15%]
tests/format/optionexports.py::test_export[flags_export-pony-exported-flags-pony] PASSED [ 15%]
tests/format/optionexports.py::test_export[flags_export-pony, horsy-exported-flags-horsy,pony] PASSED [ 15%]
tests/format/optionflags.py::test_conditional_cli[element.bst-farm-pony-a pony] PASSED [ 15%]
tests/format/optionflags.py::test_conditional_cli[element.bst-farm-zebry-a zebry] PASSED [ 15%]
tests/format/optionflags.py::test_conditional_cli[element.bst-farm-pony, horsy-a pony and a horsy] PASSED [ 15%]
tests/format/optionflags.py::test_conditional_cli[element.bst-farm-zebry,horsy , pony-all the animals] PASSED [ 15%]
tests/format/optionflags.py::test_conditional_cli[element-in.bst-farm-zebry, horsy, pony-a zebry] PASSED [ 15%]
tests/format/optionflags.py::test_conditional_cli[element-in.bst-farm-zebry, horsy-no pony] PASSED [ 15%]
tests/format/optionflags.py::test_conditional_cli[element-in.bst-farm-zebry, pony-no horsy] PASSED [ 15%]
tests/format/optionflags.py::test_conditional_config[element.bst-farm-value0-a pony] PASSED [ 15%]
tests/format/optionflags.py::test_conditional_config[element.bst-farm-value1-a zebry] PASSED [ 16%]
tests/format/optionflags.py::test_conditional_config[element.bst-farm-value2-a pony and a horsy] PASSED [ 16%]
tests/format/optionflags.py::test_conditional_config[element.bst-farm-value3-all the animals] PASSED [ 16%]
tests/format/optionflags.py::test_invalid_value_cli[giraffy] PASSED      [ 16%]
tests/format/optionflags.py::test_invalid_value_cli[horsy pony] PASSED   [ 16%]
tests/format/optionflags.py::test_invalid_value_config[pony] PASSED      [ 16%]
tests/format/optionflags.py::test_invalid_value_config[config_option1] PASSED [ 16%]
tests/format/optionflags.py::test_invalid_value_config[config_option2] PASSED [ 16%]
tests/format/optionflags.py::test_missing_values PASSED                  [ 16%]
tests/format/optionos.py::test_conditionals[Darwin-Linux-Linuxy] PASSED  [ 16%]
tests/format/optionos.py::test_conditionals[SunOS-FreeBSD-FreeBSDy] PASSED [ 16%]
tests/format/optionos.py::test_conditionals[Linux-None-Linuxy] PASSED    [ 16%]
tests/format/optionos.py::test_conditionals[Darwin-None-Darwiny] PASSED  [ 16%]
tests/format/optionos.py::test_conditionals[AIX-Linux-Linuxy] PASSED     [ 17%]
tests/format/optionos.py::test_conditionals[HaikuOS-SunOS-SunOSy] PASSED [ 17%]
tests/format/optionos.py::test_unsupported_arch PASSED                   [ 17%]
tests/format/optionoverrides.py::test_override[i686] PASSED              [ 17%]
tests/format/optionoverrides.py::test_override[x86_64] PASSED            [ 17%]
tests/format/options.py::test_invalid_option_name[invalid-name-spaces] PASSED [ 17%]
tests/format/options.py::test_invalid_option_name[invalid-name-dashes] PASSED [ 17%]
tests/format/options.py::test_invalid_option_name[invalid-name-plus] PASSED [ 17%]
tests/format/options.py::test_invalid_option_name[invalid-name-leading-number] PASSED [ 17%]
tests/format/options.py::test_invalid_variable_name[invalid-variable-name-spaces] PASSED [ 17%]
tests/format/options.py::test_invalid_variable_name[invalid-variable-name-plus] PASSED [ 17%]
tests/format/options.py::test_invalid_option_type PASSED                 [ 17%]
tests/format/options.py::test_invalid_option_cli PASSED                  [ 17%]
tests/format/options.py::test_invalid_option_config PASSED               [ 18%]
tests/format/options.py::test_invalid_expression PASSED                  [ 18%]
tests/format/options.py::test_undefined PASSED                           [ 18%]
tests/format/options.py::test_invalid_condition PASSED                   [ 18%]
tests/format/options.py::test_simple_conditional[False-/usr] PASSED      [ 18%]
tests/format/options.py::test_simple_conditional[True-/opt] PASSED       [ 18%]
tests/format/options.py::test_nested_conditional[False-False-False] PASSED [ 18%]
tests/format/options.py::test_nested_conditional[True-False-False] PASSED [ 18%]
tests/format/options.py::test_nested_conditional[False-True-False] PASSED [ 18%]
tests/format/options.py::test_nested_conditional[True-True-True] PASSED  [ 18%]
tests/format/options.py::test_compound_and_conditional[False-False-False] PASSED [ 18%]
tests/format/options.py::test_compound_and_conditional[True-False-False] PASSED [ 18%]
tests/format/options.py::test_compound_and_conditional[False-True-False] PASSED [ 19%]
tests/format/options.py::test_compound_and_conditional[True-True-True] PASSED [ 19%]
tests/format/options.py::test_compound_or_conditional[False-False-False] PASSED [ 19%]
tests/format/options.py::test_compound_or_conditional[True-False-True] PASSED [ 19%]
tests/format/options.py::test_compound_or_conditional[False-True-True] PASSED [ 19%]
tests/format/options.py::test_compound_or_conditional[True-True-True] PASSED [ 19%]
tests/format/options.py::test_deep_nesting_level1[False-horsy] PASSED    [ 19%]
tests/format/options.py::test_deep_nesting_level1[True-pony] PASSED      [ 19%]
tests/format/options.py::test_deep_nesting_level2[False-horsy] PASSED    [ 19%]
tests/format/options.py::test_deep_nesting_level2[True-pony] PASSED      [ 19%]
tests/format/project.py::test_missing_project_conf PASSED                [ 19%]
tests/format/project.py::test_missing_project_name PASSED                [ 19%]
tests/format/project.py::test_empty_project_name PASSED                  [ 19%]
tests/format/project.py::test_invalid_project_name PASSED                [ 20%]
tests/format/project.py::test_invalid_yaml PASSED                        [ 20%]
tests/format/project.py::test_load_default_project PASSED                [ 20%]
tests/format/project.py::test_load_project_from_subdir PASSED            [ 20%]
tests/format/project.py::test_override_project_path PASSED               [ 20%]
tests/format/project.py::test_project_unsupported PASSED                 [ 20%]
tests/format/project.py::test_missing_element_path_directory PASSED      [ 20%]
tests/format/project.py::test_element_path_not_a_directory PASSED        [ 20%]
tests/format/project.py::test_missing_local_plugin_directory PASSED      [ 20%]
tests/format/project.py::test_local_plugin_not_directory PASSED          [ 20%]
tests/format/project.py::test_plugin_load_allowed PASSED                 [ 20%]
tests/format/project.py::test_plugin_load_forbidden PASSED               [ 20%]
tests/format/project.py::test_plugin_no_load_ref[inline] PASSED          [ 20%]
tests/format/project.py::test_plugin_no_load_ref[project.refs] PASSED    [ 21%]
tests/format/project.py::test_plugin_preflight_error PASSED              [ 21%]
tests/format/project.py::test_duplicate_plugins PASSED                   [ 21%]
tests/format/project.py::test_project_refs_options PASSED                [ 21%]
tests/format/project.py::test_element_path_project_path_contains_symlinks PASSED [ 21%]
tests/format/project.py::test_empty_depends PASSED                       [ 21%]
tests/format/projectoverrides.py::test_prepend_configure_commands PASSED [ 21%]
tests/format/variables.py::test_defaults[autotools.bst-make-install-make -j1 DESTDIR="/buildstream-install" install] PASSED [ 21%]
tests/format/variables.py::test_defaults[cmake.bst-cmake-cmake -B_builddir -H"." -G"Unix Makefiles" -DCMAKE_INSTALL_PREFIX:PATH="/usr" \\\n-DCMAKE_INSTALL_LIBDIR:PATH="lib"   ] PASSED [ 21%]
tests/format/variables.py::test_defaults[distutils.bst-python-install-python3 ./setup.py install --prefix "/usr" \\\n--root "/buildstream-install"] PASSED [ 21%]
tests/format/variables.py::test_defaults[makemaker.bst-configure-perl Makefile.PL PREFIX=/buildstream-install/usr] PASSED [ 21%]
tests/format/variables.py::test_defaults[modulebuild.bst-configure-perl Build.PL --prefix "/buildstream-install/usr"] PASSED [ 21%]
tests/format/variables.py::test_defaults[qmake.bst-make-install-make -j1 INSTALL_ROOT="/buildstream-install" install] PASSED [ 21%]
tests/format/variables.py::test_overrides[autotools.bst-make-install-make -j1 DESTDIR="/custom/install/root" install] PASSED [ 22%]
tests/format/variables.py::test_overrides[cmake.bst-cmake-cmake -B_builddir -H"." -G"Ninja" -DCMAKE_INSTALL_PREFIX:PATH="/opt" \\\n-DCMAKE_INSTALL_LIBDIR:PATH="lib"   ] PASSED [ 22%]
tests/format/variables.py::test_overrides[distutils.bst-python-install-python3 ./setup.py install --prefix "/opt" \\\n--root "/custom/install/root"] PASSED [ 22%]
tests/format/variables.py::test_overrides[makemaker.bst-configure-perl Makefile.PL PREFIX=/custom/install/root/opt] PASSED [ 22%]
tests/format/variables.py::test_overrides[modulebuild.bst-configure-perl Build.PL --prefix "/custom/install/root/opt"] PASSED [ 22%]
tests/format/variables.py::test_overrides[qmake.bst-make-install-make -j1 INSTALL_ROOT="/custom/install/root" install] PASSED [ 22%]
tests/format/variables.py::test_missing_variable PASSED                  [ 22%]
tests/format/variables.py::test_cyclic_variables PASSED                  [ 22%]
tests/format/variables.py::test_use_of_protected_var_project_conf[project-name] PASSED [ 22%]
tests/format/variables.py::test_use_of_protected_var_project_conf[element-name] PASSED [ 22%]
tests/format/variables.py::test_use_of_protected_var_project_conf[max-jobs] PASSED [ 22%]
tests/format/variables.py::test_use_of_protected_var_element_overrides[project-name] PASSED [ 22%]
tests/format/variables.py::test_use_of_protected_var_element_overrides[element-name] PASSED [ 22%]
tests/format/variables.py::test_use_of_protected_var_element_overrides[max-jobs] PASSED [ 23%]
tests/format/variables.py::test_use_of_protected_var_in_element[project-name] PASSED [ 23%]
tests/format/variables.py::test_use_of_protected_var_in_element[element-name] PASSED [ 23%]
tests/format/variables.py::test_use_of_protected_var_in_element[max-jobs] PASSED [ 23%]
tests/frontend/buildcheckout.py::test_build_checkout[strict-copies] PASSED [ 23%]
tests/frontend/buildcheckout.py::test_build_checkout[strict-hardlinks] PASSED [ 23%]
tests/frontend/buildcheckout.py::test_build_checkout[non-strict-copies] PASSED [ 23%]
tests/frontend/buildcheckout.py::test_build_checkout[non-strict-hardlinks] PASSED [ 23%]
tests/frontend/buildcheckout.py::test_build_invalid_suffix[non-strict-hardlinks] PASSED [ 23%]
tests/frontend/buildcheckout.py::test_build_invalid_suffix_dep[non-strict-hardlinks] PASSED [ 23%]
tests/frontend/buildcheckout.py::test_build_invalid_filename_chars PASSED [ 23%]
tests/frontend/buildcheckout.py::test_build_invalid_filename_chars_dep PASSED [ 23%]
tests/frontend/buildcheckout.py::test_build_checkout_deps[run] PASSED    [ 23%]
tests/frontend/buildcheckout.py::test_build_checkout_deps[none] PASSED   [ 24%]
tests/frontend/buildcheckout.py::test_build_checkout_deps[build] PASSED  [ 24%]
tests/frontend/buildcheckout.py::test_build_checkout_unbuilt PASSED      [ 24%]
tests/frontend/buildcheckout.py::test_build_checkout_tarball PASSED      [ 24%]
tests/frontend/buildcheckout.py::test_build_checkout_tarball_stdout PASSED [ 24%]
tests/frontend/buildcheckout.py::test_build_checkout_tarball_is_deterministic PASSED [ 24%]
tests/frontend/buildcheckout.py::test_build_checkout_nonempty[copies] PASSED [ 24%]
tests/frontend/buildcheckout.py::test_build_checkout_nonempty[hardlinks] PASSED [ 24%]
tests/frontend/buildcheckout.py::test_build_checkout_force[copies] PASSED [ 24%]
tests/frontend/buildcheckout.py::test_build_checkout_force[hardlinks] PASSED [ 24%]
tests/frontend/buildcheckout.py::test_build_checkout_force_tarball PASSED [ 24%]
tests/frontend/buildcheckout.py::test_fetch_build_checkout[strict-git] PASSED [ 24%]
tests/frontend/buildcheckout.py::test_fetch_build_checkout[strict-bzr] PASSED [ 25%]
tests/frontend/buildcheckout.py::test_fetch_build_checkout[strict-ostree] PASSED [ 25%]
tests/frontend/buildcheckout.py::test_fetch_build_checkout[strict-tar] PASSED [ 25%]
tests/frontend/buildcheckout.py::test_fetch_build_checkout[strict-zip] PASSED [ 25%]
tests/frontend/buildcheckout.py::test_fetch_build_checkout[non-strict-git] PASSED [ 25%]
tests/frontend/buildcheckout.py::test_fetch_build_checkout[non-strict-bzr] PASSED [ 25%]
tests/frontend/buildcheckout.py::test_fetch_build_checkout[non-strict-ostree] PASSED [ 25%]
tests/frontend/buildcheckout.py::test_fetch_build_checkout[non-strict-tar] PASSED [ 25%]
tests/frontend/buildcheckout.py::test_fetch_build_checkout[non-strict-zip] PASSED [ 25%]
tests/frontend/buildcheckout.py::test_install_to_build PASSED            [ 25%]
tests/frontend/buildcheckout.py::test_inconsistent_junction[inline] PASSED [ 25%]
tests/frontend/buildcheckout.py::test_inconsistent_junction[project.refs] PASSED [ 25%]
tests/frontend/buildcheckout.py::test_unfetched_junction[inline] PASSED  [ 25%]
tests/frontend/buildcheckout.py::test_unfetched_junction[project.refs] PASSED [ 26%]
tests/frontend/buildcheckout.py::test_build_checkout_junction PASSED     [ 26%]
tests/frontend/buildcheckout.py::test_build_checkout_workspaced_junction PASSED [ 26%]
tests/frontend/buildcheckout.py::test_build_checkout_cross_junction PASSED [ 26%]
tests/frontend/buildtrack.py::test_build_track[track_targets0-exceptions0-tracked0-inline] FAILED [ 26%]
tests/frontend/buildtrack.py::test_build_track[track_targets0-exceptions0-tracked0-project.refs] FAILED [ 26%]
tests/frontend/buildtrack.py::test_build_track[track_targets1-exceptions1-tracked1-inline] FAILED [ 26%]
tests/frontend/buildtrack.py::test_build_track[track_targets1-exceptions1-tracked1-project.refs] FAILED [ 26%]
tests/frontend/buildtrack.py::test_build_track[track_targets2-exceptions2-tracked2-inline] FAILED [ 26%]
tests/frontend/buildtrack.py::test_build_track[track_targets2-exceptions2-tracked2-project.refs] FAILED [ 26%]
tests/frontend/buildtrack.py::test_build_track[track_targets3-exceptions3-tracked3-inline] FAILED [ 26%]
tests/frontend/buildtrack.py::test_build_track[track_targets3-exceptions3-tracked3-project.refs] FAILED [ 26%]
tests/frontend/buildtrack.py::test_build_track[track_targets4-exceptions4-tracked4-inline] PASSED [ 26%]
tests/frontend/buildtrack.py::test_build_track[track_targets4-exceptions4-tracked4-project.refs] PASSED [ 27%]
tests/frontend/buildtrack.py::test_build_track[track_targets5-exceptions5-tracked5-inline] FAILED [ 27%]
tests/frontend/buildtrack.py::test_build_track[track_targets5-exceptions5-tracked5-project.refs] FAILED [ 27%]
tests/frontend/buildtrack.py::test_build_track[track_targets6-exceptions6-tracked6-inline] FAILED [ 27%]
tests/frontend/buildtrack.py::test_build_track[track_targets6-exceptions6-tracked6-project.refs] FAILED [ 27%]
tests/frontend/buildtrack.py::test_build_track[track_targets7-exceptions7-tracked7-inline] PASSED [ 27%]
tests/frontend/buildtrack.py::test_build_track[track_targets7-exceptions7-tracked7-project.refs] PASSED [ 27%]
tests/frontend/buildtrack.py::test_build_track[track_targets8-exceptions8-tracked8-inline] PASSED [ 27%]
tests/frontend/buildtrack.py::test_build_track[track_targets8-exceptions8-tracked8-project.refs] PASSED [ 27%]
tests/frontend/buildtrack.py::test_build_track_update[track_targets0-exceptions0-tracked0] PASSED [ 27%]
tests/frontend/buildtrack.py::test_build_track_update[track_targets1-exceptions1-tracked1] PASSED [ 27%]
tests/frontend/buildtrack.py::test_build_track_update[track_targets2-exceptions2-tracked2] PASSED [ 27%]
tests/frontend/buildtrack.py::test_build_track_update[track_targets3-exceptions3-tracked3] PASSED [ 27%]
tests/frontend/buildtrack.py::test_build_track_update[track_targets4-exceptions4-tracked4] PASSED [ 28%]
tests/frontend/buildtrack.py::test_build_track_update[track_targets5-exceptions5-tracked5] PASSED [ 28%]
tests/frontend/buildtrack.py::test_build_track_update[track_targets6-exceptions6-tracked6] PASSED [ 28%]
tests/frontend/buildtrack.py::test_build_track_update[track_targets7-exceptions7-tracked7] PASSED [ 28%]
tests/frontend/buildtrack.py::test_build_track_update[track_targets8-exceptions8-tracked8] PASSED [ 28%]
tests/frontend/buildtrack.py::test_build_track_inconsistent[track_targets0-exceptions0] PASSED [ 28%]
tests/frontend/buildtrack.py::test_build_track_inconsistent[track_targets1-exceptions1] PASSED [ 28%]
tests/frontend/buildtrack.py::test_build_track_track_first[--strict] FAILED [ 28%]
tests/frontend/buildtrack.py::test_build_track_track_first[--no-strict] FAILED [ 28%]
tests/frontend/completions.py::test_commands[bst-0-expected0] PASSED     [ 28%]
tests/frontend/completions.py::test_commands[bst -1-expected1] PASSED    [ 28%]
tests/frontend/completions.py::test_commands[bst pu-1-expected2] PASSED  [ 28%]
tests/frontend/completions.py::test_commands[bst pul-1-expected3] PASSED [ 28%]
tests/frontend/completions.py::test_commands[bst source -2-expected4] PASSED [ 29%]
tests/frontend/completions.py::test_commands[bst w -1-expected5] PASSED  [ 29%]
tests/frontend/completions.py::test_commands[bst workspace -2-expected6] PASSED [ 29%]
tests/frontend/completions.py::test_options[bst --1-expected0] PASSED    [ 29%]
tests/frontend/completions.py::test_options[bst --l-1-expected1] PASSED  [ 29%]
tests/frontend/completions.py::test_options[bst --no-colors build --3-expected2] PASSED [ 29%]
tests/frontend/completions.py::test_options[bst --fetchers -2-expected3] PASSED [ 29%]
tests/frontend/completions.py::test_options[bst --no-colors -2-expected4] PASSED [ 29%]
tests/frontend/completions.py::test_option_choice[bst --on-error -2-expected0] PASSED [ 29%]
tests/frontend/completions.py::test_option_choice[bst show --deps -3-expected1] PASSED [ 29%]
tests/frontend/completions.py::test_option_choice[bst show --deps=-2-expected2] PASSED [ 29%]
tests/frontend/completions.py::test_option_choice[bst show --deps b-3-expected3] PASSED [ 29%]
tests/frontend/completions.py::test_option_choice[bst show --deps=b-2-expected4] PASSED [ 29%]
tests/frontend/completions.py::test_option_choice[bst show --deps r-3-expected5] PASSED [ 30%]
tests/frontend/completions.py::test_option_choice[bst track --deps -3-expected6] PASSED [ 30%]
tests/frontend/completions.py::test_option_file[bst --config -2-expected0-None] PASSED [ 30%]
tests/frontend/completions.py::test_option_file[bst --log-file -2-expected1-None] PASSED [ 30%]
tests/frontend/completions.py::test_option_file[bst --config f-2-expected2-None] PASSED [ 30%]
tests/frontend/completions.py::test_option_file[bst --log-file f-2-expected3-None] PASSED [ 30%]
tests/frontend/completions.py::test_option_file[bst --config files-2-expected4-None] PASSED [ 30%]
tests/frontend/completions.py::test_option_file[bst --log-file files-2-expected5-None] PASSED [ 30%]
tests/frontend/completions.py::test_option_file[bst --config files/-2-expected6-None] PASSED [ 30%]
tests/frontend/completions.py::test_option_file[bst --log-file elements/-2-expected7-None] PASSED [ 30%]
tests/frontend/completions.py::test_option_file[bst --config ../-2-expected8-files] PASSED [ 30%]
tests/frontend/completions.py::test_option_file[bst --config ../elements/-2-expected9-files] PASSED [ 30%]
tests/frontend/completions.py::test_option_file[bst --config ../nofile-2-expected10-files] PASSED [ 30%]
tests/frontend/completions.py::test_option_file[bst --config /pony/rainbow/nobodyhas/this/file-2-expected11-files] PASSED [ 31%]
tests/frontend/completions.py::test_option_directory[bst --directory -2-expected0-None] PASSED [ 31%]
tests/frontend/completions.py::test_option_directory[bst --directory elements/-2-expected1-None] PASSED [ 31%]
tests/frontend/completions.py::test_option_directory[bst --directory -2-expected2-files] PASSED [ 31%]
tests/frontend/completions.py::test_option_directory[bst --directory ../-2-expected3-files] PASSED [ 31%]
tests/frontend/completions.py::test_argument_element[project-bst show -2-expected0-None] PASSED [ 31%]
tests/frontend/completions.py::test_argument_element[project-bst build com-2-expected1-None] PASSED [ 31%]
tests/frontend/completions.py::test_argument_element[project-bst show -2-expected2-files] PASSED [ 31%]
tests/frontend/completions.py::test_argument_element[project-bst build com-2-expected3-files] PASSED [ 31%]
tests/frontend/completions.py::test_argument_element[project-bst --directory ../ show -4-expected4-files] PASSED [ 31%]
tests/frontend/completions.py::test_argument_element[project-bst --directory ../ build com-4-expected5-files] PASSED [ 31%]
tests/frontend/completions.py::test_argument_element[project-bst --directory ../ checkout t -4-expected6-files] PASSED [ 31%]
tests/frontend/completions.py::test_argument_element[project-bst --directory ../ checkout target.bst -5-expected7-files] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element[no-element-path-bst show -2-expected8-None] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element[no-element-path-bst build com-2-expected9-None] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element[no-element-path-bst show -2-expected10-files] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element[no-element-path-bst build com-2-expected11-files] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element[no-element-path-bst --directory ../ show -4-expected12-files] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element[no-element-path-bst --directory ../ show f-4-expected13-files] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element[no-element-path-bst --directory ../ show files/-4-expected14-files] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element[no-element-path-bst --directory ../ build com-4-expected15-files] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element[no-element-path-bst --directory ../ checkout t -4-expected16-files] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element[no-element-path-bst --directory ../ checkout target.bst -5-expected17-files] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element[sub-folders-bst show base-2-expected18-None] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element[sub-folders-bst show base/-2-expected19-None] PASSED [ 32%]
tests/frontend/completions.py::test_argument_element_invalid[project-bst --directory ../ show -4-expected0-files] PASSED [ 33%]
tests/frontend/completions.py::test_help_commands[bst he-1-expected0] PASSED [ 33%]
tests/frontend/completions.py::test_help_commands[bst help -2-expected1] PASSED [ 33%]
tests/frontend/completions.py::test_help_commands[bst help in-2-expected2] PASSED [ 33%]
tests/frontend/completions.py::test_help_commands[bst help p-2-expected3] PASSED [ 33%]
tests/frontend/completions.py::test_help_commands[bst help p-2-expected4] PASSED [ 33%]
tests/frontend/completions.py::test_help_commands[bst help source -3-expected5] PASSED [ 33%]
tests/frontend/completions.py::test_help_commands[bst help w-2-expected6] PASSED [ 33%]
tests/frontend/completions.py::test_help_commands[bst help workspace -3-expected7] PASSED [ 33%]
tests/frontend/completions.py::test_argument_artifact PASSED             [ 33%]
tests/frontend/compose_splits.py::test_compose_splits[compose-include-bin.bst] PASSED [ 33%]
tests/frontend/compose_splits.py::test_compose_splits[compose-exclude-dev.bst] PASSED [ 33%]
tests/frontend/configurable_warnings.py::test_fatal_warnings[corewarn.bst-fatal_warnings0-True-ErrorDomain.STREAM] PASSED [ 33%]
tests/frontend/configurable_warnings.py::test_fatal_warnings[warninga.bst-fatal_warnings1-True-ErrorDomain.STREAM] PASSED [ 34%]
tests/frontend/configurable_warnings.py::test_fatal_warnings[warningb.bst-fatal_warnings2-True-ErrorDomain.STREAM] PASSED [ 34%]
tests/frontend/configurable_warnings.py::test_fatal_warnings[corewarn.bst-fatal_warnings3-False-None] PASSED [ 34%]
tests/frontend/configurable_warnings.py::test_fatal_warnings[warninga.bst-fatal_warnings4-False-None] PASSED [ 34%]
tests/frontend/configurable_warnings.py::test_fatal_warnings[warningb.bst-fatal_warnings5-False-None] PASSED [ 34%]
tests/frontend/configurable_warnings.py::test_fatal_warnings[warninga.bst-fatal_warnings6-False-None] PASSED [ 34%]
tests/frontend/configurable_warnings.py::test_fatal_warnings[warningb.bst-fatal_warnings7-False-None] PASSED [ 34%]
tests/frontend/cross_junction_workspace.py::test_open_cross_junction PASSED [ 34%]
tests/frontend/cross_junction_workspace.py::test_list_cross_junction PASSED [ 34%]
tests/frontend/cross_junction_workspace.py::test_close_cross_junction PASSED [ 34%]
tests/frontend/cross_junction_workspace.py::test_close_all_cross_junction PASSED [ 34%]
tests/frontend/cross_junction_workspace.py::test_subdir_command_cross_junction PASSED [ 34%]
tests/frontend/fetch.py::test_fetch[git] PASSED                          [ 34%]
tests/frontend/fetch.py::test_fetch[bzr] PASSED                          [ 35%]
tests/frontend/fetch.py::test_fetch[ostree] PASSED                       [ 35%]
tests/frontend/fetch.py::test_fetch[tar] PASSED                          [ 35%]
tests/frontend/fetch.py::test_fetch[zip] PASSED                          [ 35%]
tests/frontend/fetch.py::test_fetch_consistency_error PASSED             [ 35%]
tests/frontend/fetch.py::test_fetch_consistency_bug PASSED               [ 35%]
tests/frontend/fetch.py::test_unfetched_junction[inline] PASSED          [ 35%]
tests/frontend/fetch.py::test_unfetched_junction[project.refs] PASSED    [ 35%]
tests/frontend/fetch.py::test_inconsistent_junction[inline] PASSED       [ 35%]
tests/frontend/fetch.py::test_inconsistent_junction[project.refs] PASSED [ 35%]
tests/frontend/fetch.py::test_fetch_cross_junction[git-inline] PASSED    [ 35%]
tests/frontend/fetch.py::test_fetch_cross_junction[git-project.refs] PASSED [ 35%]
tests/frontend/fetch.py::test_fetch_cross_junction[bzr-inline] PASSED    [ 35%]
tests/frontend/fetch.py::test_fetch_cross_junction[bzr-project.refs] PASSED [ 36%]
tests/frontend/fetch.py::test_fetch_cross_junction[ostree-inline] PASSED [ 36%]
tests/frontend/fetch.py::test_fetch_cross_junction[ostree-project.refs] PASSED [ 36%]
tests/frontend/fetch.py::test_fetch_cross_junction[tar-inline] PASSED    [ 36%]
tests/frontend/fetch.py::test_fetch_cross_junction[tar-project.refs] PASSED [ 36%]
tests/frontend/fetch.py::test_fetch_cross_junction[zip-inline] PASSED    [ 36%]
tests/frontend/fetch.py::test_fetch_cross_junction[zip-project.refs] PASSED [ 36%]
tests/frontend/help.py::test_help_main PASSED                            [ 36%]
tests/frontend/help.py::test_help[build] PASSED                          [ 36%]
tests/frontend/help.py::test_help[checkout] PASSED                       [ 36%]
tests/frontend/help.py::test_help[pull] PASSED                           [ 36%]
tests/frontend/help.py::test_help[push] PASSED                           [ 36%]
tests/frontend/help.py::test_help[shell] PASSED                          [ 36%]
tests/frontend/help.py::test_help[show] PASSED                           [ 37%]
tests/frontend/help.py::test_help[source] PASSED                         [ 37%]
tests/frontend/help.py::test_help[workspace] PASSED                      [ 37%]
tests/frontend/init.py::test_defaults PASSED                             [ 37%]
tests/frontend/init.py::test_all_options PASSED                          [ 37%]
tests/frontend/init.py::test_no_project_name PASSED                      [ 37%]
tests/frontend/init.py::test_project_exists PASSED                       [ 37%]
tests/frontend/init.py::test_force_overwrite_project PASSED              [ 37%]
tests/frontend/init.py::test_bad_project_name[Micheal Jackson] PASSED    [ 37%]
tests/frontend/init.py::test_bad_project_name[one+one] PASSED            [ 37%]
tests/frontend/init.py::test_bad_format_version[-1] PASSED               [ 37%]
tests/frontend/init.py::test_bad_format_version[21] PASSED               [ 37%]
tests/frontend/init.py::test_bad_element_path[/absolute/path] PASSED     [ 38%]
tests/frontend/init.py::test_bad_element_path[../outside/of/project] PASSED [ 38%]
tests/frontend/init.py::test_element_path_interactive[foo] PASSED        [ 38%]
tests/frontend/init.py::test_element_path_interactive[foo/bar] PASSED    [ 38%]
tests/frontend/logging.py::test_default_logging PASSED                   [ 38%]
tests/frontend/logging.py::test_custom_logging PASSED                    [ 38%]
tests/frontend/logging.py::test_failed_build_listing PASSED              [ 38%]
tests/frontend/main.py::test_prefix_choice_value_proc_full_match PASSED  [ 38%]
tests/frontend/main.py::test_prefix_choice_value_proc_prefix_match PASSED [ 38%]
tests/frontend/main.py::test_prefix_choice_value_proc_ambigous_match PASSED [ 38%]
tests/frontend/main.py::test_prefix_choice_value_proc_value_not_in_choices PASSED [ 38%]
tests/frontend/mirror.py::test_mirror_fetch[git] PASSED                  [ 38%]
tests/frontend/mirror.py::test_mirror_fetch[bzr] PASSED                  [ 38%]
tests/frontend/mirror.py::test_mirror_fetch[ostree] PASSED               [ 39%]
tests/frontend/mirror.py::test_mirror_fetch[tar] PASSED                  [ 39%]
tests/frontend/mirror.py::test_mirror_fetch[zip] PASSED                  [ 39%]
tests/frontend/mirror.py::test_mirror_fetch_ref_storage[no-mirror-inline] PASSED [ 39%]
tests/frontend/mirror.py::test_mirror_fetch_ref_storage[no-mirror-project.refs] PASSED [ 39%]
tests/frontend/mirror.py::test_mirror_fetch_ref_storage[mirror-inline] PASSED [ 39%]
tests/frontend/mirror.py::test_mirror_fetch_ref_storage[mirror-project.refs] PASSED [ 39%]
tests/frontend/mirror.py::test_mirror_fetch_ref_storage[unrelated-mirror-inline] PASSED [ 39%]
tests/frontend/mirror.py::test_mirror_fetch_ref_storage[unrelated-mirror-project.refs] PASSED [ 39%]
tests/frontend/mirror.py::test_mirror_fetch_upstream_absent[git] PASSED  [ 39%]
tests/frontend/mirror.py::test_mirror_fetch_upstream_absent[bzr] PASSED  [ 39%]
tests/frontend/mirror.py::test_mirror_fetch_upstream_absent[ostree] PASSED [ 39%]
tests/frontend/mirror.py::test_mirror_fetch_upstream_absent[tar] PASSED  [ 39%]
tests/frontend/mirror.py::test_mirror_fetch_upstream_absent[zip] PASSED  [ 40%]
tests/frontend/mirror.py::test_mirror_fetch_multi PASSED                 [ 40%]
tests/frontend/mirror.py::test_mirror_fetch_default_cmdline PASSED       [ 40%]
tests/frontend/mirror.py::test_mirror_fetch_default_userconfig PASSED    [ 40%]
tests/frontend/mirror.py::test_mirror_fetch_default_cmdline_overrides_config PASSED [ 40%]
tests/frontend/mirror.py::test_mirror_track_upstream_present[git] PASSED [ 40%]
tests/frontend/mirror.py::test_mirror_track_upstream_present[bzr] PASSED [ 40%]
tests/frontend/mirror.py::test_mirror_track_upstream_present[ostree] PASSED [ 40%]
tests/frontend/mirror.py::test_mirror_track_upstream_present[tar] PASSED [ 40%]
tests/frontend/mirror.py::test_mirror_track_upstream_present[zip] PASSED [ 40%]
tests/frontend/mirror.py::test_mirror_track_upstream_absent[git] PASSED  [ 40%]
tests/frontend/mirror.py::test_mirror_track_upstream_absent[bzr] PASSED  [ 40%]
tests/frontend/mirror.py::test_mirror_track_upstream_absent[ostree] PASSED [ 40%]
tests/frontend/mirror.py::test_mirror_track_upstream_absent[tar] PASSED  [ 41%]
tests/frontend/mirror.py::test_mirror_track_upstream_absent[zip] PASSED  [ 41%]
tests/frontend/mirror.py::test_mirror_from_includes[git] PASSED          [ 41%]
tests/frontend/mirror.py::test_mirror_from_includes[bzr] PASSED          [ 41%]
tests/frontend/mirror.py::test_mirror_from_includes[ostree] PASSED       [ 41%]
tests/frontend/mirror.py::test_mirror_from_includes[tar] PASSED          [ 41%]
tests/frontend/mirror.py::test_mirror_from_includes[zip] PASSED          [ 41%]
tests/frontend/mirror.py::test_mirror_junction_from_includes[git] PASSED [ 41%]
tests/frontend/mirror.py::test_mirror_junction_from_includes[bzr] PASSED [ 41%]
tests/frontend/mirror.py::test_mirror_junction_from_includes[ostree] PASSED [ 41%]
tests/frontend/mirror.py::test_mirror_junction_from_includes[tar] PASSED [ 41%]
tests/frontend/mirror.py::test_mirror_junction_from_includes[zip] PASSED [ 41%]
tests/frontend/mirror.py::test_mirror_git_submodule_fetch PASSED         [ 41%]
tests/frontend/mirror.py::test_mirror_fallback_git_only_submodules PASSED [ 42%]
tests/frontend/mirror.py::test_mirror_fallback_git_with_submodules PASSED [ 42%]
tests/frontend/order.py::test_order[show-3.bst-template0-expected0] PASSED [ 42%]
tests/frontend/order.py::test_order[show-target.bst-template1-expected1] PASSED [ 42%]
tests/frontend/order.py::test_order[fetch-3.bst-template0-expected0] PASSED [ 42%]
tests/frontend/order.py::test_order[fetch-target.bst-template1-expected1] PASSED [ 42%]
tests/frontend/order.py::test_order[build-3.bst-template0-expected0] PASSED [ 42%]
tests/frontend/order.py::test_order[build-target.bst-template1-expected1] PASSED [ 42%]
tests/frontend/overlaps.py::test_overlaps[True] PASSED                   [ 42%]
tests/frontend/overlaps.py::test_overlaps[False] PASSED                  [ 42%]
tests/frontend/overlaps.py::test_overlaps_error[True] PASSED             [ 42%]
tests/frontend/overlaps.py::test_overlaps_error[False] PASSED            [ 42%]
tests/frontend/overlaps.py::test_overlaps_whitelist PASSED               [ 42%]
tests/frontend/overlaps.py::test_overlaps_whitelist_ignored PASSED       [ 43%]
tests/frontend/overlaps.py::test_overlaps_whitelist_on_overlapper PASSED [ 43%]
tests/frontend/overlaps.py::test_overlaps_script[True] PASSED            [ 43%]
tests/frontend/overlaps.py::test_overlaps_script[False] PASSED           [ 43%]
tests/frontend/pull.py::test_push_pull_all PASSED                        [ 43%]
tests/frontend/pull.py::test_pull_secondary_cache PASSED                 [ 43%]
tests/frontend/pull.py::test_push_pull_specific_remote PASSED            [ 43%]
tests/frontend/pull.py::test_push_pull_non_strict PASSED                 [ 43%]
tests/frontend/pull.py::test_push_pull_track_non_strict PASSED           [ 43%]
tests/frontend/pull.py::test_push_pull_cross_junction PASSED             [ 43%]
tests/frontend/pull.py::test_pull_missing_blob PASSED                    [ 43%]
tests/frontend/pull.py::test_pull_missing_notifies_user PASSED           [ 43%]
tests/frontend/push.py::test_push PASSED                                 [ 44%]
tests/frontend/push.py::test_push_all PASSED                             [ 44%]
tests/frontend/push.py::test_push_after_pull PASSED                      [ 44%]
tests/frontend/push.py::test_artifact_expires PASSED                     [ 44%]
tests/frontend/push.py::test_artifact_too_large PASSED                   [ 44%]
tests/frontend/push.py::test_recently_pulled_artifact_does_not_expire PASSED [ 44%]
tests/frontend/push.py::test_push_cross_junction PASSED                  [ 44%]
tests/frontend/push.py::test_push_already_cached PASSED                  [ 44%]
tests/frontend/rebuild.py::test_rebuild[strict] PASSED                   [ 44%]
tests/frontend/rebuild.py::test_rebuild[non-strict] PASSED               [ 44%]
tests/frontend/show.py::test_show[import-bin.bst-%{name}-import-bin.bst] PASSED [ 44%]
tests/frontend/show.py::test_show[import-bin.bst-%{state}-buildable] PASSED [ 44%]
tests/frontend/show.py::test_show[compose-all.bst-%{state}-waiting] PASSED [ 44%]
tests/frontend/show.py::test_show_invalid_element_path PASSED            [ 45%]
tests/frontend/show.py::test_show_except_simple[target.bst-import-bin.bst-expected0] PASSED [ 45%]
tests/frontend/show.py::test_show_except_simple[target.bst-import-dev.bst-expected1] PASSED [ 45%]
tests/frontend/show.py::test_show_except_simple[target.bst-compose-all.bst-expected2] PASSED [ 45%]
tests/frontend/show.py::test_show_except_simple[compose-all.bst-import-bin.bst-expected3] PASSED [ 45%]
tests/frontend/show.py::test_show_except[targets0-None-expected0] PASSED [ 45%]
tests/frontend/show.py::test_show_except[targets1-exceptions1-expected1] PASSED [ 45%]
tests/frontend/show.py::test_show_except[targets2-exceptions2-expected2] PASSED [ 45%]
tests/frontend/show.py::test_show_except[targets3-exceptions3-expected3] PASSED [ 45%]
tests/frontend/show.py::test_show_except[targets4-exceptions4-expected4] PASSED [ 45%]
tests/frontend/show.py::test_show_except[targets5-exceptions5-expected5] PASSED [ 45%]
tests/frontend/show.py::test_parallel_order PASSED                       [ 45%]
tests/frontend/show.py::test_target_is_dependency PASSED                 [ 45%]
tests/frontend/show.py::test_unfetched_junction[junction-dep.bst-inline] PASSED [ 46%]
tests/frontend/show.py::test_unfetched_junction[junction-dep.bst-project.refs] PASSED [ 46%]
tests/frontend/show.py::test_unfetched_junction[junction.bst:import-etc.bst-inline] PASSED [ 46%]
tests/frontend/show.py::test_unfetched_junction[junction.bst:import-etc.bst-project.refs] PASSED [ 46%]
tests/frontend/show.py::test_inconsistent_junction[junction-dep.bst-inline] PASSED [ 46%]
tests/frontend/show.py::test_inconsistent_junction[junction-dep.bst-project.refs] PASSED [ 46%]
tests/frontend/show.py::test_inconsistent_junction[junction.bst:import-etc.bst-inline] PASSED [ 46%]
tests/frontend/show.py::test_inconsistent_junction[junction.bst:import-etc.bst-project.refs] PASSED [ 46%]
tests/frontend/show.py::test_fetched_junction[junction-dep.bst] PASSED   [ 46%]
tests/frontend/show.py::test_fetched_junction[junction.bst:import-etc.bst] PASSED [ 46%]
tests/frontend/show.py::test_exceed_max_recursion_depth[100] PASSED      [ 46%]
tests/frontend/show.py::test_exceed_max_recursion_depth[500] PASSED      [ 46%]
tests/frontend/show.py::test_exceed_max_recursion_depth[1200] PASSED     [ 46%]
tests/frontend/source_checkout.py::test_source_checkout[workspace-guess] PASSED [ 47%]
tests/frontend/source_checkout.py::test_source_checkout[workspace-no-guess] PASSED [ 47%]
tests/frontend/source_checkout.py::test_source_checkout[no-workspace-no-guess] PASSED [ 47%]
tests/frontend/source_checkout.py::test_source_checkout_force[--force] PASSED [ 47%]
tests/frontend/source_checkout.py::test_source_checkout_force[-f] PASSED [ 47%]
tests/frontend/source_checkout.py::test_source_checkout_tar PASSED       [ 47%]
tests/frontend/source_checkout.py::test_source_checkout_deps[build] PASSED [ 47%]
tests/frontend/source_checkout.py::test_source_checkout_deps[none] PASSED [ 47%]
tests/frontend/source_checkout.py::test_source_checkout_deps[run] PASSED [ 47%]
tests/frontend/source_checkout.py::test_source_checkout_deps[all] PASSED [ 47%]
tests/frontend/source_checkout.py::test_source_checkout_except PASSED    [ 47%]
tests/frontend/source_checkout.py::test_source_checkout_fetch[False] PASSED [ 47%]
tests/frontend/source_checkout.py::test_source_checkout_fetch[True] PASSED [ 47%]
tests/frontend/source_checkout.py::test_source_checkout_build_scripts PASSED [ 48%]
tests/frontend/source_checkout.py::test_source_checkout_tar_buildscripts PASSED [ 48%]
tests/frontend/track.py::test_track[git-inline] PASSED                   [ 48%]
tests/frontend/track.py::test_track[git-project.refs] PASSED             [ 48%]
tests/frontend/track.py::test_track[bzr-inline] PASSED                   [ 48%]
tests/frontend/track.py::test_track[bzr-project.refs] PASSED             [ 48%]
tests/frontend/track.py::test_track[ostree-inline] PASSED                [ 48%]
tests/frontend/track.py::test_track[ostree-project.refs] PASSED          [ 48%]
tests/frontend/track.py::test_track[tar-inline] PASSED                   [ 48%]
tests/frontend/track.py::test_track[tar-project.refs] PASSED             [ 48%]
tests/frontend/track.py::test_track[zip-inline] PASSED                   [ 48%]
tests/frontend/track.py::test_track[zip-project.refs] PASSED             [ 48%]
tests/frontend/track.py::test_track_recurse[git] PASSED                  [ 48%]
tests/frontend/track.py::test_track_recurse[bzr] PASSED                  [ 49%]
tests/frontend/track.py::test_track_recurse[ostree] PASSED               [ 49%]
tests/frontend/track.py::test_track_recurse[tar] PASSED                  [ 49%]
tests/frontend/track.py::test_track_recurse[zip] PASSED                  [ 49%]
tests/frontend/track.py::test_track_single PASSED                        [ 49%]
tests/frontend/track.py::test_track_recurse_except[git] PASSED           [ 49%]
tests/frontend/track.py::test_track_recurse_except[bzr] PASSED           [ 49%]
tests/frontend/track.py::test_track_recurse_except[ostree] PASSED        [ 49%]
tests/frontend/track.py::test_track_recurse_except[tar] PASSED           [ 49%]
tests/frontend/track.py::test_track_recurse_except[zip] PASSED           [ 49%]
tests/frontend/track.py::test_track_optional[inline] PASSED              [ 49%]
tests/frontend/track.py::test_track_optional[project-refs] PASSED        [ 49%]
tests/frontend/track.py::test_track_cross_junction[inline-cross] PASSED  [ 50%]
tests/frontend/track.py::test_track_cross_junction[inline-nocross] PASSED [ 50%]
tests/frontend/track.py::test_track_cross_junction[project.refs-cross] PASSED [ 50%]
tests/frontend/track.py::test_track_cross_junction[project.refs-nocross] PASSED [ 50%]
tests/frontend/track.py::test_track_consistency_error PASSED             [ 50%]
tests/frontend/track.py::test_track_consistency_bug PASSED               [ 50%]
tests/frontend/track.py::test_inconsistent_junction[inline] PASSED       [ 50%]
tests/frontend/track.py::test_inconsistent_junction[project.refs] PASSED [ 50%]
tests/frontend/track.py::test_junction_element[inline] PASSED            [ 50%]
tests/frontend/track.py::test_junction_element[project.refs] PASSED      [ 50%]
tests/frontend/track.py::test_cross_junction[git-inline] PASSED          [ 50%]
tests/frontend/track.py::test_cross_junction[git-project.refs] PASSED    [ 50%]
tests/frontend/track.py::test_cross_junction[bzr-inline] PASSED          [ 50%]
tests/frontend/track.py::test_cross_junction[bzr-project.refs] PASSED    [ 51%]
tests/frontend/track.py::test_cross_junction[ostree-inline] PASSED       [ 51%]
tests/frontend/track.py::test_cross_junction[ostree-project.refs] PASSED [ 51%]
tests/frontend/track.py::test_cross_junction[tar-inline] PASSED          [ 51%]
tests/frontend/track.py::test_cross_junction[tar-project.refs] PASSED    [ 51%]
tests/frontend/track.py::test_cross_junction[zip-inline] PASSED          [ 51%]
tests/frontend/track.py::test_cross_junction[zip-project.refs] PASSED    [ 51%]
tests/frontend/track.py::test_track_include[git-inline] PASSED           [ 51%]
tests/frontend/track.py::test_track_include[git-project.refs] PASSED     [ 51%]
tests/frontend/track.py::test_track_include[bzr-inline] PASSED           [ 51%]
tests/frontend/track.py::test_track_include[bzr-project.refs] PASSED     [ 51%]
tests/frontend/track.py::test_track_include[ostree-inline] PASSED        [ 51%]
tests/frontend/track.py::test_track_include[ostree-project.refs] PASSED  [ 51%]
tests/frontend/track.py::test_track_include[tar-inline] PASSED           [ 52%]
tests/frontend/track.py::test_track_include[tar-project.refs] PASSED     [ 52%]
tests/frontend/track.py::test_track_include[zip-inline] PASSED           [ 52%]
tests/frontend/track.py::test_track_include[zip-project.refs] PASSED     [ 52%]
tests/frontend/track.py::test_track_include_junction[git-inline] PASSED  [ 52%]
tests/frontend/track.py::test_track_include_junction[git-project.refs] PASSED [ 52%]
tests/frontend/track.py::test_track_include_junction[bzr-inline] PASSED  [ 52%]
tests/frontend/track.py::test_track_include_junction[bzr-project.refs] PASSED [ 52%]
tests/frontend/track.py::test_track_include_junction[ostree-inline] PASSED [ 52%]
tests/frontend/track.py::test_track_include_junction[ostree-project.refs] PASSED [ 52%]
tests/frontend/track.py::test_track_include_junction[tar-inline] PASSED  [ 52%]
tests/frontend/track.py::test_track_include_junction[tar-project.refs] PASSED [ 52%]
tests/frontend/track.py::test_track_include_junction[zip-inline] PASSED  [ 52%]
tests/frontend/track.py::test_track_include_junction[zip-project.refs] PASSED [ 53%]
tests/frontend/track.py::test_track_junction_included[git-inline] PASSED [ 53%]
tests/frontend/track.py::test_track_junction_included[git-project.refs] PASSED [ 53%]
tests/frontend/track.py::test_track_junction_included[bzr-inline] PASSED [ 53%]
tests/frontend/track.py::test_track_junction_included[bzr-project.refs] PASSED [ 53%]
tests/frontend/track.py::test_track_junction_included[ostree-inline] PASSED [ 53%]
tests/frontend/track.py::test_track_junction_included[ostree-project.refs] PASSED [ 53%]
tests/frontend/track.py::test_track_junction_included[tar-inline] PASSED [ 53%]
tests/frontend/track.py::test_track_junction_included[tar-project.refs] PASSED [ 53%]
tests/frontend/track.py::test_track_junction_included[zip-inline] PASSED [ 53%]
tests/frontend/track.py::test_track_junction_included[zip-project.refs] PASSED [ 53%]
tests/frontend/track.py::test_track_error_cannot_write_file[git] PASSED  [ 53%]
tests/frontend/track.py::test_track_error_cannot_write_file[bzr] PASSED  [ 53%]
tests/frontend/track.py::test_track_error_cannot_write_file[ostree] PASSED [ 54%]
tests/frontend/track.py::test_track_error_cannot_write_file[tar] PASSED  [ 54%]
tests/frontend/track.py::test_track_error_cannot_write_file[zip] PASSED  [ 54%]
tests/frontend/track_cross_junction.py::test_cross_junction_multiple_projects[git] PASSED [ 54%]
tests/frontend/track_cross_junction.py::test_cross_junction_multiple_projects[bzr] PASSED [ 54%]
tests/frontend/track_cross_junction.py::test_cross_junction_multiple_projects[ostree] PASSED [ 54%]
tests/frontend/track_cross_junction.py::test_cross_junction_multiple_projects[tar] PASSED [ 54%]
tests/frontend/track_cross_junction.py::test_cross_junction_multiple_projects[zip] PASSED [ 54%]
tests/frontend/track_cross_junction.py::test_track_exceptions[git] PASSED [ 54%]
tests/frontend/track_cross_junction.py::test_track_exceptions[bzr] PASSED [ 54%]
tests/frontend/track_cross_junction.py::test_track_exceptions[ostree] PASSED [ 54%]
tests/frontend/track_cross_junction.py::test_track_exceptions[tar] PASSED [ 54%]
tests/frontend/track_cross_junction.py::test_track_exceptions[zip] PASSED [ 54%]
tests/frontend/version.py::test_version PASSED                           [ 55%]
tests/frontend/workspace.py::test_open[git] PASSED                       [ 55%]
tests/frontend/workspace.py::test_open[bzr] PASSED                       [ 55%]
tests/frontend/workspace.py::test_open[ostree] PASSED                    [ 55%]
tests/frontend/workspace.py::test_open[tar] PASSED                       [ 55%]
tests/frontend/workspace.py::test_open[zip] PASSED                       [ 55%]
tests/frontend/workspace.py::test_open_bzr_customize PASSED              [ 55%]
tests/frontend/workspace.py::test_open_multi PASSED                      [ 55%]
tests/frontend/workspace.py::test_open_multi_unwritable PASSED           [ 55%]
tests/frontend/workspace.py::test_open_multi_with_directory PASSED       [ 55%]
tests/frontend/workspace.py::test_open_defaultlocation PASSED            [ 55%]
tests/frontend/workspace.py::test_open_defaultlocation_exists PASSED     [ 55%]
tests/frontend/workspace.py::test_open_track[git] PASSED                 [ 55%]
tests/frontend/workspace.py::test_open_track[bzr] PASSED                 [ 56%]
tests/frontend/workspace.py::test_open_track[ostree] PASSED              [ 56%]
tests/frontend/workspace.py::test_open_track[tar] PASSED                 [ 56%]
tests/frontend/workspace.py::test_open_track[zip] PASSED                 [ 56%]
tests/frontend/workspace.py::test_open_force[git] PASSED                 [ 56%]
tests/frontend/workspace.py::test_open_force[bzr] PASSED                 [ 56%]
tests/frontend/workspace.py::test_open_force[ostree] PASSED              [ 56%]
tests/frontend/workspace.py::test_open_force[tar] PASSED                 [ 56%]
tests/frontend/workspace.py::test_open_force[zip] PASSED                 [ 56%]
tests/frontend/workspace.py::test_open_force_open[git] PASSED            [ 56%]
tests/frontend/workspace.py::test_open_force_open[bzr] PASSED            [ 56%]
tests/frontend/workspace.py::test_open_force_open[ostree] PASSED         [ 56%]
tests/frontend/workspace.py::test_open_force_open[tar] PASSED            [ 57%]
tests/frontend/workspace.py::test_open_force_open[zip] PASSED            [ 57%]
tests/frontend/workspace.py::test_open_force_different_workspace[git] PASSED [ 57%]
tests/frontend/workspace.py::test_open_force_different_workspace[bzr] PASSED [ 57%]
tests/frontend/workspace.py::test_open_force_different_workspace[ostree] PASSED [ 57%]
tests/frontend/workspace.py::test_open_force_different_workspace[tar] PASSED [ 57%]
tests/frontend/workspace.py::test_open_force_different_workspace[zip] PASSED [ 57%]
tests/frontend/workspace.py::test_close[git] PASSED                      [ 57%]
tests/frontend/workspace.py::test_close[bzr] PASSED                      [ 57%]
tests/frontend/workspace.py::test_close[ostree] PASSED                   [ 57%]
tests/frontend/workspace.py::test_close[tar] PASSED                      [ 57%]
tests/frontend/workspace.py::test_close[zip] PASSED                      [ 57%]
tests/frontend/workspace.py::test_close_external_after_move_project PASSED [ 57%]
tests/frontend/workspace.py::test_close_internal_after_move_project PASSED [ 58%]
tests/frontend/workspace.py::test_close_removed PASSED                   [ 58%]
tests/frontend/workspace.py::test_close_nonexistant_element PASSED       [ 58%]
tests/frontend/workspace.py::test_close_multiple PASSED                  [ 58%]
tests/frontend/workspace.py::test_close_all PASSED                       [ 58%]
tests/frontend/workspace.py::test_reset PASSED                           [ 58%]
tests/frontend/workspace.py::test_reset_multiple PASSED                  [ 58%]
tests/frontend/workspace.py::test_reset_all PASSED                       [ 58%]
tests/frontend/workspace.py::test_list PASSED                            [ 58%]
tests/frontend/workspace.py::test_build[project-no-guess-strict-git] PASSED [ 58%]
tests/frontend/workspace.py::test_build[project-no-guess-strict-bzr] PASSED [ 58%]
tests/frontend/workspace.py::test_build[project-no-guess-strict-ostree] PASSED [ 58%]
tests/frontend/workspace.py::test_build[project-no-guess-strict-tar] PASSED [ 58%]
tests/frontend/workspace.py::test_build[project-no-guess-strict-zip] PASSED [ 59%]
tests/frontend/workspace.py::test_build[project-no-guess-non-strict-git] PASSED [ 59%]
tests/frontend/workspace.py::test_build[project-no-guess-non-strict-bzr] PASSED [ 59%]
tests/frontend/workspace.py::test_build[project-no-guess-non-strict-ostree] PASSED [ 59%]
tests/frontend/workspace.py::test_build[project-no-guess-non-strict-tar] PASSED [ 59%]
tests/frontend/workspace.py::test_build[project-no-guess-non-strict-zip] PASSED [ 59%]
tests/frontend/workspace.py::test_build[workspace-guess-strict-git] PASSED [ 59%]
tests/frontend/workspace.py::test_build[workspace-guess-strict-bzr] PASSED [ 59%]
tests/frontend/workspace.py::test_build[workspace-guess-strict-ostree] PASSED [ 59%]
tests/frontend/workspace.py::test_build[workspace-guess-strict-tar] PASSED [ 59%]
tests/frontend/workspace.py::test_build[workspace-guess-strict-zip] PASSED [ 59%]
tests/frontend/workspace.py::test_build[workspace-guess-non-strict-git] PASSED [ 59%]
tests/frontend/workspace.py::test_build[workspace-guess-non-strict-bzr] PASSED [ 59%]
tests/frontend/workspace.py::test_build[workspace-guess-non-strict-ostree] PASSED [ 60%]
tests/frontend/workspace.py::test_build[workspace-guess-non-strict-tar] PASSED [ 60%]
tests/frontend/workspace.py::test_build[workspace-guess-non-strict-zip] PASSED [ 60%]
tests/frontend/workspace.py::test_build[workspace-no-guess-strict-git] PASSED [ 60%]
tests/frontend/workspace.py::test_build[workspace-no-guess-strict-bzr] PASSED [ 60%]
tests/frontend/workspace.py::test_build[workspace-no-guess-strict-ostree] PASSED [ 60%]
tests/frontend/workspace.py::test_build[workspace-no-guess-strict-tar] PASSED [ 60%]
tests/frontend/workspace.py::test_build[workspace-no-guess-strict-zip] PASSED [ 60%]
tests/frontend/workspace.py::test_build[workspace-no-guess-non-strict-git] PASSED [ 60%]
tests/frontend/workspace.py::test_build[workspace-no-guess-non-strict-bzr] PASSED [ 60%]
tests/frontend/workspace.py::test_build[workspace-no-guess-non-strict-ostree] PASSED [ 60%]
tests/frontend/workspace.py::test_build[workspace-no-guess-non-strict-tar] PASSED [ 60%]
tests/frontend/workspace.py::test_build[workspace-no-guess-non-strict-zip] PASSED [ 60%]
tests/frontend/workspace.py::test_buildable_no_ref PASSED                [ 61%]
tests/frontend/workspace.py::test_detect_modifications[strict-addfile] PASSED [ 61%]
tests/frontend/workspace.py::test_detect_modifications[strict-removefile] PASSED [ 61%]
tests/frontend/workspace.py::test_detect_modifications[strict-modifyfile] PASSED [ 61%]
tests/frontend/workspace.py::test_detect_modifications[non-strict-addfile] PASSED [ 61%]
tests/frontend/workspace.py::test_detect_modifications[non-strict-removefile] PASSED [ 61%]
tests/frontend/workspace.py::test_detect_modifications[non-strict-modifyfile] PASSED [ 61%]
tests/frontend/workspace.py::test_list_unsupported_workspace[workspace_cfg0] PASSED [ 61%]
tests/frontend/workspace.py::test_list_unsupported_workspace[workspace_cfg1] PASSED [ 61%]
tests/frontend/workspace.py::test_list_unsupported_workspace[workspace_cfg2] PASSED [ 61%]
tests/frontend/workspace.py::test_list_unsupported_workspace[workspace_cfg3] PASSED [ 61%]
tests/frontend/workspace.py::test_list_supported_workspace[workspace_cfg0-expected0] PASSED [ 61%]
tests/frontend/workspace.py::test_list_supported_workspace[workspace_cfg1-expected1] PASSED [ 61%]
tests/frontend/workspace.py::test_list_supported_workspace[workspace_cfg2-expected2] PASSED [ 62%]
tests/frontend/workspace.py::test_list_supported_workspace[workspace_cfg3-expected3] PASSED [ 62%]
tests/frontend/workspace.py::test_list_supported_workspace[workspace_cfg4-expected4] PASSED [ 62%]
tests/frontend/workspace.py::test_inconsitent_pipeline_message[git] PASSED [ 62%]
tests/frontend/workspace.py::test_inconsitent_pipeline_message[bzr] PASSED [ 62%]
tests/frontend/workspace.py::test_inconsitent_pipeline_message[ostree] PASSED [ 62%]
tests/frontend/workspace.py::test_inconsitent_pipeline_message[tar] PASSED [ 62%]
tests/frontend/workspace.py::test_inconsitent_pipeline_message[zip] PASSED [ 62%]
tests/frontend/workspace.py::test_cache_key_workspace_in_dependencies[strict] PASSED [ 62%]
tests/frontend/workspace.py::test_cache_key_workspace_in_dependencies[non-strict] PASSED [ 62%]
tests/frontend/workspace.py::test_multiple_failed_builds PASSED          [ 62%]
tests/frontend/workspace.py::test_external_fetch[guess-subdir] PASSED    [ 62%]
tests/frontend/workspace.py::test_external_fetch[guess-no-subdir] PASSED [ 63%]
tests/frontend/workspace.py::test_external_fetch[no-guess-subdir] PASSED [ 63%]
tests/frontend/workspace.py::test_external_fetch[no-guess-no-subdir] PASSED [ 63%]
tests/frontend/workspace.py::test_external_push_pull[guess] PASSED       [ 63%]
tests/frontend/workspace.py::test_external_push_pull[no-guess] PASSED    [ 63%]
tests/frontend/workspace.py::test_external_track[guess] PASSED           [ 63%]
tests/frontend/workspace.py::test_external_track[no-guess] PASSED        [ 63%]
tests/frontend/workspace.py::test_external_open_other PASSED             [ 63%]
tests/frontend/workspace.py::test_external_close_other PASSED            [ 63%]
tests/frontend/workspace.py::test_external_close_self[guess] PASSED      [ 63%]
tests/frontend/workspace.py::test_external_close_self[no-guess] PASSED   [ 63%]
tests/frontend/workspace.py::test_external_reset_other PASSED            [ 63%]
tests/frontend/workspace.py::test_external_reset_self[guess] PASSED      [ 63%]
tests/frontend/workspace.py::test_external_reset_self[no-guess] PASSED   [ 64%]
tests/frontend/workspace.py::test_external_list PASSED                   [ 64%]
tests/frontend/yamlcache.py::test_yamlcache_used[move-no-junction-inline] PASSED [ 64%]
tests/frontend/yamlcache.py::test_yamlcache_used[move-no-junction-project.refs] PASSED [ 64%]
tests/frontend/yamlcache.py::test_yamlcache_used[move-junction-inline] PASSED [ 64%]
tests/frontend/yamlcache.py::test_yamlcache_used[move-junction-project.refs] PASSED [ 64%]
tests/frontend/yamlcache.py::test_yamlcache_used[no-move-no-junction-inline] PASSED [ 64%]
tests/frontend/yamlcache.py::test_yamlcache_used[no-move-no-junction-project.refs] PASSED [ 64%]
tests/frontend/yamlcache.py::test_yamlcache_used[no-move-junction-inline] PASSED [ 64%]
tests/frontend/yamlcache.py::test_yamlcache_used[no-move-junction-project.refs] PASSED [ 64%]
tests/frontend/yamlcache.py::test_yamlcache_changed_file[junction-inline] PASSED [ 64%]
tests/frontend/yamlcache.py::test_yamlcache_changed_file[junction-project.refs] PASSED [ 64%]
tests/frontend/yamlcache.py::test_yamlcache_changed_file[no-junction-inline] PASSED [ 64%]
tests/frontend/yamlcache.py::test_yamlcache_changed_file[no-junction-project.refs] PASSED [ 65%]
tests/integration/artifact.py::test_artifact_log PASSED                  [ 65%]
tests/integration/autotools.py::test_autotools_build PASSED              [ 65%]
tests/integration/autotools.py::test_autotools_confroot_build PASSED     [ 65%]
tests/integration/autotools.py::test_autotools_run PASSED                [ 65%]
tests/integration/build-tree.py::test_buildtree_staged PASSED            [ 65%]
tests/integration/build-tree.py::test_buildtree_staged_forced_true PASSED [ 65%]
tests/integration/build-tree.py::test_buildtree_staged_if_available PASSED [ 65%]
tests/integration/build-tree.py::test_buildtree_staged_forced_false PASSED [ 65%]
tests/integration/build-tree.py::test_buildtree_from_failure PASSED      [ 65%]
tests/integration/build-tree.py::test_buildtree_pulled PASSED            [ 65%]
tests/integration/build-tree.py::test_buildtree_options PASSED           [ 65%]
tests/integration/build-uid.py::test_build_uid_overridden PASSED         [ 65%]
tests/integration/build-uid.py::test_build_uid_in_project PASSED         [ 66%]
tests/integration/build-uid.py::test_build_uid_default PASSED            [ 66%]
tests/integration/cachedfail.py::test_build_checkout_cached_fail PASSED  [ 66%]
tests/integration/cachedfail.py::test_build_depend_on_cached_fail PASSED [ 66%]
tests/integration/cachedfail.py::test_push_cached_fail[continue] PASSED  [ 66%]
tests/integration/cachedfail.py::test_push_cached_fail[quit] PASSED      [ 66%]
tests/integration/cachedfail.py::test_host_tools_errors_are_not_cached PASSED [ 66%]
tests/integration/cmake.py::test_cmake_build PASSED                      [ 66%]
tests/integration/cmake.py::test_cmake_confroot_build PASSED             [ 66%]
tests/integration/cmake.py::test_cmake_run PASSED                        [ 66%]
tests/integration/compose-symlinks.py::test_compose_symlinks PASSED      [ 66%]
tests/integration/compose.py::test_compose_include[include_domains0-exclude_domains0-expected0] PASSED [ 66%]
tests/integration/compose.py::test_compose_include[include_domains1-exclude_domains1-expected1] PASSED [ 66%]
tests/integration/compose.py::test_compose_include[include_domains2-exclude_domains2-expected2] PASSED [ 67%]
tests/integration/compose.py::test_compose_include[include_domains3-exclude_domains3-expected3] PASSED [ 67%]
tests/integration/compose.py::test_compose_include[include_domains4-exclude_domains4-expected4] PASSED [ 67%]
tests/integration/compose.py::test_compose_include[include_domains5-exclude_domains5-expected5] PASSED [ 67%]
tests/integration/compose.py::test_compose_include[include_domains6-exclude_domains6-expected6] PASSED [ 67%]
tests/integration/compose.py::test_compose_include[include_domains7-exclude_domains7-expected7] PASSED [ 67%]
tests/integration/compose.py::test_compose_include[include_domains8-exclude_domains8-expected8] PASSED [ 67%]
tests/integration/import.py::test_import[/-/-files/import-source-expected0] PASSED [ 67%]
tests/integration/import.py::test_import[/subdir-/-files/import-source-expected1] PASSED [ 67%]
tests/integration/import.py::test_import[/-/-files/import-source/subdir-expected2] PASSED [ 67%]
tests/integration/import.py::test_import[/-/output-files/import-source-expected3] PASSED [ 67%]
tests/integration/make.py::test_make_build PASSED                        [ 67%]
tests/integration/make.py::test_make_run PASSED                          [ 67%]
tests/integration/manual.py::test_manual_element PASSED                  [ 68%]
tests/integration/manual.py::test_manual_element_environment PASSED      [ 68%]
tests/integration/manual.py::test_manual_element_noparallel PASSED       [ 68%]
tests/integration/manual.py::test_manual_element_logging PASSED          [ 68%]
tests/integration/messages.py::test_disable_message_lines PASSED         [ 68%]
tests/integration/messages.py::test_disable_error_lines PASSED           [ 68%]
tests/integration/pip_element.py::test_pip_build PASSED                  [ 68%]
tests/integration/pip_element.py::test_pip_run PASSED                    [ 68%]
tests/integration/pip_source.py::test_pip_source_import PASSED           [ 68%]
tests/integration/pip_source.py::test_pip_source_build PASSED            [ 68%]
tests/integration/pullbuildtrees.py::test_pullbuildtrees PASSED          [ 68%]
tests/integration/pullbuildtrees.py::test_invalid_cache_pullbuildtrees[True-True] PASSED [ 68%]
tests/integration/pullbuildtrees.py::test_invalid_cache_pullbuildtrees[False-True] PASSED [ 69%]
tests/integration/pullbuildtrees.py::test_invalid_cache_pullbuildtrees[pony-False] PASSED [ 69%]
tests/integration/pullbuildtrees.py::test_invalid_cache_pullbuildtrees[1-False] PASSED [ 69%]
tests/integration/sandbox-bwrap.py::test_sandbox_bwrap_cleanup_build PASSED [ 69%]
tests/integration/sandbox-bwrap.py::test_sandbox_bwrap_distinguish_setup_error SKIPPED [ 69%]
tests/integration/sandbox-bwrap.py::test_sandbox_bwrap_return_subprocess PASSED [ 69%]
tests/integration/script.py::test_script PASSED                          [ 69%]
tests/integration/script.py::test_script_root PASSED                     [ 69%]
tests/integration/script.py::test_script_no_root PASSED                  [ 69%]
tests/integration/script.py::test_script_cwd PASSED                      [ 69%]
tests/integration/script.py::test_script_layout PASSED                   [ 69%]
tests/integration/script.py::test_regression_cache_corruption PASSED     [ 69%]
tests/integration/script.py::test_regression_tmpdir PASSED               [ 69%]
tests/integration/script.py::test_regression_cache_corruption_2 PASSED   [ 70%]
tests/integration/shell.py::test_shell PASSED                            [ 70%]
tests/integration/shell.py::test_executable PASSED                       [ 70%]
tests/integration/shell.py::test_env_assign[Horse] PASSED                [ 70%]
tests/integration/shell.py::test_env_assign[Pony] PASSED                 [ 70%]
tests/integration/shell.py::test_env_assign_expand_host_environ[Horse] PASSED [ 70%]
tests/integration/shell.py::test_env_assign_expand_host_environ[Pony] PASSED [ 70%]
tests/integration/shell.py::test_env_assign_isolated[Horse] PASSED       [ 70%]
tests/integration/shell.py::test_env_assign_isolated[Pony] PASSED        [ 70%]
tests/integration/shell.py::test_no_shell PASSED                         [ 70%]
tests/integration/shell.py::test_host_files[/etc/pony.conf] PASSED       [ 70%]
tests/integration/shell.py::test_host_files[/usr/share/pony/pony.txt] PASSED [ 70%]
tests/integration/shell.py::test_host_files_expand_environ[/etc] PASSED  [ 70%]
tests/integration/shell.py::test_host_files_expand_environ[/usr/share/pony] PASSED [ 71%]
tests/integration/shell.py::test_isolated_no_mount[/etc/pony.conf] PASSED [ 71%]
tests/integration/shell.py::test_isolated_no_mount[/usr/share/pony/pony.txt] PASSED [ 71%]
tests/integration/shell.py::test_host_files_missing[mandatory] PASSED    [ 71%]
tests/integration/shell.py::test_host_files_missing[optional] PASSED     [ 71%]
tests/integration/shell.py::test_cli_mount[/etc/pony.conf] PASSED        [ 71%]
tests/integration/shell.py::test_cli_mount[/usr/share/pony/pony.txt] PASSED [ 71%]
tests/integration/shell.py::test_workspace_visible PASSED                [ 71%]
tests/integration/shell.py::test_sysroot PASSED                          [ 71%]
tests/integration/shell.py::test_integration_devices PASSED              [ 71%]
tests/integration/shell.py::test_integration_external_workspace[guess-build] PASSED [ 71%]
tests/integration/shell.py::test_integration_external_workspace[guess-nobuild] PASSED [ 71%]
tests/integration/shell.py::test_integration_external_workspace[no-guess-build] PASSED [ 71%]
tests/integration/shell.py::test_integration_external_workspace[no-guess-nobuild] PASSED [ 72%]
tests/integration/sockets.py::test_builddir_socket_ignored PASSED        [ 72%]
tests/integration/sockets.py::test_install_root_socket_ignored PASSED    [ 72%]
tests/integration/source-determinism.py::test_deterministic_source_umask[git] PASSED [ 72%]
tests/integration/source-determinism.py::test_deterministic_source_umask[bzr] PASSED [ 72%]
tests/integration/source-determinism.py::test_deterministic_source_umask[ostree] PASSED [ 72%]
tests/integration/source-determinism.py::test_deterministic_source_umask[tar] PASSED [ 72%]
tests/integration/source-determinism.py::test_deterministic_source_umask[zip] PASSED [ 72%]
tests/integration/source-determinism.py::test_deterministic_source_umask[local] PASSED [ 72%]
tests/integration/source-determinism.py::test_deterministic_source_local PASSED [ 72%]
tests/integration/stack.py::test_stack PASSED                            [ 72%]
tests/integration/symlinks.py::test_absolute_symlinks_made_relative PASSED [ 72%]
tests/integration/symlinks.py::test_allow_overlaps_inside_symlink_with_dangling_target PASSED [ 72%]
tests/integration/symlinks.py::test_detect_symlink_overlaps_pointing_outside_sandbox PASSED [ 73%]
tests/integration/workspace.py::test_workspace_mount PASSED              [ 73%]
tests/integration/workspace.py::test_workspace_commanddir PASSED         [ 73%]
tests/integration/workspace.py::test_workspace_updated_dependency PASSED [ 73%]
tests/integration/workspace.py::test_workspace_update_dependency_failed PASSED [ 73%]
tests/integration/workspace.py::test_updated_dependency_nested PASSED    [ 73%]
tests/integration/workspace.py::test_incremental_configure_commands_run_only_once PASSED [ 73%]
tests/internals/context.py::test_context_create PASSED                   [ 73%]
tests/internals/context.py::test_context_load PASSED                     [ 73%]
tests/internals/context.py::test_context_load_envvar PASSED              [ 73%]
tests/internals/context.py::test_context_load_user_config PASSED         [ 73%]
tests/internals/context.py::test_context_load_missing_config PASSED      [ 73%]
tests/internals/context.py::test_context_load_malformed_config PASSED    [ 73%]
tests/internals/context.py::test_context_load_notdict_config PASSED      [ 74%]
tests/internals/loader.py::test_one_file PASSED                          [ 74%]
tests/internals/loader.py::test_missing_file PASSED                      [ 74%]
tests/internals/loader.py::test_invalid_reference PASSED                 [ 74%]
tests/internals/loader.py::test_invalid_yaml PASSED                      [ 74%]
tests/internals/loader.py::test_fail_fullpath_target PASSED              [ 74%]
tests/internals/loader.py::test_invalid_key PASSED                       [ 74%]
tests/internals/loader.py::test_invalid_directory_load PASSED            [ 74%]
tests/internals/pluginfactory.py::test_fixture PASSED                    [ 74%]
tests/internals/pluginfactory.py::test_source_factory PASSED             [ 74%]
tests/internals/pluginfactory.py::test_element_factory PASSED            [ 74%]
tests/internals/pluginfactory.py::test_custom_source PASSED              [ 74%]
tests/internals/pluginfactory.py::test_custom_element PASSED             [ 75%]
tests/internals/pluginfactory.py::test_missing_source PASSED             [ 75%]
tests/internals/pluginfactory.py::test_missing_element PASSED            [ 75%]
tests/internals/pluginfactory.py::test_source_notatype PASSED            [ 75%]
tests/internals/pluginfactory.py::test_element_notatype PASSED           [ 75%]
tests/internals/pluginfactory.py::test_source_wrongtype PASSED           [ 75%]
tests/internals/pluginfactory.py::test_element_wrongtype PASSED          [ 75%]
tests/internals/pluginfactory.py::test_source_missing_setup PASSED       [ 75%]
tests/internals/pluginfactory.py::test_element_missing_setup PASSED      [ 75%]
tests/internals/pluginfactory.py::test_source_bad_setup PASSED           [ 75%]
tests/internals/pluginfactory.py::test_element_bad_setup PASSED          [ 75%]
tests/internals/pluginfactory.py::test_source_badversion PASSED          [ 75%]
tests/internals/pluginfactory.py::test_element_badversion PASSED         [ 75%]
tests/internals/pluginfactory.py::test_source_multicontext PASSED        [ 76%]
tests/internals/pluginfactory.py::test_element_multicontext PASSED       [ 76%]
tests/internals/pluginloading.py::test_customsource PASSED               [ 76%]
tests/internals/pluginloading.py::test_customelement PASSED              [ 76%]
tests/internals/pluginloading.py::test_badversionsource PASSED           [ 76%]
tests/internals/pluginloading.py::test_badversionelement PASSED          [ 76%]
tests/internals/storage.py::test_import[FileBasedDirectory] PASSED       [ 76%]
tests/internals/storage.py::test_import[CasBasedDirectory] PASSED        [ 76%]
tests/internals/storage.py::test_modified_file_list[FileBasedDirectory] PASSED [ 76%]
tests/internals/storage.py::test_modified_file_list[CasBasedDirectory] PASSED [ 76%]
tests/internals/storage_vdir_import.py::test_fixed_cas_import[1] PASSED  [ 76%]
tests/internals/storage_vdir_import.py::test_fixed_cas_import[2] PASSED  [ 76%]
tests/internals/storage_vdir_import.py::test_fixed_cas_import[3] PASSED  [ 76%]
tests/internals/storage_vdir_import.py::test_fixed_cas_import[4] PASSED  [ 77%]
tests/internals/storage_vdir_import.py::test_fixed_cas_import[5] PASSED  [ 77%]
tests/internals/storage_vdir_import.py::test_fixed_cas_import[6] PASSED  [ 77%]
tests/internals/storage_vdir_import.py::test_fixed_cas_import[7] PASSED  [ 77%]
tests/internals/storage_vdir_import.py::test_fixed_cas_import[8] PASSED  [ 77%]
tests/internals/storage_vdir_import.py::test_fixed_cas_import[9] PASSED  [ 77%]
tests/internals/storage_vdir_import.py::test_fixed_cas_import[10] PASSED [ 77%]
tests/internals/storage_vdir_import.py::test_random_cas_import[1] PASSED [ 77%]
tests/internals/storage_vdir_import.py::test_random_cas_import[2] PASSED [ 77%]
tests/internals/storage_vdir_import.py::test_random_cas_import[3] PASSED [ 77%]
tests/internals/storage_vdir_import.py::test_random_cas_import[4] PASSED [ 77%]
tests/internals/storage_vdir_import.py::test_random_cas_import[5] PASSED [ 77%]
tests/internals/storage_vdir_import.py::test_random_cas_import[6] PASSED [ 77%]
tests/internals/storage_vdir_import.py::test_random_cas_import[7] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_cas_import[8] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_cas_import[9] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_cas_import[10] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_directory_listing[1] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_directory_listing[2] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_directory_listing[3] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_directory_listing[4] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_directory_listing[5] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_directory_listing[6] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_directory_listing[7] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_directory_listing[8] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_directory_listing[9] PASSED [ 78%]
tests/internals/storage_vdir_import.py::test_random_directory_listing[10] PASSED [ 79%]
tests/internals/storage_vdir_import.py::test_fixed_directory_listing[1] PASSED [ 79%]
tests/internals/storage_vdir_import.py::test_fixed_directory_listing[2] PASSED [ 79%]
tests/internals/storage_vdir_import.py::test_fixed_directory_listing[3] PASSED [ 79%]
tests/internals/storage_vdir_import.py::test_fixed_directory_listing[4] PASSED [ 79%]
tests/internals/storage_vdir_import.py::test_fixed_directory_listing[5] PASSED [ 79%]
tests/internals/utils.py::test_parse_size_over_1024T PASSED              [ 79%]
tests/internals/utils_move_atomic.py::test_move_to_empty_dir PASSED      [ 79%]
tests/internals/utils_move_atomic.py::test_move_to_empty_dir_create_parents PASSED [ 79%]
tests/internals/utils_move_atomic.py::test_move_to_empty_dir_no_create_parents PASSED [ 79%]
tests/internals/utils_move_atomic.py::test_move_non_existing_dir PASSED  [ 79%]
tests/internals/utils_move_atomic.py::test_move_to_existing_empty_dir PASSED [ 79%]
tests/internals/utils_move_atomic.py::test_move_to_existing_file PASSED  [ 79%]
tests/internals/utils_move_atomic.py::test_move_file_to_existing_file PASSED [ 80%]
tests/internals/utils_move_atomic.py::test_move_to_existing_non_empty_dir PASSED [ 80%]
tests/internals/utils_save_atomic.py::test_save_new_file PASSED          [ 80%]
tests/internals/utils_save_atomic.py::test_save_over_existing_file PASSED [ 80%]
tests/internals/utils_save_atomic.py::test_exception_new_file PASSED     [ 80%]
tests/internals/utils_save_atomic.py::test_exception_existing_file PASSED [ 80%]
tests/internals/utils_save_atomic.py::test_attributes PASSED             [ 80%]
tests/internals/yaml.py::test_load_yaml PASSED                           [ 80%]
tests/internals/yaml.py::test_basic_provenance PASSED                    [ 80%]
tests/internals/yaml.py::test_member_provenance PASSED                   [ 80%]
tests/internals/yaml.py::test_element_provenance PASSED                  [ 80%]
tests/internals/yaml.py::test_node_validate PASSED                       [ 80%]
tests/internals/yaml.py::test_node_get PASSED                            [ 80%]
tests/internals/yaml.py::test_composite_preserve_originals PASSED        [ 81%]
tests/internals/yaml.py::test_list_composition[listprepend.yaml-0-9-prepended1-listprepend.yaml-5-10-raw] PASSED [ 81%]
tests/internals/yaml.py::test_list_composition[listprepend.yaml-0-9-prepended1-listprepend.yaml-5-10-cached] PASSED [ 81%]
tests/internals/yaml.py::test_list_composition[listprepend.yaml-1-9-prepended2-listprepend.yaml-7-10-raw] PASSED [ 81%]
tests/internals/yaml.py::test_list_composition[listprepend.yaml-1-9-prepended2-listprepend.yaml-7-10-cached] PASSED [ 81%]
tests/internals/yaml.py::test_list_composition[listprepend.yaml-2-9-silly-basics.yaml-8-8-raw] PASSED [ 81%]
tests/internals/yaml.py::test_list_composition[listprepend.yaml-2-9-silly-basics.yaml-8-8-cached] PASSED [ 81%]
tests/internals/yaml.py::test_list_composition[listprepend.yaml-8-9-sleepy-basics.yaml-20-8-raw] PASSED [ 81%]
tests/internals/yaml.py::test_list_composition[listprepend.yaml-8-9-sleepy-basics.yaml-20-8-cached] PASSED [ 81%]
tests/internals/yaml.py::test_list_composition[listappend.yaml-7-9-appended1-listappend.yaml-5-10-raw] PASSED [ 81%]
tests/internals/yaml.py::test_list_composition[listappend.yaml-7-9-appended1-listappend.yaml-5-10-cached] PASSED [ 81%]
tests/internals/yaml.py::test_list_composition[listappend.yaml-8-9-appended2-listappend.yaml-7-10-raw] PASSED [ 81%]
tests/internals/yaml.py::test_list_composition[listappend.yaml-8-9-appended2-listappend.yaml-7-10-cached] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappend.yaml-0-9-silly-basics.yaml-8-8-raw] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappend.yaml-0-9-silly-basics.yaml-8-8-cached] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappend.yaml-6-9-sleepy-basics.yaml-20-8-raw] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappend.yaml-6-9-sleepy-basics.yaml-20-8-cached] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappendprepend.yaml-0-11-prepended1-listappendprepend.yaml-5-10-raw] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappendprepend.yaml-0-11-prepended1-listappendprepend.yaml-5-10-cached] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappendprepend.yaml-1-11-prepended2-listappendprepend.yaml-7-10-raw] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappendprepend.yaml-1-11-prepended2-listappendprepend.yaml-7-10-cached] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappendprepend.yaml-2-11-silly-basics.yaml-8-8-raw] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappendprepend.yaml-2-11-silly-basics.yaml-8-8-cached] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappendprepend.yaml-8-11-sleepy-basics.yaml-20-8-raw] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappendprepend.yaml-8-11-sleepy-basics.yaml-20-8-cached] PASSED [ 82%]
tests/internals/yaml.py::test_list_composition[listappendprepend.yaml-9-11-appended1-listappendprepend.yaml-10-10-raw] PASSED [ 83%]
tests/internals/yaml.py::test_list_composition[listappendprepend.yaml-9-11-appended1-listappendprepend.yaml-10-10-cached] PASSED [ 83%]
tests/internals/yaml.py::test_list_composition[listappendprepend.yaml-10-11-appended2-listappendprepend.yaml-12-10-raw] PASSED [ 83%]
tests/internals/yaml.py::test_list_composition[listappendprepend.yaml-10-11-appended2-listappendprepend.yaml-12-10-cached] PASSED [ 83%]
tests/internals/yaml.py::test_list_composition[listoverwrite.yaml-0-2-overwrite1-listoverwrite.yaml-5-10-raw] PASSED [ 83%]
tests/internals/yaml.py::test_list_composition[listoverwrite.yaml-0-2-overwrite1-listoverwrite.yaml-5-10-cached] PASSED [ 83%]
tests/internals/yaml.py::test_list_composition[listoverwrite.yaml-1-2-overwrite2-listoverwrite.yaml-7-10-raw] PASSED [ 83%]
tests/internals/yaml.py::test_list_composition[listoverwrite.yaml-1-2-overwrite2-listoverwrite.yaml-7-10-cached] PASSED [ 83%]
tests/internals/yaml.py::test_list_composition[implicitoverwrite.yaml-0-2-overwrite1-implicitoverwrite.yaml-4-8-raw] PASSED [ 83%]
tests/internals/yaml.py::test_list_composition[implicitoverwrite.yaml-0-2-overwrite1-implicitoverwrite.yaml-4-8-cached] PASSED [ 83%]
tests/internals/yaml.py::test_list_composition[implicitoverwrite.yaml-1-2-overwrite2-implicitoverwrite.yaml-6-8-raw] PASSED [ 83%]
tests/internals/yaml.py::test_list_composition[implicitoverwrite.yaml-1-2-overwrite2-implicitoverwrite.yaml-6-8-cached] PASSED [ 83%]
tests/internals/yaml.py::test_list_deletion PASSED                       [ 83%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listappend.yaml-0-11-prepended1-listprepend.yaml-5-10-raw] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listappend.yaml-0-11-prepended1-listprepend.yaml-5-10-cached] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listappend.yaml-1-11-prepended2-listprepend.yaml-7-10-raw] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listappend.yaml-1-11-prepended2-listprepend.yaml-7-10-cached] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listappend.yaml-2-11-silly-basics.yaml-8-8-raw] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listappend.yaml-2-11-silly-basics.yaml-8-8-cached] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listappend.yaml-8-11-sleepy-basics.yaml-20-8-raw] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listappend.yaml-8-11-sleepy-basics.yaml-20-8-cached] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listappend.yaml-9-11-appended1-listappend.yaml-5-10-raw] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listappend.yaml-9-11-appended1-listappend.yaml-5-10-cached] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listappend.yaml-10-11-appended2-listappend.yaml-7-10-raw] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listappend.yaml-10-11-appended2-listappend.yaml-7-10-cached] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listprepend.yaml-0-11-prepended1-listprepend.yaml-5-10-raw] PASSED [ 84%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listprepend.yaml-0-11-prepended1-listprepend.yaml-5-10-cached] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listprepend.yaml-1-11-prepended2-listprepend.yaml-7-10-raw] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listprepend.yaml-1-11-prepended2-listprepend.yaml-7-10-cached] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listprepend.yaml-2-11-silly-basics.yaml-8-8-raw] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listprepend.yaml-2-11-silly-basics.yaml-8-8-cached] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listprepend.yaml-8-11-sleepy-basics.yaml-20-8-raw] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listprepend.yaml-8-11-sleepy-basics.yaml-20-8-cached] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listprepend.yaml-9-11-appended1-listappend.yaml-5-10-raw] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listprepend.yaml-9-11-appended1-listappend.yaml-5-10-cached] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listprepend.yaml-10-11-appended2-listappend.yaml-7-10-raw] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listprepend.yaml-10-11-appended2-listappend.yaml-7-10-cached] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-secondappend.yaml-0-11-silly-basics.yaml-8-8-raw] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-secondappend.yaml-0-11-silly-basics.yaml-8-8-cached] PASSED [ 85%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-secondappend.yaml-6-11-sleepy-basics.yaml-20-8-raw] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-secondappend.yaml-6-11-sleepy-basics.yaml-20-8-cached] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-secondappend.yaml-7-11-appended1-listappend.yaml-5-10-raw] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-secondappend.yaml-7-11-appended1-listappend.yaml-5-10-cached] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-secondappend.yaml-8-11-appended2-listappend.yaml-7-10-raw] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-secondappend.yaml-8-11-appended2-listappend.yaml-7-10-cached] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-secondappend.yaml-9-11-secondappend1-secondappend.yaml-5-10-raw] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-secondappend.yaml-9-11-secondappend1-secondappend.yaml-5-10-cached] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-secondappend.yaml-10-11-secondappend2-secondappend.yaml-7-10-raw] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-secondappend.yaml-10-11-secondappend2-secondappend.yaml-7-10-cached] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-secondprepend.yaml-0-11-secondprepend1-secondprepend.yaml-5-10-raw] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-secondprepend.yaml-0-11-secondprepend1-secondprepend.yaml-5-10-cached] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-secondprepend.yaml-1-11-secondprepend2-secondprepend.yaml-7-10-raw] PASSED [ 86%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-secondprepend.yaml-1-11-secondprepend2-secondprepend.yaml-7-10-cached] PASSED [ 87%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-secondprepend.yaml-2-11-prepended1-listprepend.yaml-5-10-raw] PASSED [ 87%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-secondprepend.yaml-2-11-prepended1-listprepend.yaml-5-10-cached] PASSED [ 87%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-secondprepend.yaml-3-11-prepended2-listprepend.yaml-7-10-raw] PASSED [ 87%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-secondprepend.yaml-3-11-prepended2-listprepend.yaml-7-10-cached] PASSED [ 87%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-secondprepend.yaml-4-11-silly-basics.yaml-8-8-raw] PASSED [ 87%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-secondprepend.yaml-4-11-silly-basics.yaml-8-8-cached] PASSED [ 87%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-secondprepend.yaml-10-11-sleepy-basics.yaml-20-8-raw] PASSED [ 87%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-secondprepend.yaml-10-11-sleepy-basics.yaml-20-8-cached] PASSED [ 87%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-implicitoverwrite.yaml-0-2-overwrite1-implicitoverwrite.yaml-4-8-raw] PASSED [ 87%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-implicitoverwrite.yaml-0-2-overwrite1-implicitoverwrite.yaml-4-8-cached] PASSED [ 87%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-implicitoverwrite.yaml-1-2-overwrite2-implicitoverwrite.yaml-6-8-raw] PASSED [ 87%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-implicitoverwrite.yaml-1-2-overwrite2-implicitoverwrite.yaml-6-8-cached] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-implicitoverwrite.yaml-0-2-overwrite1-implicitoverwrite.yaml-4-8-raw] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-implicitoverwrite.yaml-0-2-overwrite1-implicitoverwrite.yaml-4-8-cached] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-implicitoverwrite.yaml-1-2-overwrite2-implicitoverwrite.yaml-6-8-raw] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-implicitoverwrite.yaml-1-2-overwrite2-implicitoverwrite.yaml-6-8-cached] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listoverwrite.yaml-0-2-overwrite1-listoverwrite.yaml-5-10-raw] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listoverwrite.yaml-0-2-overwrite1-listoverwrite.yaml-5-10-cached] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listoverwrite.yaml-1-2-overwrite2-listoverwrite.yaml-7-10-raw] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listappend.yaml-listoverwrite.yaml-1-2-overwrite2-listoverwrite.yaml-7-10-cached] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listoverwrite.yaml-0-2-overwrite1-listoverwrite.yaml-5-10-raw] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listoverwrite.yaml-0-2-overwrite1-listoverwrite.yaml-5-10-cached] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listoverwrite.yaml-1-2-overwrite2-listoverwrite.yaml-7-10-raw] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listprepend.yaml-listoverwrite.yaml-1-2-overwrite2-listoverwrite.yaml-7-10-cached] PASSED [ 88%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listappend.yaml-0-4-overwrite1-listoverwrite.yaml-5-10-raw] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listappend.yaml-0-4-overwrite1-listoverwrite.yaml-5-10-cached] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listappend.yaml-1-4-overwrite2-listoverwrite.yaml-7-10-raw] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listappend.yaml-1-4-overwrite2-listoverwrite.yaml-7-10-cached] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listappend.yaml-2-4-appended1-listappend.yaml-5-10-raw] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listappend.yaml-2-4-appended1-listappend.yaml-5-10-cached] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listappend.yaml-3-4-appended2-listappend.yaml-7-10-raw] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listappend.yaml-3-4-appended2-listappend.yaml-7-10-cached] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listprepend.yaml-0-4-prepended1-listprepend.yaml-5-10-raw] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listprepend.yaml-0-4-prepended1-listprepend.yaml-5-10-cached] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listprepend.yaml-1-4-prepended2-listprepend.yaml-7-10-raw] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listprepend.yaml-1-4-prepended2-listprepend.yaml-7-10-cached] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listprepend.yaml-2-4-overwrite1-listoverwrite.yaml-5-10-raw] PASSED [ 89%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listprepend.yaml-2-4-overwrite1-listoverwrite.yaml-5-10-cached] PASSED [ 90%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listprepend.yaml-3-4-overwrite2-listoverwrite.yaml-7-10-raw] PASSED [ 90%]
tests/internals/yaml.py::test_list_composition_twice[listoverwrite.yaml-listprepend.yaml-3-4-overwrite2-listoverwrite.yaml-7-10-cached] PASSED [ 90%]
tests/internals/yaml.py::test_convert_value_to_string PASSED             [ 90%]
tests/internals/yaml.py::test_value_doesnt_match_expected PASSED         [ 90%]
tests/sandboxes/missing-command.py::test_missing_command PASSED          [ 90%]
tests/sandboxes/missing_dependencies.py::test_missing_brwap_has_nice_error_message PASSED [ 90%]
tests/sandboxes/missing_dependencies.py::test_old_brwap_has_nice_error_message PASSED [ 90%]
tests/sandboxes/remote-exec-config.py::test_old_and_new_configs PASSED   [ 90%]
tests/sandboxes/remote-exec-config.py::test_missing_certs[client-cert-client.crt] PASSED [ 90%]
tests/sandboxes/remote-exec-config.py::test_missing_certs[client-key-client.key] PASSED [ 90%]
tests/sandboxes/remote-exec-config.py::test_empty_config PASSED          [ 90%]
tests/sandboxes/mounting/mount_simple.py::test_bind_mount SKIPPED        [ 90%]
tests/sandboxes/mounting/mount_simple.py::test_mount_proc SKIPPED        [ 91%]
tests/sources/bzr.py::test_fetch_checkout PASSED                         [ 91%]
tests/sources/deb.py::test_no_ref PASSED                                 [ 91%]
tests/sources/deb.py::test_fetch_bad_url PASSED                          [ 91%]
tests/sources/deb.py::test_fetch_bad_ref PASSED                          [ 91%]
tests/sources/deb.py::test_track_warning PASSED                          [ 91%]
tests/sources/deb.py::test_stage_default_basedir PASSED                  [ 91%]
tests/sources/deb.py::test_stage_no_basedir PASSED                       [ 91%]
tests/sources/deb.py::test_stage_explicit_basedir PASSED                 [ 91%]
tests/sources/git.py::test_fetch_bad_ref PASSED                          [ 91%]
tests/sources/git.py::test_submodule_fetch_checkout PASSED               [ 91%]
tests/sources/git.py::test_submodule_fetch_source_enable_explicit PASSED [ 91%]
tests/sources/git.py::test_submodule_fetch_source_disable PASSED         [ 91%]
tests/sources/git.py::test_submodule_fetch_submodule_does_override PASSED [ 92%]
tests/sources/git.py::test_submodule_fetch_submodule_individual_checkout PASSED [ 92%]
tests/sources/git.py::test_submodule_fetch_submodule_individual_checkout_explicit PASSED [ 92%]
tests/sources/git.py::test_submodule_fetch_project_override PASSED       [ 92%]
tests/sources/git.py::test_submodule_track_ignore_inconsistent PASSED    [ 92%]
tests/sources/git.py::test_submodule_track_no_ref_or_track PASSED        [ 92%]
tests/sources/git.py::test_ref_not_in_track[warn] PASSED                 [ 92%]
tests/sources/git.py::test_ref_not_in_track[error] PASSED                [ 92%]
tests/sources/git.py::test_unlisted_submodule[warn] PASSED               [ 92%]
tests/sources/git.py::test_unlisted_submodule[error] PASSED              [ 92%]
tests/sources/git.py::test_track_unlisted_submodule[warn] PASSED         [ 92%]
tests/sources/git.py::test_track_unlisted_submodule[error] PASSED        [ 92%]
tests/sources/git.py::test_invalid_submodule[warn] PASSED                [ 92%]
tests/sources/git.py::test_invalid_submodule[error] PASSED               [ 93%]
tests/sources/git.py::test_track_invalid_submodule[warn] PASSED          [ 93%]
tests/sources/git.py::test_track_invalid_submodule[error] PASSED         [ 93%]
tests/sources/git.py::test_track_fetch[False-False-sha1] PASSED          [ 93%]
tests/sources/git.py::test_track_fetch[False-False-git-describe] PASSED  [ 93%]
tests/sources/git.py::test_track_fetch[True-False-sha1] PASSED           [ 93%]
tests/sources/git.py::test_track_fetch[True-False-git-describe] PASSED   [ 93%]
tests/sources/git.py::test_track_fetch[True-True-sha1] PASSED            [ 93%]
tests/sources/git.py::test_track_fetch[True-True-git-describe] PASSED    [ 93%]
tests/sources/git.py::test_git_describe[annotated-inline] PASSED         [ 93%]
tests/sources/git.py::test_git_describe[annotated-project.refs] PASSED   [ 93%]
tests/sources/git.py::test_git_describe[lightweight-inline] PASSED       [ 93%]
tests/sources/git.py::test_git_describe[lightweight-project.refs] PASSED [ 94%]
tests/sources/git.py::test_git_describe_head_is_tagged[annotated-inline] PASSED [ 94%]
tests/sources/git.py::test_git_describe_head_is_tagged[annotated-project.refs] PASSED [ 94%]
tests/sources/git.py::test_git_describe_head_is_tagged[lightweight-inline] PASSED [ 94%]
tests/sources/git.py::test_git_describe_head_is_tagged[lightweight-project.refs] PASSED [ 94%]
tests/sources/git.py::test_git_describe_relevant_history PASSED          [ 94%]
tests/sources/git.py::test_default_do_not_track_tags PASSED              [ 94%]
tests/sources/git.py::test_overwrite_rogue_tag_multiple_remotes PASSED   [ 94%]
tests/sources/local.py::test_missing_path PASSED                         [ 94%]
tests/sources/local.py::test_non_regular_file_or_directory PASSED        [ 94%]
tests/sources/local.py::test_invalid_absolute_path PASSED                [ 94%]
tests/sources/local.py::test_invalid_relative_path PASSED                [ 94%]
tests/sources/local.py::test_stage_file PASSED                           [ 94%]
tests/sources/local.py::test_stage_directory PASSED                      [ 95%]
tests/sources/local.py::test_stage_symlink PASSED                        [ 95%]
tests/sources/local.py::test_stage_file_exists PASSED                    [ 95%]
tests/sources/no_fetch_cached.py::test_no_fetch_cached PASSED            [ 95%]
tests/sources/ostree.py::test_submodule_track_no_ref_or_track PASSED     [ 95%]
tests/sources/patch.py::test_missing_patch PASSED                        [ 95%]
tests/sources/patch.py::test_non_regular_file_patch PASSED               [ 95%]
tests/sources/patch.py::test_invalid_absolute_path PASSED                [ 95%]
tests/sources/patch.py::test_invalid_relative_path PASSED                [ 95%]
tests/sources/patch.py::test_stage_and_patch PASSED                      [ 95%]
tests/sources/patch.py::test_stage_file_nonexistent_dir PASSED           [ 95%]
tests/sources/patch.py::test_stage_file_empty_dir PASSED                 [ 95%]
tests/sources/patch.py::test_stage_separate_patch_dir PASSED             [ 95%]
tests/sources/patch.py::test_stage_multiple_patches PASSED               [ 96%]
tests/sources/patch.py::test_patch_strip_level PASSED                    [ 96%]
tests/sources/pip.py::test_no_ref PASSED                                 [ 96%]
tests/sources/pip.py::test_first_source PASSED                           [ 96%]
tests/sources/pip.py::test_no_packages PASSED                            [ 96%]
tests/sources/pip.py::test_match_package_name[dotted.package-0.9.8.tar.gz-dotted.package-0.9.8] PASSED [ 96%]
tests/sources/pip.py::test_match_package_name[hyphenated-package-2.6.0.tar.gz-hyphenated-package-2.6.0] PASSED [ 96%]
tests/sources/pip.py::test_match_package_name[underscore_pkg-3.1.0.tar.gz-underscore_pkg-3.1.0] PASSED [ 96%]
tests/sources/pip.py::test_match_package_name[numbers2and5-1.0.1.tar.gz-numbers2and5-1.0.1] PASSED [ 96%]
tests/sources/pip.py::test_match_package_name[multiple.dots.package-5.6.7.tar.gz-multiple.dots.package-5.6.7] PASSED [ 96%]
tests/sources/pip.py::test_match_package_name[multiple-hyphens-package-1.2.3.tar.gz-multiple-hyphens-package-1.2.3] PASSED [ 96%]
tests/sources/pip.py::test_match_package_name[multiple_underscore_pkg-3.4.5.tar.gz-multiple_underscore_pkg-3.4.5] PASSED [ 96%]
tests/sources/pip.py::test_match_package_name[shortversion-1.0.tar.gz-shortversion-1.0] PASSED [ 96%]
tests/sources/pip.py::test_match_package_name[longversion-1.2.3.4.tar.gz-longversion-1.2.3.4] PASSED [ 97%]
tests/sources/previous_source_access.py::test_custom_transform_source PASSED [ 97%]
tests/sources/remote.py::test_no_ref PASSED                              [ 97%]
tests/sources/remote.py::test_missing_file PASSED                        [ 97%]
tests/sources/remote.py::test_path_in_filename PASSED                    [ 97%]
tests/sources/remote.py::test_simple_file_build PASSED                   [ 97%]
tests/sources/remote.py::test_simple_file_custom_name_build PASSED       [ 97%]
tests/sources/remote.py::test_unique_key PASSED                          [ 97%]
tests/sources/remote.py::test_executable PASSED                          [ 97%]
tests/sources/remote.py::test_use_netrc[FTP] PASSED                      [ 97%]
tests/sources/remote.py::test_use_netrc[HTTP] PASSED                     [ 97%]
tests/sources/tar.py::test_no_ref PASSED                                 [ 97%]
tests/sources/tar.py::test_fetch_bad_url PASSED                          [ 97%]
tests/sources/tar.py::test_fetch_bad_ref PASSED                          [ 98%]
tests/sources/tar.py::test_track_warning PASSED                          [ 98%]
tests/sources/tar.py::test_stage_default_basedir[a] PASSED               [ 98%]
tests/sources/tar.py::test_stage_default_basedir[./a] PASSED             [ 98%]
tests/sources/tar.py::test_stage_no_basedir[a] PASSED                    [ 98%]
tests/sources/tar.py::test_stage_no_basedir[./a] PASSED                  [ 98%]
tests/sources/tar.py::test_stage_explicit_basedir[a] PASSED              [ 98%]
tests/sources/tar.py::test_stage_explicit_basedir[./a] PASSED            [ 98%]
tests/sources/tar.py::test_stage_contains_links PASSED                   [ 98%]
tests/sources/tar.py::test_stage_default_basedir_lzip[a] PASSED          [ 98%]
tests/sources/tar.py::test_stage_default_basedir_lzip[./a] PASSED        [ 98%]
tests/sources/tar.py::test_read_only_dir PASSED                          [ 98%]
tests/sources/tar.py::test_use_netrc[FTP] PASSED                         [ 98%]
tests/sources/tar.py::test_use_netrc[HTTP] PASSED                        [ 99%]
tests/sources/tar.py::test_netrc_already_specified_user[FTP] PASSED      [ 99%]
tests/sources/tar.py::test_netrc_already_specified_user[HTTP] PASSED     [ 99%]
tests/sources/tar.py::test_homeless_environment PASSED                   [ 99%]
tests/sources/zip.py::test_no_ref PASSED                                 [ 99%]
tests/sources/zip.py::test_fetch_bad_url PASSED                          [ 99%]
tests/sources/zip.py::test_fetch_bad_ref PASSED                          [ 99%]
tests/sources/zip.py::test_track_warning PASSED                          [ 99%]
tests/sources/zip.py::test_stage_default_basedir PASSED                  [ 99%]
tests/sources/zip.py::test_stage_no_basedir PASSED                       [ 99%]
tests/sources/zip.py::test_stage_explicit_basedir PASSED                 [ 99%]
tests/sources/zip.py::test_use_netrc[FTP] PASSED                         [ 99%]
tests/sources/zip.py::test_use_netrc[HTTP] PASSED                        [100%]

=================================== FAILURES ===================================
_________ test_build_track[track_targets0-exceptions0-tracked0-inline] _________

cli = <tests.testutils.runcli.Cli object at 0x7f70cc95bbe0>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0')
ref_storage = 'inline', track_targets = ['0.bst'], exceptions = []
tracked = ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', ...]

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
    @pytest.mark.parametrize("track_targets,exceptions,tracked", [
        # Test with no exceptions
        (['0.bst'], [], ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
        (['3.bst'], [], ['3.bst', '4.bst', '5.bst', '6.bst']),
        (['2.bst', '3.bst'], [], ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
    
        # Test excepting '2.bst'
        (['0.bst'], ['2.bst'], ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']),
        (['3.bst'], ['2.bst'], []),
        (['2.bst', '3.bst'], ['2.bst'], ['3.bst', '4.bst', '5.bst', '6.bst']),
    
        # Test excepting '2.bst' and '3.bst'
        (['0.bst'], ['2.bst', '3.bst'], ['0.bst']),
        (['3.bst'], ['2.bst', '3.bst'], []),
        (['2.bst', '3.bst'], ['2.bst', '3.bst'], [])
    ])
    def test_build_track(cli, datafiles, tmpdir, ref_storage,
                         track_targets, exceptions, tracked):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        configure_project(project, {
            'ref-storage': ref_storage
        })
    
        create_elements = {
            '0.bst': [
                '2.bst',
                '3.bst'
            ],
            '2.bst': [
                '3.bst',
                '7.bst'
            ],
            '3.bst': [
                '4.bst',
                '5.bst',
                '6.bst'
            ],
            '4.bst': [],
            '5.bst': [],
            '6.bst': [
                '5.bst'
            ],
            '7.bst': []
        }
    
        initial_project_refs = {}
        for element, dependencies in create_elements.items():
            # Test the element inconsistency resolution by ensuring that
            # only elements that aren't tracked have refs
            if element in set(tracked):
                # Elements which should not have a ref set
                #
                create_element(repo, element, element_path, dependencies)
            elif ref_storage == 'project.refs':
                # Store a ref in project.refs
                #
                create_element(repo, element, element_path, dependencies)
                initial_project_refs[element] = [{'ref': ref}]
            else:
                # Store a ref in the element itself
                #
                create_element(repo, element, element_path, dependencies, ref=ref)
    
        # Generate initial project.refs
        if ref_storage == 'project.refs':
            project_refs = {
                'projects': {
                    'test': initial_project_refs
                }
            }
            _yaml.dump(project_refs, os.path.join(project, 'project.refs'))
    
        args = ['build']
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track'), track_targets))
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track-except'), exceptions))
        args += ['0.bst']
    
        result = cli.run(project=project, silent=True, args=args)
        result.assert_success()
        tracked_elements = result.get_tracked_elements()
    
        assert set(tracked_elements) == set(tracked)
    
        # Delete element sources
        source_dir = os.path.join(project, 'cache', 'sources')
        shutil.rmtree(source_dir)
    
        # Delete artifacts one by one and assert element states
        for target in set(tracked):
>           cli.remove_artifact_from_cache(project, target)

tests/frontend/buildtrack.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70cc95bbe0>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0'
element_name = '5.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0 build --track 0.bst 0.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:56:30
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0)
  Targets:       0.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
no reference ???????????????????????????????????????????????????????????????? 4.bst 
no reference ???????????????????????????????????????????????????????????????? 5.bst 
no reference ???????????????????????????????????????????????????????????????? 6.bst 
no reference ???????????????????????????????????????????????????????????????? 3.bst 
no reference ???????????????????????????????????????????????????????????????? 7.bst 
no reference ???????????????????????????????????????????????????????????????? 2.bst 
no reference ???????????????????????????????????????????????????????????????? 0.bst 
===============================================================================
[--:--:--][????????][track:6.bst                         ] START   test/6/????????-track.6147.log
[--:--:--][????????][track:4.bst                         ] START   test/4/????????-track.6145.log
[--:--:--][????????][track:6.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:3.bst                         ] START   test/3/????????-track.6148.log
[--:--:--][????????][track:3.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:4.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:5.bst                         ] START   test/5/????????-track.6146.log
[--:--:--][????????][track:2.bst                         ] START   test/2/????????-track.6150.log
[--:--:--][????????][track:2.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:5.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:7.bst                         ] START   test/7/????????-track.6149.log
[--:--:--][????????][track:7.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:0.bst                         ] START   test/0/????????-track.6151.log
[--:--:--][????????][track:0.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[00:00:00][????????][track:2.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:2.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:2.bst                         ] SUCCESS test/2/????????-track.6150.log
[00:00:00][????????][track:4.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:4.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:4.bst                         ] SUCCESS test/4/????????-track.6145.log
[00:00:00][????????][track:0.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:0.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:0.bst                         ] SUCCESS test/0/????????-track.6151.log
[00:00:00][????????][track:6.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:6.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:6.bst                         ] SUCCESS test/6/????????-track.6147.log
[00:00:00][????????][track:3.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:3.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:3.bst                         ] SUCCESS test/3/????????-track.6148.log
[00:00:00][????????][track:5.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:5.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:5.bst                         ] SUCCESS test/5/????????-track.6146.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:7.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets0/repo
[--:--:--][????????][track:7.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:7.bst                         ] SUCCESS test/7/????????-track.6149.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][c531e851][build:4.bst                         ] START   test/4/c531e851-build.6268.log
[--:--:--][c531e851][build:4.bst                         ] START   Staging sources
[00:00:00][c531e851][build:4.bst                         ] SUCCESS Staging sources
[--:--:--][c531e851][build:4.bst                         ] START   Caching artifact
[00:00:00][c531e851][build:4.bst                         ] SUCCESS Caching artifact
[00:00:00][c531e851][build:4.bst                         ] SUCCESS test/4/c531e851-build.6268.log
[--:--:--][c531e851][build:5.bst                         ] START   test/5/c531e851-build.6276.log
[--:--:--][c531e851][build:5.bst                         ] START   Staging sources
[00:00:00][c531e851][build:5.bst                         ] SUCCESS Staging sources
[--:--:--][c531e851][build:5.bst                         ] START   Caching artifact
[00:00:00][c531e851][build:5.bst                         ] SUCCESS Caching artifact
[00:00:00][c531e851][build:5.bst                         ] SUCCESS test/5/c531e851-build.6276.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][c531e851][build:7.bst                         ] START   test/7/c531e851-build.6298.log
[--:--:--][c531e851][build:7.bst                         ] START   Staging sources
[--:--:--][645ce5fe][build:6.bst                         ] START   test/6/645ce5fe-build.6300.log
[--:--:--][645ce5fe][build:6.bst                         ] START   Staging sources
[00:00:00][c531e851][build:7.bst                         ] SUCCESS Staging sources
[--:--:--][c531e851][build:7.bst                         ] START   Caching artifact
[00:00:00][645ce5fe][build:6.bst                         ] SUCCESS Staging sources
[00:00:00][c531e851][build:7.bst                         ] SUCCESS Caching artifact
[00:00:00][c531e851][build:7.bst                         ] SUCCESS test/7/c531e851-build.6298.log
[--:--:--][645ce5fe][build:6.bst                         ] START   Caching artifact
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][645ce5fe][build:6.bst                         ] SUCCESS Caching artifact
[00:00:00][645ce5fe][build:6.bst                         ] SUCCESS test/6/645ce5fe-build.6300.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][09e389f6][build:3.bst                         ] START   test/3/09e389f6-build.6312.log
[--:--:--][09e389f6][build:3.bst                         ] START   Staging sources
[00:00:00][09e389f6][build:3.bst                         ] SUCCESS Staging sources
[--:--:--][09e389f6][build:3.bst                         ] START   Caching artifact
[00:00:00][09e389f6][build:3.bst                         ] SUCCESS Caching artifact
[00:00:00][09e389f6][build:3.bst                         ] SUCCESS test/3/09e389f6-build.6312.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][6ca39592][build:2.bst                         ] START   test/2/6ca39592-build.6319.log
[--:--:--][6ca39592][build:2.bst                         ] START   Staging sources
[00:00:00][6ca39592][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][6ca39592][build:2.bst                         ] START   Caching artifact
[00:00:00][6ca39592][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][6ca39592][build:2.bst                         ] SUCCESS test/2/6ca39592-build.6319.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][7ab9b182][build:0.bst                         ] START   test/0/7ab9b182-build.6326.log
[--:--:--][7ab9b182][build:0.bst                         ] START   Staging sources
[00:00:00][7ab9b182][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][7ab9b182][build:0.bst                         ] START   Caching artifact
[00:00:00][7ab9b182][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][7ab9b182][build:0.bst                         ] SUCCESS test/0/7ab9b182-build.6326.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:01][][] SUCCESS Build

Resolved key Summary
      cached 7ab9b1824e32df1c8f3326fc7ca6470985f7d43903ba4ccecc38a288ca954488 0.bst 
      cached 6ca3959226b73d03c5c6deb6c44d84598bbc5d0e9287c7bd45a9cb45a04a386d 2.bst 
      cached 09e389f6bcbae6484cfaf783915e8b3067e840fa80e141bc2bc9510d6a5b51b4 3.bst 
      cached c531e8513c7070d13cd64d0112b15a8cc3087e9eb32fcf7791390195012a3743 4.bst 
      cached c531e8513c7070d13cd64d0112b15a8cc3087e9eb32fcf7791390195012a3743 5.bst 
      cached 645ce5fe6c3479fdc3732d66b12bd00bbf17eae2e12da585356effee8e2318ed 6.bst 
      cached c531e8513c7070d13cd64d0112b15a8cc3087e9eb32fcf7791390195012a3743 7.bst 

Pipeline Summary
  Total:       7
  Session:     7
  Track Queue: processed 7, skipped 0, failed 0 
  Fetch Queue: processed 0, skipped 7, failed 0 
  Build Queue: processed 7, skipped 0, failed 0 

______ test_build_track[track_targets0-exceptions0-tracked0-project.refs] ______

cli = <tests.testutils.runcli.Cli object at 0x7f70cd0d9400>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1')
ref_storage = 'project.refs', track_targets = ['0.bst'], exceptions = []
tracked = ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', ...]

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
    @pytest.mark.parametrize("track_targets,exceptions,tracked", [
        # Test with no exceptions
        (['0.bst'], [], ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
        (['3.bst'], [], ['3.bst', '4.bst', '5.bst', '6.bst']),
        (['2.bst', '3.bst'], [], ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
    
        # Test excepting '2.bst'
        (['0.bst'], ['2.bst'], ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']),
        (['3.bst'], ['2.bst'], []),
        (['2.bst', '3.bst'], ['2.bst'], ['3.bst', '4.bst', '5.bst', '6.bst']),
    
        # Test excepting '2.bst' and '3.bst'
        (['0.bst'], ['2.bst', '3.bst'], ['0.bst']),
        (['3.bst'], ['2.bst', '3.bst'], []),
        (['2.bst', '3.bst'], ['2.bst', '3.bst'], [])
    ])
    def test_build_track(cli, datafiles, tmpdir, ref_storage,
                         track_targets, exceptions, tracked):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        configure_project(project, {
            'ref-storage': ref_storage
        })
    
        create_elements = {
            '0.bst': [
                '2.bst',
                '3.bst'
            ],
            '2.bst': [
                '3.bst',
                '7.bst'
            ],
            '3.bst': [
                '4.bst',
                '5.bst',
                '6.bst'
            ],
            '4.bst': [],
            '5.bst': [],
            '6.bst': [
                '5.bst'
            ],
            '7.bst': []
        }
    
        initial_project_refs = {}
        for element, dependencies in create_elements.items():
            # Test the element inconsistency resolution by ensuring that
            # only elements that aren't tracked have refs
            if element in set(tracked):
                # Elements which should not have a ref set
                #
                create_element(repo, element, element_path, dependencies)
            elif ref_storage == 'project.refs':
                # Store a ref in project.refs
                #
                create_element(repo, element, element_path, dependencies)
                initial_project_refs[element] = [{'ref': ref}]
            else:
                # Store a ref in the element itself
                #
                create_element(repo, element, element_path, dependencies, ref=ref)
    
        # Generate initial project.refs
        if ref_storage == 'project.refs':
            project_refs = {
                'projects': {
                    'test': initial_project_refs
                }
            }
            _yaml.dump(project_refs, os.path.join(project, 'project.refs'))
    
        args = ['build']
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track'), track_targets))
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track-except'), exceptions))
        args += ['0.bst']
    
        result = cli.run(project=project, silent=True, args=args)
        result.assert_success()
        tracked_elements = result.get_tracked_elements()
    
        assert set(tracked_elements) == set(tracked)
    
        # Delete element sources
        source_dir = os.path.join(project, 'cache', 'sources')
        shutil.rmtree(source_dir)
    
        # Delete artifacts one by one and assert element states
        for target in set(tracked):
>           cli.remove_artifact_from_cache(project, target)

tests/frontend/buildtrack.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70cd0d9400>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1'
element_name = '5.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1 build --track 0.bst 0.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] WARNING Ignoring redundant source references

    The following inline specified source references will be ignored:
    
    0.bst [line 6 column 2]:(None, [])
    3.bst [line 7 column 2]:(None, [])
    4.bst [line 4 column 2]:(None, [])
    5.bst [line 4 column 2]:(None, [])
    6.bst [line 5 column 2]:(None, [])
    2.bst [line 6 column 2]:(None, [])
    7.bst [line 4 column 2]:(None, [])

[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:56:31
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1)
  Targets:       0.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
no reference ???????????????????????????????????????????????????????????????? 4.bst 
no reference ???????????????????????????????????????????????????????????????? 5.bst 
no reference ???????????????????????????????????????????????????????????????? 6.bst 
no reference ???????????????????????????????????????????????????????????????? 3.bst 
no reference ???????????????????????????????????????????????????????????????? 7.bst 
no reference ???????????????????????????????????????????????????????????????? 2.bst 
no reference ???????????????????????????????????????????????????????????????? 0.bst 
===============================================================================
[--:--:--][????????][track:5.bst                         ] START   test/5/????????-track.6342.log
[--:--:--][????????][track:5.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:4.bst                         ] START   test/4/????????-track.6341.log
[--:--:--][????????][track:3.bst                         ] START   test/3/????????-track.6344.log
[--:--:--][????????][track:4.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:6.bst                         ] START   test/6/????????-track.6343.log
[--:--:--][????????][track:3.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:6.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:7.bst                         ] START   test/7/????????-track.6345.log
[--:--:--][????????][track:2.bst                         ] START   test/2/????????-track.6346.log
[--:--:--][????????][track:2.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:7.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:0.bst                         ] START   test/0/????????-track.6349.log
[--:--:--][????????][track:0.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[00:00:00][????????][track:5.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:5.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:5.bst                         ] SUCCESS test/5/????????-track.6342.log
[00:00:00][????????][track:3.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:3.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:3.bst                         ] SUCCESS test/3/????????-track.6344.log
[00:00:00][????????][track:4.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:4.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:4.bst                         ] SUCCESS test/4/????????-track.6341.log
[00:00:00][????????][track:7.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:7.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:7.bst                         ] SUCCESS test/7/????????-track.6345.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:6.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:6.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:6.bst                         ] SUCCESS test/6/????????-track.6343.log
[00:00:00][????????][track:2.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:2.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:2.bst                         ] SUCCESS test/2/????????-track.6346.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:0.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets1/repo
[--:--:--][????????][track:0.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:0.bst                         ] SUCCESS test/0/????????-track.6349.log
[--:--:--][ce84722b][build:5.bst                         ] START   test/5/ce84722b-build.6467.log
[--:--:--][ce84722b][build:5.bst                         ] START   Staging sources
[00:00:00][ce84722b][build:5.bst                         ] SUCCESS Staging sources
[--:--:--][ce84722b][build:5.bst                         ] START   Caching artifact
[00:00:00][ce84722b][build:5.bst                         ] SUCCESS Caching artifact
[00:00:00][ce84722b][build:5.bst                         ] SUCCESS test/5/ce84722b-build.6467.log
[--:--:--][ce84722b][build:7.bst                         ] START   test/7/ce84722b-build.6486.log
[--:--:--][ce84722b][build:7.bst                         ] START   Staging sources
[00:00:00][ce84722b][build:7.bst                         ] SUCCESS Staging sources
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][ce84722b][build:7.bst                         ] START   Caching artifact
[00:00:00][ce84722b][build:7.bst                         ] SUCCESS Caching artifact
[00:00:00][ce84722b][build:7.bst                         ] SUCCESS test/7/ce84722b-build.6486.log
[--:--:--][d6ab7023][build:6.bst                         ] START   test/6/d6ab7023-build.6501.log
[--:--:--][d6ab7023][build:6.bst                         ] START   Staging sources
[00:00:00][d6ab7023][build:6.bst                         ] SUCCESS Staging sources
[--:--:--][ce84722b][build:4.bst                         ] START   test/4/ce84722b-build.6508.log
[--:--:--][ce84722b][build:4.bst                         ] START   Staging sources
[--:--:--][d6ab7023][build:6.bst                         ] START   Caching artifact
[00:00:00][d6ab7023][build:6.bst                         ] SUCCESS Caching artifact
[00:00:00][d6ab7023][build:6.bst                         ] SUCCESS test/6/d6ab7023-build.6501.log
[00:00:00][ce84722b][build:4.bst                         ] SUCCESS Staging sources
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][ce84722b][build:4.bst                         ] START   Caching artifact
[00:00:00][ce84722b][build:4.bst                         ] SUCCESS Caching artifact
[00:00:00][ce84722b][build:4.bst                         ] SUCCESS test/4/ce84722b-build.6508.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][3ffccd07][build:3.bst                         ] START   test/3/3ffccd07-build.6519.log
[--:--:--][3ffccd07][build:3.bst                         ] START   Staging sources
[00:00:00][3ffccd07][build:3.bst                         ] SUCCESS Staging sources
[--:--:--][3ffccd07][build:3.bst                         ] START   Caching artifact
[00:00:00][3ffccd07][build:3.bst                         ] SUCCESS Caching artifact
[00:00:00][3ffccd07][build:3.bst                         ] SUCCESS test/3/3ffccd07-build.6519.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][40f2058e][build:2.bst                         ] START   test/2/40f2058e-build.6526.log
[--:--:--][40f2058e][build:2.bst                         ] START   Staging sources
[00:00:00][40f2058e][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][40f2058e][build:2.bst                         ] START   Caching artifact
[00:00:00][40f2058e][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][40f2058e][build:2.bst                         ] SUCCESS test/2/40f2058e-build.6526.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][309eb28b][build:0.bst                         ] START   test/0/309eb28b-build.6533.log
[--:--:--][309eb28b][build:0.bst                         ] START   Staging sources
[00:00:00][309eb28b][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][309eb28b][build:0.bst                         ] START   Caching artifact
[00:00:00][309eb28b][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][309eb28b][build:0.bst                         ] SUCCESS test/0/309eb28b-build.6533.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:01][][] SUCCESS Build

Resolved key Summary
      cached 309eb28be5f79d1f384b6339251d65072b7ee6a3ef286ee097be3bde509a7db5 0.bst 
      cached 40f2058e7527f0992dded8cd59f9bf98cd4f9e75d554357377517aa888f59f86 2.bst 
      cached 3ffccd07bc5b9401d02fd6da29600ebe6e6ed15cc1f2a580fa9d790ae7c4eb7c 3.bst 
      cached ce84722b7c40ca7b090713ad40d612afa8759677d9558994988a8a8b330fab18 4.bst 
      cached ce84722b7c40ca7b090713ad40d612afa8759677d9558994988a8a8b330fab18 5.bst 
      cached d6ab70236a364ef401c8a076abbf2d645e1802523f99304773654e0d9fde5023 6.bst 
      cached ce84722b7c40ca7b090713ad40d612afa8759677d9558994988a8a8b330fab18 7.bst 

Pipeline Summary
  Total:       7
  Session:     7
  Track Queue: processed 7, skipped 0, failed 0 
  Fetch Queue: processed 0, skipped 7, failed 0 
  Build Queue: processed 7, skipped 0, failed 0 

_________ test_build_track[track_targets1-exceptions1-tracked1-inline] _________

cli = <tests.testutils.runcli.Cli object at 0x7f70ccd31be0>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2')
ref_storage = 'inline', track_targets = ['3.bst'], exceptions = []
tracked = ['3.bst', '4.bst', '5.bst', '6.bst']

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
    @pytest.mark.parametrize("track_targets,exceptions,tracked", [
        # Test with no exceptions
        (['0.bst'], [], ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
        (['3.bst'], [], ['3.bst', '4.bst', '5.bst', '6.bst']),
        (['2.bst', '3.bst'], [], ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
    
        # Test excepting '2.bst'
        (['0.bst'], ['2.bst'], ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']),
        (['3.bst'], ['2.bst'], []),
        (['2.bst', '3.bst'], ['2.bst'], ['3.bst', '4.bst', '5.bst', '6.bst']),
    
        # Test excepting '2.bst' and '3.bst'
        (['0.bst'], ['2.bst', '3.bst'], ['0.bst']),
        (['3.bst'], ['2.bst', '3.bst'], []),
        (['2.bst', '3.bst'], ['2.bst', '3.bst'], [])
    ])
    def test_build_track(cli, datafiles, tmpdir, ref_storage,
                         track_targets, exceptions, tracked):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        configure_project(project, {
            'ref-storage': ref_storage
        })
    
        create_elements = {
            '0.bst': [
                '2.bst',
                '3.bst'
            ],
            '2.bst': [
                '3.bst',
                '7.bst'
            ],
            '3.bst': [
                '4.bst',
                '5.bst',
                '6.bst'
            ],
            '4.bst': [],
            '5.bst': [],
            '6.bst': [
                '5.bst'
            ],
            '7.bst': []
        }
    
        initial_project_refs = {}
        for element, dependencies in create_elements.items():
            # Test the element inconsistency resolution by ensuring that
            # only elements that aren't tracked have refs
            if element in set(tracked):
                # Elements which should not have a ref set
                #
                create_element(repo, element, element_path, dependencies)
            elif ref_storage == 'project.refs':
                # Store a ref in project.refs
                #
                create_element(repo, element, element_path, dependencies)
                initial_project_refs[element] = [{'ref': ref}]
            else:
                # Store a ref in the element itself
                #
                create_element(repo, element, element_path, dependencies, ref=ref)
    
        # Generate initial project.refs
        if ref_storage == 'project.refs':
            project_refs = {
                'projects': {
                    'test': initial_project_refs
                }
            }
            _yaml.dump(project_refs, os.path.join(project, 'project.refs'))
    
        args = ['build']
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track'), track_targets))
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track-except'), exceptions))
        args += ['0.bst']
    
        result = cli.run(project=project, silent=True, args=args)
        result.assert_success()
        tracked_elements = result.get_tracked_elements()
    
        assert set(tracked_elements) == set(tracked)
    
        # Delete element sources
        source_dir = os.path.join(project, 'cache', 'sources')
        shutil.rmtree(source_dir)
    
        # Delete artifacts one by one and assert element states
        for target in set(tracked):
>           cli.remove_artifact_from_cache(project, target)

tests/frontend/buildtrack.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70ccd31be0>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2'
element_name = '6.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2 build --track 3.bst 0.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:56:32
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2)
  Targets:       0.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
no reference ???????????????????????????????????????????????????????????????? 4.bst 
no reference ???????????????????????????????????????????????????????????????? 5.bst 
no reference ???????????????????????????????????????????????????????????????? 6.bst 
no reference ???????????????????????????????????????????????????????????????? 3.bst 
fetch needed b58939eab1cc32f8b70a65a97d7842324b106847f41872d75f39279a73b16895 7.bst 
fetch needed ???????????????????????????????????????????????????????????????? 2.bst 
fetch needed ???????????????????????????????????????????????????????????????? 0.bst 
===============================================================================
[--:--:--][b58939ea][fetch:7.bst                         ] START   test/7/b58939ea-fetch.6548.log
[--:--:--][b58939ea][fetch:7.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/repo
[--:--:--][????????][track:5.bst                         ] START   test/5/????????-track.6550.log
[--:--:--][????????][track:5.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/repo
[--:--:--][????????][track:4.bst                         ] START   test/4/????????-track.6549.log
[--:--:--][????????][track:4.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/repo
[--:--:--][????????][track:6.bst                         ] START   test/6/????????-track.6552.log
[--:--:--][????????][track:6.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/repo
[--:--:--][????????][track:3.bst                         ] START   test/3/????????-track.6553.log
[--:--:--][????????][track:3.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/repo
[00:00:00][b58939ea][fetch:7.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/repo
[00:00:00][b58939ea][fetch:7.bst                         ] SUCCESS test/7/b58939ea-fetch.6548.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:4.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/repo
[--:--:--][????????][track:4.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:4.bst                         ] SUCCESS test/4/????????-track.6549.log
[00:00:00][????????][track:5.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/repo
[--:--:--][????????][track:5.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:5.bst                         ] SUCCESS test/5/????????-track.6550.log
[00:00:00][????????][track:6.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/repo
[--:--:--][????????][track:6.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:6.bst                         ] SUCCESS test/6/????????-track.6552.log
[00:00:00][????????][track:3.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets2/repo
[--:--:--][????????][track:3.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:3.bst                         ] SUCCESS test/3/????????-track.6553.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][b58939ea][build:7.bst                         ] START   test/7/b58939ea-build.6641.log
[--:--:--][b58939ea][build:7.bst                         ] START   Staging sources
[00:00:00][b58939ea][build:7.bst                         ] SUCCESS Staging sources
[--:--:--][b58939ea][build:7.bst                         ] START   Caching artifact
[00:00:00][b58939ea][build:7.bst                         ] SUCCESS Caching artifact
[00:00:00][b58939ea][build:7.bst                         ] SUCCESS test/7/b58939ea-build.6641.log
[--:--:--][b58939ea][build:4.bst                         ] START   test/4/b58939ea-build.6649.log
[--:--:--][b58939ea][build:4.bst                         ] START   Staging sources
[00:00:00][b58939ea][build:4.bst                         ] SUCCESS Staging sources
[--:--:--][b58939ea][build:4.bst                         ] START   Caching artifact
[00:00:00][b58939ea][build:4.bst                         ] SUCCESS Caching artifact
[00:00:00][b58939ea][build:4.bst                         ] SUCCESS test/4/b58939ea-build.6649.log
[--:--:--][b58939ea][build:5.bst                         ] START   test/5/b58939ea-build.6658.log
[--:--:--][b58939ea][build:5.bst                         ] START   Staging sources
[00:00:00][b58939ea][build:5.bst                         ] SUCCESS Staging sources
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][b58939ea][build:5.bst                         ] START   Caching artifact
[00:00:00][b58939ea][build:5.bst                         ] SUCCESS Caching artifact
[00:00:00][b58939ea][build:5.bst                         ] SUCCESS test/5/b58939ea-build.6658.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][d10e4503][build:6.bst                         ] START   test/6/d10e4503-build.6678.log
[--:--:--][d10e4503][build:6.bst                         ] START   Staging sources
[00:00:00][d10e4503][build:6.bst                         ] SUCCESS Staging sources
[--:--:--][d10e4503][build:6.bst                         ] START   Caching artifact
[00:00:00][d10e4503][build:6.bst                         ] SUCCESS Caching artifact
[00:00:00][d10e4503][build:6.bst                         ] SUCCESS test/6/d10e4503-build.6678.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][0b6c1945][build:3.bst                         ] START   test/3/0b6c1945-build.6685.log
[--:--:--][0b6c1945][build:3.bst                         ] START   Staging sources
[00:00:00][0b6c1945][build:3.bst                         ] SUCCESS Staging sources
[--:--:--][0b6c1945][build:3.bst                         ] START   Caching artifact
[00:00:00][0b6c1945][build:3.bst                         ] SUCCESS Caching artifact
[00:00:00][0b6c1945][build:3.bst                         ] SUCCESS test/3/0b6c1945-build.6685.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][25a4be5f][build:2.bst                         ] START   test/2/25a4be5f-build.6692.log
[--:--:--][25a4be5f][build:2.bst                         ] START   Staging sources
[00:00:00][25a4be5f][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][25a4be5f][build:2.bst                         ] START   Caching artifact
[00:00:00][25a4be5f][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][25a4be5f][build:2.bst                         ] SUCCESS test/2/25a4be5f-build.6692.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][2ba17dbb][build:0.bst                         ] START   test/0/2ba17dbb-build.6699.log
[--:--:--][2ba17dbb][build:0.bst                         ] START   Staging sources
[00:00:00][2ba17dbb][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][2ba17dbb][build:0.bst                         ] START   Caching artifact
[00:00:00][2ba17dbb][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][2ba17dbb][build:0.bst                         ] SUCCESS test/0/2ba17dbb-build.6699.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:01][][] SUCCESS Build

Resolved key Summary
      cached 2ba17dbb93ce1f980d994c98f758c44581d7fe32b7f7f77e3f3d7fc56d32ba3c 0.bst 
      cached 25a4be5fed4886e6aee80216ff98cae2eafe33b91481581b4aa83b795c6120ab 2.bst 
      cached 0b6c1945e0902ccf48cd5172e606499d4e75ad1d6586e2489aa2a26a09260a1c 3.bst 
      cached b58939eab1cc32f8b70a65a97d7842324b106847f41872d75f39279a73b16895 4.bst 
      cached b58939eab1cc32f8b70a65a97d7842324b106847f41872d75f39279a73b16895 5.bst 
      cached d10e4503168b5e0779796de69b2f5fd7671ef6be59344fe14cbbcc40cfa7a8ec 6.bst 

Pipeline Summary
  Total:       7
  Session:     7
  Track Queue: processed 4, skipped 0, failed 0 
  Fetch Queue: processed 1, skipped 6, failed 0 
  Build Queue: processed 7, skipped 0, failed 0 

______ test_build_track[track_targets1-exceptions1-tracked1-project.refs] ______

cli = <tests.testutils.runcli.Cli object at 0x7f70cc862fd0>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3')
ref_storage = 'project.refs', track_targets = ['3.bst'], exceptions = []
tracked = ['3.bst', '4.bst', '5.bst', '6.bst']

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
    @pytest.mark.parametrize("track_targets,exceptions,tracked", [
        # Test with no exceptions
        (['0.bst'], [], ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
        (['3.bst'], [], ['3.bst', '4.bst', '5.bst', '6.bst']),
        (['2.bst', '3.bst'], [], ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
    
        # Test excepting '2.bst'
        (['0.bst'], ['2.bst'], ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']),
        (['3.bst'], ['2.bst'], []),
        (['2.bst', '3.bst'], ['2.bst'], ['3.bst', '4.bst', '5.bst', '6.bst']),
    
        # Test excepting '2.bst' and '3.bst'
        (['0.bst'], ['2.bst', '3.bst'], ['0.bst']),
        (['3.bst'], ['2.bst', '3.bst'], []),
        (['2.bst', '3.bst'], ['2.bst', '3.bst'], [])
    ])
    def test_build_track(cli, datafiles, tmpdir, ref_storage,
                         track_targets, exceptions, tracked):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        configure_project(project, {
            'ref-storage': ref_storage
        })
    
        create_elements = {
            '0.bst': [
                '2.bst',
                '3.bst'
            ],
            '2.bst': [
                '3.bst',
                '7.bst'
            ],
            '3.bst': [
                '4.bst',
                '5.bst',
                '6.bst'
            ],
            '4.bst': [],
            '5.bst': [],
            '6.bst': [
                '5.bst'
            ],
            '7.bst': []
        }
    
        initial_project_refs = {}
        for element, dependencies in create_elements.items():
            # Test the element inconsistency resolution by ensuring that
            # only elements that aren't tracked have refs
            if element in set(tracked):
                # Elements which should not have a ref set
                #
                create_element(repo, element, element_path, dependencies)
            elif ref_storage == 'project.refs':
                # Store a ref in project.refs
                #
                create_element(repo, element, element_path, dependencies)
                initial_project_refs[element] = [{'ref': ref}]
            else:
                # Store a ref in the element itself
                #
                create_element(repo, element, element_path, dependencies, ref=ref)
    
        # Generate initial project.refs
        if ref_storage == 'project.refs':
            project_refs = {
                'projects': {
                    'test': initial_project_refs
                }
            }
            _yaml.dump(project_refs, os.path.join(project, 'project.refs'))
    
        args = ['build']
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track'), track_targets))
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track-except'), exceptions))
        args += ['0.bst']
    
        result = cli.run(project=project, silent=True, args=args)
        result.assert_success()
        tracked_elements = result.get_tracked_elements()
    
        assert set(tracked_elements) == set(tracked)
    
        # Delete element sources
        source_dir = os.path.join(project, 'cache', 'sources')
        shutil.rmtree(source_dir)
    
        # Delete artifacts one by one and assert element states
        for target in set(tracked):
>           cli.remove_artifact_from_cache(project, target)

tests/frontend/buildtrack.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70cc862fd0>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3'
element_name = '6.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3 build --track 3.bst 0.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] WARNING Ignoring redundant source references

    The following inline specified source references will be ignored:
    
    0.bst [line 6 column 2]:(None, [])
    3.bst [line 7 column 2]:(None, [])
    4.bst [line 4 column 2]:(None, [])
    5.bst [line 4 column 2]:(None, [])
    6.bst [line 5 column 2]:(None, [])
    2.bst [line 6 column 2]:(None, [])
    7.bst [line 4 column 2]:(None, [])

[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:56:34
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3)
  Targets:       0.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
no reference ???????????????????????????????????????????????????????????????? 4.bst 
no reference ???????????????????????????????????????????????????????????????? 5.bst 
no reference ???????????????????????????????????????????????????????????????? 6.bst 
no reference ???????????????????????????????????????????????????????????????? 3.bst 
fetch needed b7188126e33ea9719a9d9c77d463d239689953f78362d84c0606db99dabfdbb2 7.bst 
fetch needed ???????????????????????????????????????????????????????????????? 2.bst 
fetch needed ???????????????????????????????????????????????????????????????? 0.bst 
===============================================================================
[--:--:--][b7188126][fetch:7.bst                         ] START   test/7/b7188126-fetch.6714.log
[--:--:--][b7188126][fetch:7.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/repo
[--:--:--][????????][track:5.bst                         ] START   test/5/????????-track.6716.log
[--:--:--][????????][track:5.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/repo
[--:--:--][????????][track:4.bst                         ] START   test/4/????????-track.6715.log
[--:--:--][????????][track:4.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/repo
[--:--:--][????????][track:6.bst                         ] START   test/6/????????-track.6717.log
[--:--:--][????????][track:6.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/repo
[--:--:--][????????][track:3.bst                         ] START   test/3/????????-track.6719.log
[--:--:--][????????][track:3.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/repo
[00:00:00][b7188126][fetch:7.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/repo
[00:00:00][b7188126][fetch:7.bst                         ] SUCCESS test/7/b7188126-fetch.6714.log
[00:00:00][????????][track:5.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/repo
[--:--:--][????????][track:5.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:5.bst                         ] SUCCESS test/5/????????-track.6716.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:4.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/repo
[--:--:--][????????][track:4.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:4.bst                         ] SUCCESS test/4/????????-track.6715.log
[00:00:00][????????][track:6.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/repo
[--:--:--][????????][track:6.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:6.bst                         ] SUCCESS test/6/????????-track.6717.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:3.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets3/repo
[--:--:--][????????][track:3.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:3.bst                         ] SUCCESS test/3/????????-track.6719.log
[--:--:--][b7188126][build:7.bst                         ] START   test/7/b7188126-build.6792.log
[--:--:--][b7188126][build:7.bst                         ] START   Staging sources
[00:00:00][b7188126][build:7.bst                         ] SUCCESS Staging sources
[--:--:--][b7188126][build:7.bst                         ] START   Caching artifact
[00:00:00][b7188126][build:7.bst                         ] SUCCESS Caching artifact
[00:00:00][b7188126][build:7.bst                         ] SUCCESS test/7/b7188126-build.6792.log
[--:--:--][b7188126][build:4.bst                         ] START   test/4/b7188126-build.6800.log
[--:--:--][b7188126][build:4.bst                         ] START   Staging sources
[00:00:00][b7188126][build:4.bst                         ] SUCCESS Staging sources
[--:--:--][b7188126][build:4.bst                         ] START   Caching artifact
[00:00:00][b7188126][build:4.bst                         ] SUCCESS Caching artifact
[00:00:00][b7188126][build:4.bst                         ] SUCCESS test/4/b7188126-build.6800.log
[--:--:--][b7188126][build:5.bst                         ] START   test/5/b7188126-build.6809.log
[--:--:--][b7188126][build:5.bst                         ] START   Staging sources
[00:00:00][b7188126][build:5.bst                         ] SUCCESS Staging sources
[--:--:--][b7188126][build:5.bst                         ] START   Caching artifact
[00:00:00][b7188126][build:5.bst                         ] SUCCESS Caching artifact
[00:00:00][b7188126][build:5.bst                         ] SUCCESS test/5/b7188126-build.6809.log
[--:--:--][f57e29ff][build:6.bst                         ] START   test/6/f57e29ff-build.6830.log
[--:--:--][f57e29ff][build:6.bst                         ] START   Staging sources
[00:00:00][f57e29ff][build:6.bst                         ] SUCCESS Staging sources
[--:--:--][f57e29ff][build:6.bst                         ] START   Caching artifact
[00:00:00][f57e29ff][build:6.bst                         ] SUCCESS Caching artifact
[00:00:00][f57e29ff][build:6.bst                         ] SUCCESS test/6/f57e29ff-build.6830.log
[--:--:--][f1398d84][build:3.bst                         ] START   test/3/f1398d84-build.6837.log
[--:--:--][f1398d84][build:3.bst                         ] START   Staging sources
[00:00:00][f1398d84][build:3.bst                         ] SUCCESS Staging sources
[--:--:--][f1398d84][build:3.bst                         ] START   Caching artifact
[00:00:00][f1398d84][build:3.bst                         ] SUCCESS Caching artifact
[00:00:00][f1398d84][build:3.bst                         ] SUCCESS test/3/f1398d84-build.6837.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][a419b706][build:2.bst                         ] START   test/2/a419b706-build.6844.log
[--:--:--][a419b706][build:2.bst                         ] START   Staging sources
[00:00:00][a419b706][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][a419b706][build:2.bst                         ] START   Caching artifact
[00:00:00][a419b706][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][a419b706][build:2.bst                         ] SUCCESS test/2/a419b706-build.6844.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][c59309e8][build:0.bst                         ] START   test/0/c59309e8-build.6851.log
[--:--:--][c59309e8][build:0.bst                         ] START   Staging sources
[00:00:00][c59309e8][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][c59309e8][build:0.bst                         ] START   Caching artifact
[00:00:00][c59309e8][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][c59309e8][build:0.bst                         ] SUCCESS test/0/c59309e8-build.6851.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:02][][] SUCCESS Build

Resolved key Summary
      cached c59309e8e88247a96f6d15e26cd83656f890eed0c0840cc4dd2a942b11d7d032 0.bst 
      cached a419b7069b6a46f3e6c7a6f0c6f5983692f5e8455d6d0df552ad70a27a53fc60 2.bst 
      cached f1398d841973fb334999faf8bee32ddd6c6f1fbe72a204755cf4b8796855629e 3.bst 
      cached b7188126e33ea9719a9d9c77d463d239689953f78362d84c0606db99dabfdbb2 4.bst 
      cached b7188126e33ea9719a9d9c77d463d239689953f78362d84c0606db99dabfdbb2 5.bst 
      cached f57e29ffaa2f6189622094e684b35dfa2bafb6dc5581aa3ed2fa71a26571c178 6.bst 

Pipeline Summary
  Total:       7
  Session:     7
  Track Queue: processed 4, skipped 0, failed 0 
  Fetch Queue: processed 1, skipped 6, failed 0 
  Build Queue: processed 7, skipped 0, failed 0 

_________ test_build_track[track_targets2-exceptions2-tracked2-inline] _________

cli = <tests.testutils.runcli.Cli object at 0x7f70c64a3dd8>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4')
ref_storage = 'inline', track_targets = ['2.bst', '3.bst'], exceptions = []
tracked = ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
    @pytest.mark.parametrize("track_targets,exceptions,tracked", [
        # Test with no exceptions
        (['0.bst'], [], ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
        (['3.bst'], [], ['3.bst', '4.bst', '5.bst', '6.bst']),
        (['2.bst', '3.bst'], [], ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
    
        # Test excepting '2.bst'
        (['0.bst'], ['2.bst'], ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']),
        (['3.bst'], ['2.bst'], []),
        (['2.bst', '3.bst'], ['2.bst'], ['3.bst', '4.bst', '5.bst', '6.bst']),
    
        # Test excepting '2.bst' and '3.bst'
        (['0.bst'], ['2.bst', '3.bst'], ['0.bst']),
        (['3.bst'], ['2.bst', '3.bst'], []),
        (['2.bst', '3.bst'], ['2.bst', '3.bst'], [])
    ])
    def test_build_track(cli, datafiles, tmpdir, ref_storage,
                         track_targets, exceptions, tracked):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        configure_project(project, {
            'ref-storage': ref_storage
        })
    
        create_elements = {
            '0.bst': [
                '2.bst',
                '3.bst'
            ],
            '2.bst': [
                '3.bst',
                '7.bst'
            ],
            '3.bst': [
                '4.bst',
                '5.bst',
                '6.bst'
            ],
            '4.bst': [],
            '5.bst': [],
            '6.bst': [
                '5.bst'
            ],
            '7.bst': []
        }
    
        initial_project_refs = {}
        for element, dependencies in create_elements.items():
            # Test the element inconsistency resolution by ensuring that
            # only elements that aren't tracked have refs
            if element in set(tracked):
                # Elements which should not have a ref set
                #
                create_element(repo, element, element_path, dependencies)
            elif ref_storage == 'project.refs':
                # Store a ref in project.refs
                #
                create_element(repo, element, element_path, dependencies)
                initial_project_refs[element] = [{'ref': ref}]
            else:
                # Store a ref in the element itself
                #
                create_element(repo, element, element_path, dependencies, ref=ref)
    
        # Generate initial project.refs
        if ref_storage == 'project.refs':
            project_refs = {
                'projects': {
                    'test': initial_project_refs
                }
            }
            _yaml.dump(project_refs, os.path.join(project, 'project.refs'))
    
        args = ['build']
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track'), track_targets))
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track-except'), exceptions))
        args += ['0.bst']
    
        result = cli.run(project=project, silent=True, args=args)
        result.assert_success()
        tracked_elements = result.get_tracked_elements()
    
        assert set(tracked_elements) == set(tracked)
    
        # Delete element sources
        source_dir = os.path.join(project, 'cache', 'sources')
        shutil.rmtree(source_dir)
    
        # Delete artifacts one by one and assert element states
        for target in set(tracked):
>           cli.remove_artifact_from_cache(project, target)

tests/frontend/buildtrack.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70c64a3dd8>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4'
element_name = '5.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4 build --track 2.bst --track 3.bst 0.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:56:36
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4)
  Targets:       0.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
no reference ???????????????????????????????????????????????????????????????? 4.bst 
no reference ???????????????????????????????????????????????????????????????? 5.bst 
no reference ???????????????????????????????????????????????????????????????? 6.bst 
no reference ???????????????????????????????????????????????????????????????? 3.bst 
no reference ???????????????????????????????????????????????????????????????? 7.bst 
no reference ???????????????????????????????????????????????????????????????? 2.bst 
fetch needed ???????????????????????????????????????????????????????????????? 0.bst 
===============================================================================
[--:--:--][????????][track:5.bst                         ] START   test/5/????????-track.6867.log
[--:--:--][????????][track:5.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo
[--:--:--][????????][track:3.bst                         ] START   test/3/????????-track.6869.log
[--:--:--][????????][track:3.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo
[--:--:--][????????][track:4.bst                         ] START   test/4/????????-track.6866.log
[--:--:--][????????][track:4.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo
[--:--:--][????????][track:6.bst                         ] START   test/6/????????-track.6868.log
[--:--:--][????????][track:2.bst                         ] START   test/2/????????-track.6871.log
[--:--:--][????????][track:6.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo
[--:--:--][????????][track:2.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo
[--:--:--][????????][track:7.bst                         ] START   test/7/????????-track.6870.log
[--:--:--][????????][track:7.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo
[00:00:00][????????][track:4.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo
[--:--:--][????????][track:4.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:4.bst                         ] SUCCESS test/4/????????-track.6866.log
[00:00:00][????????][track:3.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo
[--:--:--][????????][track:3.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:3.bst                         ] SUCCESS test/3/????????-track.6869.log
[00:00:00][????????][track:7.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo
[--:--:--][????????][track:7.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:7.bst                         ] SUCCESS test/7/????????-track.6870.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:5.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo
[--:--:--][????????][track:5.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:5.bst                         ] SUCCESS test/5/????????-track.6867.log
[00:00:00][????????][track:2.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo
[--:--:--][????????][track:2.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:2.bst                         ] SUCCESS test/2/????????-track.6871.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:6.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets4/repo
[--:--:--][????????][track:6.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:6.bst                         ] SUCCESS test/6/????????-track.6868.log
[--:--:--][9aae200f][build:7.bst                         ] START   test/7/9aae200f-build.6980.log
[--:--:--][9aae200f][build:7.bst                         ] START   Staging sources
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][9aae200f][build:7.bst                         ] SUCCESS Staging sources
[--:--:--][9aae200f][build:7.bst                         ] START   Caching artifact
[00:00:00][9aae200f][build:7.bst                         ] SUCCESS Caching artifact
[00:00:00][9aae200f][build:7.bst                         ] SUCCESS test/7/9aae200f-build.6980.log
[--:--:--][9aae200f][build:4.bst                         ] START   test/4/9aae200f-build.6995.log
[--:--:--][9aae200f][build:4.bst                         ] START   Staging sources
[00:00:00][9aae200f][build:4.bst                         ] SUCCESS Staging sources
[--:--:--][9aae200f][build:5.bst                         ] START   test/5/9aae200f-build.7003.log
[--:--:--][9aae200f][build:5.bst                         ] START   Staging sources
[--:--:--][9aae200f][build:4.bst                         ] START   Caching artifact
[00:00:00][9aae200f][build:4.bst                         ] SUCCESS Caching artifact
[00:00:00][9aae200f][build:4.bst                         ] SUCCESS test/4/9aae200f-build.6995.log
[00:00:00][9aae200f][build:5.bst                         ] SUCCESS Staging sources
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][9aae200f][build:5.bst                         ] START   Caching artifact
[00:00:00][9aae200f][build:5.bst                         ] SUCCESS Caching artifact
[00:00:00][9aae200f][build:5.bst                         ] SUCCESS test/5/9aae200f-build.7003.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][e4ad8f16][build:6.bst                         ] START   test/6/e4ad8f16-build.7017.log
[--:--:--][e4ad8f16][build:6.bst                         ] START   Staging sources
[00:00:00][e4ad8f16][build:6.bst                         ] SUCCESS Staging sources
[--:--:--][e4ad8f16][build:6.bst                         ] START   Caching artifact
[00:00:00][e4ad8f16][build:6.bst                         ] SUCCESS Caching artifact
[00:00:00][e4ad8f16][build:6.bst                         ] SUCCESS test/6/e4ad8f16-build.7017.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][d7039fd7][build:3.bst                         ] START   test/3/d7039fd7-build.7024.log
[--:--:--][d7039fd7][build:3.bst                         ] START   Staging sources
[00:00:00][d7039fd7][build:3.bst                         ] SUCCESS Staging sources
[--:--:--][d7039fd7][build:3.bst                         ] START   Caching artifact
[00:00:00][d7039fd7][build:3.bst                         ] SUCCESS Caching artifact
[00:00:00][d7039fd7][build:3.bst                         ] SUCCESS test/3/d7039fd7-build.7024.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][ac195c9f][build:2.bst                         ] START   test/2/ac195c9f-build.7031.log
[--:--:--][ac195c9f][build:2.bst                         ] START   Staging sources
[00:00:00][ac195c9f][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][ac195c9f][build:2.bst                         ] START   Caching artifact
[00:00:00][ac195c9f][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][ac195c9f][build:2.bst                         ] SUCCESS test/2/ac195c9f-build.7031.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][720316c4][build:0.bst                         ] START   test/0/720316c4-build.7038.log
[--:--:--][720316c4][build:0.bst                         ] START   Staging sources
[00:00:00][720316c4][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][720316c4][build:0.bst                         ] START   Caching artifact
[00:00:00][720316c4][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][720316c4][build:0.bst                         ] SUCCESS test/0/720316c4-build.7038.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:01][][] SUCCESS Build

Resolved key Summary
      cached 720316c426bb86b6f0128bb0ca16c4c2df076eef50c974a51bcfb666a79d3f84 0.bst 
      cached ac195c9f9eca4ae28864f4dec6027fef099d9d2de9fe6bede09e23717b292fe4 2.bst 
      cached d7039fd779f6def7b411a0f8e2f32bcb3ae7d7893713f18ec59ba6f702b15e5d 3.bst 
      cached 9aae200fbb73ce6e72c9ab218209fe01e85a580628ed95f72f848c0544429ca3 4.bst 
      cached 9aae200fbb73ce6e72c9ab218209fe01e85a580628ed95f72f848c0544429ca3 5.bst 
      cached e4ad8f164036b746baa7c2d8cc3c268f582c656ff4d0e1baa8a5510e42c63bd8 6.bst 
      cached 9aae200fbb73ce6e72c9ab218209fe01e85a580628ed95f72f848c0544429ca3 7.bst 

Pipeline Summary
  Total:       7
  Session:     7
  Track Queue: processed 6, skipped 0, failed 0 
  Fetch Queue: processed 0, skipped 7, failed 0 
  Build Queue: processed 7, skipped 0, failed 0 

______ test_build_track[track_targets2-exceptions2-tracked2-project.refs] ______

cli = <tests.testutils.runcli.Cli object at 0x7f70cd142710>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5')
ref_storage = 'project.refs', track_targets = ['2.bst', '3.bst']
exceptions = []
tracked = ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
    @pytest.mark.parametrize("track_targets,exceptions,tracked", [
        # Test with no exceptions
        (['0.bst'], [], ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
        (['3.bst'], [], ['3.bst', '4.bst', '5.bst', '6.bst']),
        (['2.bst', '3.bst'], [], ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
    
        # Test excepting '2.bst'
        (['0.bst'], ['2.bst'], ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']),
        (['3.bst'], ['2.bst'], []),
        (['2.bst', '3.bst'], ['2.bst'], ['3.bst', '4.bst', '5.bst', '6.bst']),
    
        # Test excepting '2.bst' and '3.bst'
        (['0.bst'], ['2.bst', '3.bst'], ['0.bst']),
        (['3.bst'], ['2.bst', '3.bst'], []),
        (['2.bst', '3.bst'], ['2.bst', '3.bst'], [])
    ])
    def test_build_track(cli, datafiles, tmpdir, ref_storage,
                         track_targets, exceptions, tracked):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        configure_project(project, {
            'ref-storage': ref_storage
        })
    
        create_elements = {
            '0.bst': [
                '2.bst',
                '3.bst'
            ],
            '2.bst': [
                '3.bst',
                '7.bst'
            ],
            '3.bst': [
                '4.bst',
                '5.bst',
                '6.bst'
            ],
            '4.bst': [],
            '5.bst': [],
            '6.bst': [
                '5.bst'
            ],
            '7.bst': []
        }
    
        initial_project_refs = {}
        for element, dependencies in create_elements.items():
            # Test the element inconsistency resolution by ensuring that
            # only elements that aren't tracked have refs
            if element in set(tracked):
                # Elements which should not have a ref set
                #
                create_element(repo, element, element_path, dependencies)
            elif ref_storage == 'project.refs':
                # Store a ref in project.refs
                #
                create_element(repo, element, element_path, dependencies)
                initial_project_refs[element] = [{'ref': ref}]
            else:
                # Store a ref in the element itself
                #
                create_element(repo, element, element_path, dependencies, ref=ref)
    
        # Generate initial project.refs
        if ref_storage == 'project.refs':
            project_refs = {
                'projects': {
                    'test': initial_project_refs
                }
            }
            _yaml.dump(project_refs, os.path.join(project, 'project.refs'))
    
        args = ['build']
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track'), track_targets))
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track-except'), exceptions))
        args += ['0.bst']
    
        result = cli.run(project=project, silent=True, args=args)
        result.assert_success()
        tracked_elements = result.get_tracked_elements()
    
        assert set(tracked_elements) == set(tracked)
    
        # Delete element sources
        source_dir = os.path.join(project, 'cache', 'sources')
        shutil.rmtree(source_dir)
    
        # Delete artifacts one by one and assert element states
        for target in set(tracked):
>           cli.remove_artifact_from_cache(project, target)

tests/frontend/buildtrack.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70cd142710>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5'
element_name = '5.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5 build --track 2.bst --track 3.bst 0.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] WARNING Ignoring redundant source references

    The following inline specified source references will be ignored:
    
    0.bst [line 6 column 2]:(None, [])
    3.bst [line 7 column 2]:(None, [])
    4.bst [line 4 column 2]:(None, [])
    5.bst [line 4 column 2]:(None, [])
    6.bst [line 5 column 2]:(None, [])
    2.bst [line 6 column 2]:(None, [])
    7.bst [line 4 column 2]:(None, [])

[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:56:37
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5)
  Targets:       0.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
no reference ???????????????????????????????????????????????????????????????? 4.bst 
no reference ???????????????????????????????????????????????????????????????? 5.bst 
no reference ???????????????????????????????????????????????????????????????? 6.bst 
no reference ???????????????????????????????????????????????????????????????? 3.bst 
no reference ???????????????????????????????????????????????????????????????? 7.bst 
no reference ???????????????????????????????????????????????????????????????? 2.bst 
fetch needed ???????????????????????????????????????????????????????????????? 0.bst 
===============================================================================
[--:--:--][????????][track:5.bst                         ] START   test/5/????????-track.7054.log
[--:--:--][????????][track:5.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo
[--:--:--][????????][track:4.bst                         ] START   test/4/????????-track.7053.log
[--:--:--][????????][track:3.bst                         ] START   test/3/????????-track.7056.log
[--:--:--][????????][track:3.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo
[--:--:--][????????][track:4.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo
[--:--:--][????????][track:6.bst                         ] START   test/6/????????-track.7055.log
[--:--:--][????????][track:2.bst                         ] START   test/2/????????-track.7058.log
[--:--:--][????????][track:6.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo
[--:--:--][????????][track:2.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo
[--:--:--][????????][track:7.bst                         ] START   test/7/????????-track.7057.log
[--:--:--][????????][track:7.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo
[00:00:00][????????][track:5.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo
[--:--:--][????????][track:5.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:5.bst                         ] SUCCESS test/5/????????-track.7054.log
[00:00:00][????????][track:3.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo
[--:--:--][????????][track:3.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:3.bst                         ] SUCCESS test/3/????????-track.7056.log
[00:00:00][????????][track:7.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo
[--:--:--][????????][track:7.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:7.bst                         ] SUCCESS test/7/????????-track.7057.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:2.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo
[--:--:--][????????][track:2.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:2.bst                         ] SUCCESS test/2/????????-track.7058.log
[00:00:00][????????][track:4.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo
[--:--:--][????????][track:4.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:4.bst                         ] SUCCESS test/4/????????-track.7053.log
[00:00:00][????????][track:6.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets5/repo
[--:--:--][????????][track:6.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:6.bst                         ] SUCCESS test/6/????????-track.7055.log
[--:--:--][40dd778e][build:7.bst                         ] START   test/7/40dd778e-build.7161.log
[--:--:--][40dd778e][build:7.bst                         ] START   Staging sources
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][40dd778e][build:7.bst                         ] SUCCESS Staging sources
[--:--:--][40dd778e][build:7.bst                         ] START   Caching artifact
[00:00:00][40dd778e][build:7.bst                         ] SUCCESS Caching artifact
[00:00:00][40dd778e][build:7.bst                         ] SUCCESS test/7/40dd778e-build.7161.log
[--:--:--][40dd778e][build:4.bst                         ] START   test/4/40dd778e-build.7176.log
[--:--:--][40dd778e][build:4.bst                         ] START   Staging sources
[00:00:00][40dd778e][build:4.bst                         ] SUCCESS Staging sources
[--:--:--][40dd778e][build:4.bst                         ] START   Caching artifact
[--:--:--][40dd778e][build:5.bst                         ] START   test/5/40dd778e-build.7185.log
[--:--:--][40dd778e][build:5.bst                         ] START   Staging sources
[00:00:00][40dd778e][build:4.bst                         ] SUCCESS Caching artifact
[00:00:00][40dd778e][build:4.bst                         ] SUCCESS test/4/40dd778e-build.7176.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][40dd778e][build:5.bst                         ] SUCCESS Staging sources
[--:--:--][40dd778e][build:5.bst                         ] START   Caching artifact
[00:00:00][40dd778e][build:5.bst                         ] SUCCESS Caching artifact
[00:00:00][40dd778e][build:5.bst                         ] SUCCESS test/5/40dd778e-build.7185.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][833dca6b][build:6.bst                         ] START   test/6/833dca6b-build.7199.log
[--:--:--][833dca6b][build:6.bst                         ] START   Staging sources
[00:00:00][833dca6b][build:6.bst                         ] SUCCESS Staging sources
[--:--:--][833dca6b][build:6.bst                         ] START   Caching artifact
[00:00:00][833dca6b][build:6.bst                         ] SUCCESS Caching artifact
[00:00:00][833dca6b][build:6.bst                         ] SUCCESS test/6/833dca6b-build.7199.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][d8137ec8][build:3.bst                         ] START   test/3/d8137ec8-build.7206.log
[--:--:--][d8137ec8][build:3.bst                         ] START   Staging sources
[00:00:00][d8137ec8][build:3.bst                         ] SUCCESS Staging sources
[--:--:--][d8137ec8][build:3.bst                         ] START   Caching artifact
[00:00:00][d8137ec8][build:3.bst                         ] SUCCESS Caching artifact
[00:00:00][d8137ec8][build:3.bst                         ] SUCCESS test/3/d8137ec8-build.7206.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][d1743b84][build:2.bst                         ] START   test/2/d1743b84-build.7213.log
[--:--:--][d1743b84][build:2.bst                         ] START   Staging sources
[00:00:00][d1743b84][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][d1743b84][build:2.bst                         ] START   Caching artifact
[00:00:00][d1743b84][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][d1743b84][build:2.bst                         ] SUCCESS test/2/d1743b84-build.7213.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][4d2a1ff3][build:0.bst                         ] START   test/0/4d2a1ff3-build.7220.log
[--:--:--][4d2a1ff3][build:0.bst                         ] START   Staging sources
[00:00:00][4d2a1ff3][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][4d2a1ff3][build:0.bst                         ] START   Caching artifact
[00:00:00][4d2a1ff3][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][4d2a1ff3][build:0.bst                         ] SUCCESS test/0/4d2a1ff3-build.7220.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:01][][] SUCCESS Build

Resolved key Summary
      cached 4d2a1ff38f82cf8411ef3252b77e9bd7c6e6ea094f45f58d02fbabfba3ba420e 0.bst 
      cached d1743b848ec28af18a5cdfcc839caa8f8743127b29c649bcc81fd129f7d18fcf 2.bst 
      cached d8137ec8252f0f7539f0426eee9a0fbccf27e09618fed68afd563feabbc1c454 3.bst 
      cached 40dd778e2b26f86e42432375805822be3421ee7224c6847ea933ab0c1d73f6d3 4.bst 
      cached 40dd778e2b26f86e42432375805822be3421ee7224c6847ea933ab0c1d73f6d3 5.bst 
      cached 833dca6ba8601fc4f3824cfc4f48ac75639c3363204f0ff38bd51a96ea10d784 6.bst 
      cached 40dd778e2b26f86e42432375805822be3421ee7224c6847ea933ab0c1d73f6d3 7.bst 

Pipeline Summary
  Total:       7
  Session:     7
  Track Queue: processed 6, skipped 0, failed 0 
  Fetch Queue: processed 0, skipped 7, failed 0 
  Build Queue: processed 7, skipped 0, failed 0 

_________ test_build_track[track_targets3-exceptions3-tracked3-inline] _________

cli = <tests.testutils.runcli.Cli object at 0x7f70ccddef98>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6')
ref_storage = 'inline', track_targets = ['0.bst'], exceptions = ['2.bst']
tracked = ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
    @pytest.mark.parametrize("track_targets,exceptions,tracked", [
        # Test with no exceptions
        (['0.bst'], [], ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
        (['3.bst'], [], ['3.bst', '4.bst', '5.bst', '6.bst']),
        (['2.bst', '3.bst'], [], ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
    
        # Test excepting '2.bst'
        (['0.bst'], ['2.bst'], ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']),
        (['3.bst'], ['2.bst'], []),
        (['2.bst', '3.bst'], ['2.bst'], ['3.bst', '4.bst', '5.bst', '6.bst']),
    
        # Test excepting '2.bst' and '3.bst'
        (['0.bst'], ['2.bst', '3.bst'], ['0.bst']),
        (['3.bst'], ['2.bst', '3.bst'], []),
        (['2.bst', '3.bst'], ['2.bst', '3.bst'], [])
    ])
    def test_build_track(cli, datafiles, tmpdir, ref_storage,
                         track_targets, exceptions, tracked):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        configure_project(project, {
            'ref-storage': ref_storage
        })
    
        create_elements = {
            '0.bst': [
                '2.bst',
                '3.bst'
            ],
            '2.bst': [
                '3.bst',
                '7.bst'
            ],
            '3.bst': [
                '4.bst',
                '5.bst',
                '6.bst'
            ],
            '4.bst': [],
            '5.bst': [],
            '6.bst': [
                '5.bst'
            ],
            '7.bst': []
        }
    
        initial_project_refs = {}
        for element, dependencies in create_elements.items():
            # Test the element inconsistency resolution by ensuring that
            # only elements that aren't tracked have refs
            if element in set(tracked):
                # Elements which should not have a ref set
                #
                create_element(repo, element, element_path, dependencies)
            elif ref_storage == 'project.refs':
                # Store a ref in project.refs
                #
                create_element(repo, element, element_path, dependencies)
                initial_project_refs[element] = [{'ref': ref}]
            else:
                # Store a ref in the element itself
                #
                create_element(repo, element, element_path, dependencies, ref=ref)
    
        # Generate initial project.refs
        if ref_storage == 'project.refs':
            project_refs = {
                'projects': {
                    'test': initial_project_refs
                }
            }
            _yaml.dump(project_refs, os.path.join(project, 'project.refs'))
    
        args = ['build']
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track'), track_targets))
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track-except'), exceptions))
        args += ['0.bst']
    
        result = cli.run(project=project, silent=True, args=args)
        result.assert_success()
        tracked_elements = result.get_tracked_elements()
    
        assert set(tracked_elements) == set(tracked)
    
        # Delete element sources
        source_dir = os.path.join(project, 'cache', 'sources')
        shutil.rmtree(source_dir)
    
        # Delete artifacts one by one and assert element states
        for target in set(tracked):
>           cli.remove_artifact_from_cache(project, target)

tests/frontend/buildtrack.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70ccddef98>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6'
element_name = '6.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6 build --track 0.bst --track-except 2.bst 0.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:56:39
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6)
  Targets:       0.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
no reference ???????????????????????????????????????????????????????????????? 4.bst 
no reference ???????????????????????????????????????????????????????????????? 5.bst 
no reference ???????????????????????????????????????????????????????????????? 6.bst 
no reference ???????????????????????????????????????????????????????????????? 3.bst 
fetch needed 3158bb31b9fc4311e723e3c4ac08f5f8abbde64e84f6e45d1fdd15b092793f73 7.bst 
fetch needed ???????????????????????????????????????????????????????????????? 2.bst 
no reference ???????????????????????????????????????????????????????????????? 0.bst 
===============================================================================
[--:--:--][????????][track:4.bst                         ] START   test/4/????????-track.7236.log
[--:--:--][????????][track:4.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo
[--:--:--][????????][track:6.bst                         ] START   test/6/????????-track.7238.log
[--:--:--][3158bb31][fetch:7.bst                         ] START   test/7/3158bb31-fetch.7235.log
[--:--:--][3158bb31][fetch:7.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo
[--:--:--][????????][track:6.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo
[--:--:--][????????][track:5.bst                         ] START   test/5/????????-track.7237.log
[--:--:--][????????][track:0.bst                         ] START   test/0/????????-track.7240.log
[--:--:--][????????][track:3.bst                         ] START   test/3/????????-track.7239.log
[--:--:--][????????][track:0.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo
[--:--:--][????????][track:5.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo
[--:--:--][????????][track:3.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo
[00:00:00][3158bb31][fetch:7.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo
[00:00:00][3158bb31][fetch:7.bst                         ] SUCCESS test/7/3158bb31-fetch.7235.log
[00:00:00][????????][track:6.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo
[--:--:--][????????][track:6.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:6.bst                         ] SUCCESS test/6/????????-track.7238.log
[00:00:00][????????][track:0.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo
[--:--:--][????????][track:0.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:0.bst                         ] SUCCESS test/0/????????-track.7240.log
[00:00:00][????????][track:4.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo
[--:--:--][????????][track:4.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:4.bst                         ] SUCCESS test/4/????????-track.7236.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:5.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo
[--:--:--][????????][track:5.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:5.bst                         ] SUCCESS test/5/????????-track.7237.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:3.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets6/repo
[--:--:--][????????][track:3.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:3.bst                         ] SUCCESS test/3/????????-track.7239.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][3158bb31][build:7.bst                         ] START   test/7/3158bb31-build.7341.log
[--:--:--][3158bb31][build:7.bst                         ] START   Staging sources
[00:00:00][3158bb31][build:7.bst                         ] SUCCESS Staging sources
[--:--:--][3158bb31][build:7.bst                         ] START   Caching artifact
[00:00:00][3158bb31][build:7.bst                         ] SUCCESS Caching artifact
[00:00:00][3158bb31][build:7.bst                         ] SUCCESS test/7/3158bb31-build.7341.log
[--:--:--][3158bb31][build:4.bst                         ] START   test/4/3158bb31-build.7349.log
[--:--:--][3158bb31][build:4.bst                         ] START   Staging sources
[00:00:00][3158bb31][build:4.bst                         ] SUCCESS Staging sources
[--:--:--][3158bb31][build:4.bst                         ] START   Caching artifact
[00:00:00][3158bb31][build:4.bst                         ] SUCCESS Caching artifact
[00:00:00][3158bb31][build:4.bst                         ] SUCCESS test/4/3158bb31-build.7349.log
[--:--:--][3158bb31][build:5.bst                         ] START   test/5/3158bb31-build.7358.log
[--:--:--][3158bb31][build:5.bst                         ] START   Staging sources
[00:00:00][3158bb31][build:5.bst                         ] SUCCESS Staging sources
[--:--:--][3158bb31][build:5.bst                         ] START   Caching artifact
[00:00:00][3158bb31][build:5.bst                         ] SUCCESS Caching artifact
[00:00:00][3158bb31][build:5.bst                         ] SUCCESS test/5/3158bb31-build.7358.log
[--:--:--][e2f5192a][build:6.bst                         ] START   test/6/e2f5192a-build.7382.log
[--:--:--][e2f5192a][build:6.bst                         ] START   Staging sources
[00:00:00][e2f5192a][build:6.bst                         ] SUCCESS Staging sources
[--:--:--][e2f5192a][build:6.bst                         ] START   Caching artifact
[00:00:00][e2f5192a][build:6.bst                         ] SUCCESS Caching artifact
[00:00:00][e2f5192a][build:6.bst                         ] SUCCESS test/6/e2f5192a-build.7382.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][0c747689][build:3.bst                         ] START   test/3/0c747689-build.7389.log
[--:--:--][0c747689][build:3.bst                         ] START   Staging sources
[00:00:00][0c747689][build:3.bst                         ] SUCCESS Staging sources
[--:--:--][0c747689][build:3.bst                         ] START   Caching artifact
[00:00:00][0c747689][build:3.bst                         ] SUCCESS Caching artifact
[00:00:00][0c747689][build:3.bst                         ] SUCCESS test/3/0c747689-build.7389.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][9d048844][build:2.bst                         ] START   test/2/9d048844-build.7396.log
[--:--:--][9d048844][build:2.bst                         ] START   Staging sources
[00:00:00][9d048844][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][9d048844][build:2.bst                         ] START   Caching artifact
[00:00:00][9d048844][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][9d048844][build:2.bst                         ] SUCCESS test/2/9d048844-build.7396.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][10d526fa][build:0.bst                         ] START   test/0/10d526fa-build.7403.log
[--:--:--][10d526fa][build:0.bst                         ] START   Staging sources
[00:00:00][10d526fa][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][10d526fa][build:0.bst                         ] START   Caching artifact
[00:00:00][10d526fa][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][10d526fa][build:0.bst                         ] SUCCESS test/0/10d526fa-build.7403.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:01][][] SUCCESS Build

Resolved key Summary
      cached 10d526fa2521ec9a74c14f50a9f4e9d8680176ef6c72065d6c73b81bc2caa438 0.bst 
      cached 9d04884425168773b44f97ac2770a7d7f809e71535d756cddd6b413bd6fc930e 2.bst 
      cached 0c7476890eb6b7261b41650d5cddd0b74ef90f8289bbca8fdfc54f2dabc974a1 3.bst 
      cached 3158bb31b9fc4311e723e3c4ac08f5f8abbde64e84f6e45d1fdd15b092793f73 4.bst 
      cached 3158bb31b9fc4311e723e3c4ac08f5f8abbde64e84f6e45d1fdd15b092793f73 5.bst 
      cached e2f5192a49f3ff1eaeee4dc2ea378a11b35e7f38c7dd92510271209173097cca 6.bst 

Pipeline Summary
  Total:       7
  Session:     7
  Track Queue: processed 5, skipped 0, failed 0 
  Fetch Queue: processed 1, skipped 6, failed 0 
  Build Queue: processed 7, skipped 0, failed 0 

______ test_build_track[track_targets3-exceptions3-tracked3-project.refs] ______

cli = <tests.testutils.runcli.Cli object at 0x7f70cca11e48>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7')
ref_storage = 'project.refs', track_targets = ['0.bst'], exceptions = ['2.bst']
tracked = ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
    @pytest.mark.parametrize("track_targets,exceptions,tracked", [
        # Test with no exceptions
        (['0.bst'], [], ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
        (['3.bst'], [], ['3.bst', '4.bst', '5.bst', '6.bst']),
        (['2.bst', '3.bst'], [], ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
    
        # Test excepting '2.bst'
        (['0.bst'], ['2.bst'], ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']),
        (['3.bst'], ['2.bst'], []),
        (['2.bst', '3.bst'], ['2.bst'], ['3.bst', '4.bst', '5.bst', '6.bst']),
    
        # Test excepting '2.bst' and '3.bst'
        (['0.bst'], ['2.bst', '3.bst'], ['0.bst']),
        (['3.bst'], ['2.bst', '3.bst'], []),
        (['2.bst', '3.bst'], ['2.bst', '3.bst'], [])
    ])
    def test_build_track(cli, datafiles, tmpdir, ref_storage,
                         track_targets, exceptions, tracked):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        configure_project(project, {
            'ref-storage': ref_storage
        })
    
        create_elements = {
            '0.bst': [
                '2.bst',
                '3.bst'
            ],
            '2.bst': [
                '3.bst',
                '7.bst'
            ],
            '3.bst': [
                '4.bst',
                '5.bst',
                '6.bst'
            ],
            '4.bst': [],
            '5.bst': [],
            '6.bst': [
                '5.bst'
            ],
            '7.bst': []
        }
    
        initial_project_refs = {}
        for element, dependencies in create_elements.items():
            # Test the element inconsistency resolution by ensuring that
            # only elements that aren't tracked have refs
            if element in set(tracked):
                # Elements which should not have a ref set
                #
                create_element(repo, element, element_path, dependencies)
            elif ref_storage == 'project.refs':
                # Store a ref in project.refs
                #
                create_element(repo, element, element_path, dependencies)
                initial_project_refs[element] = [{'ref': ref}]
            else:
                # Store a ref in the element itself
                #
                create_element(repo, element, element_path, dependencies, ref=ref)
    
        # Generate initial project.refs
        if ref_storage == 'project.refs':
            project_refs = {
                'projects': {
                    'test': initial_project_refs
                }
            }
            _yaml.dump(project_refs, os.path.join(project, 'project.refs'))
    
        args = ['build']
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track'), track_targets))
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track-except'), exceptions))
        args += ['0.bst']
    
        result = cli.run(project=project, silent=True, args=args)
        result.assert_success()
        tracked_elements = result.get_tracked_elements()
    
        assert set(tracked_elements) == set(tracked)
    
        # Delete element sources
        source_dir = os.path.join(project, 'cache', 'sources')
        shutil.rmtree(source_dir)
    
        # Delete artifacts one by one and assert element states
        for target in set(tracked):
>           cli.remove_artifact_from_cache(project, target)

tests/frontend/buildtrack.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70cca11e48>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7'
element_name = '6.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7 build --track 0.bst --track-except 2.bst 0.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] WARNING Ignoring redundant source references

    The following inline specified source references will be ignored:
    
    0.bst [line 6 column 2]:(None, [])
    3.bst [line 7 column 2]:(None, [])
    4.bst [line 4 column 2]:(None, [])
    5.bst [line 4 column 2]:(None, [])
    6.bst [line 5 column 2]:(None, [])
    2.bst [line 6 column 2]:(None, [])
    7.bst [line 4 column 2]:(None, [])

[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:56:40
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7)
  Targets:       0.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
no reference ???????????????????????????????????????????????????????????????? 4.bst 
no reference ???????????????????????????????????????????????????????????????? 5.bst 
no reference ???????????????????????????????????????????????????????????????? 6.bst 
no reference ???????????????????????????????????????????????????????????????? 3.bst 
fetch needed 71386a5ae8546b1a935dbcd3b866327557defc74b71d729d40e3e6f8e72e6280 7.bst 
fetch needed ???????????????????????????????????????????????????????????????? 2.bst 
no reference ???????????????????????????????????????????????????????????????? 0.bst 
===============================================================================
[--:--:--][71386a5a][fetch:7.bst                         ] START   test/7/71386a5a-fetch.7418.log
[--:--:--][71386a5a][fetch:7.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo
[--:--:--][????????][track:4.bst                         ] START   test/4/????????-track.7419.log
[--:--:--][????????][track:4.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo
[--:--:--][????????][track:5.bst                         ] START   test/5/????????-track.7420.log
[--:--:--][????????][track:6.bst                         ] START   test/6/????????-track.7421.log
[--:--:--][????????][track:5.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo
[--:--:--][????????][track:6.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo
[--:--:--][????????][track:3.bst                         ] START   test/3/????????-track.7422.log
[--:--:--][????????][track:3.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo
[--:--:--][????????][track:0.bst                         ] START   test/0/????????-track.7424.log
[--:--:--][????????][track:0.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo
[00:00:00][71386a5a][fetch:7.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo
[00:00:00][????????][track:4.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo
[--:--:--][????????][track:4.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:4.bst                         ] SUCCESS test/4/????????-track.7419.log
[00:00:00][71386a5a][fetch:7.bst                         ] SUCCESS test/7/71386a5a-fetch.7418.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:5.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo
[--:--:--][????????][track:5.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:5.bst                         ] SUCCESS test/5/????????-track.7420.log
[00:00:00][????????][track:6.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo
[--:--:--][????????][track:6.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:6.bst                         ] SUCCESS test/6/????????-track.7421.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:3.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo
[--:--:--][????????][track:3.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:3.bst                         ] SUCCESS test/3/????????-track.7422.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:0.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets7/repo
[--:--:--][????????][track:0.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:0.bst                         ] SUCCESS test/0/????????-track.7424.log
[--:--:--][71386a5a][build:7.bst                         ] START   test/7/71386a5a-build.7524.log
[--:--:--][71386a5a][build:7.bst                         ] START   Staging sources
[00:00:00][71386a5a][build:7.bst                         ] SUCCESS Staging sources
[--:--:--][71386a5a][build:7.bst                         ] START   Caching artifact
[00:00:00][71386a5a][build:7.bst                         ] SUCCESS Caching artifact
[00:00:00][71386a5a][build:7.bst                         ] SUCCESS test/7/71386a5a-build.7524.log
[--:--:--][71386a5a][build:4.bst                         ] START   test/4/71386a5a-build.7531.log
[--:--:--][71386a5a][build:4.bst                         ] START   Staging sources
[00:00:00][71386a5a][build:4.bst                         ] SUCCESS Staging sources
[--:--:--][71386a5a][build:4.bst                         ] START   Caching artifact
[00:00:00][71386a5a][build:4.bst                         ] SUCCESS Caching artifact
[00:00:00][71386a5a][build:4.bst                         ] SUCCESS test/4/71386a5a-build.7531.log
[--:--:--][71386a5a][build:5.bst                         ] START   test/5/71386a5a-build.7543.log
[--:--:--][71386a5a][build:5.bst                         ] START   Staging sources
[00:00:00][71386a5a][build:5.bst                         ] SUCCESS Staging sources
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][71386a5a][build:5.bst                         ] START   Caching artifact
[00:00:00][71386a5a][build:5.bst                         ] SUCCESS Caching artifact
[00:00:00][71386a5a][build:5.bst                         ] SUCCESS test/5/71386a5a-build.7543.log
[--:--:--][78d36e60][build:6.bst                         ] START   test/6/78d36e60-build.7566.log
[--:--:--][78d36e60][build:6.bst                         ] START   Staging sources
[00:00:00][78d36e60][build:6.bst                         ] SUCCESS Staging sources
[--:--:--][78d36e60][build:6.bst                         ] START   Caching artifact
[00:00:00][78d36e60][build:6.bst                         ] SUCCESS Caching artifact
[00:00:00][78d36e60][build:6.bst                         ] SUCCESS test/6/78d36e60-build.7566.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][a201aaad][build:3.bst                         ] START   test/3/a201aaad-build.7573.log
[--:--:--][a201aaad][build:3.bst                         ] START   Staging sources
[00:00:00][a201aaad][build:3.bst                         ] SUCCESS Staging sources
[--:--:--][a201aaad][build:3.bst                         ] START   Caching artifact
[00:00:00][a201aaad][build:3.bst                         ] SUCCESS Caching artifact
[00:00:00][a201aaad][build:3.bst                         ] SUCCESS test/3/a201aaad-build.7573.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][c68deacc][build:2.bst                         ] START   test/2/c68deacc-build.7580.log
[--:--:--][c68deacc][build:2.bst                         ] START   Staging sources
[00:00:00][c68deacc][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][c68deacc][build:2.bst                         ] START   Caching artifact
[00:00:00][c68deacc][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][c68deacc][build:2.bst                         ] SUCCESS test/2/c68deacc-build.7580.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][6f63437b][build:0.bst                         ] START   test/0/6f63437b-build.7587.log
[--:--:--][6f63437b][build:0.bst                         ] START   Staging sources
[00:00:00][6f63437b][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][6f63437b][build:0.bst                         ] START   Caching artifact
[00:00:00][6f63437b][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][6f63437b][build:0.bst                         ] SUCCESS test/0/6f63437b-build.7587.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:01][][] SUCCESS Build

Resolved key Summary
      cached 6f63437b7a08ee5517fe81f6892109e95e6ad46f160ae0d31c638c45179efcbf 0.bst 
      cached c68deacc6a872a1ecd82d890be620c4739d17851aab591a966faa27e65baa882 2.bst 
      cached a201aaad9c01e046880885f43bc9f8968dafbc20649d8a7e965854bc84cc3fe8 3.bst 
      cached 71386a5ae8546b1a935dbcd3b866327557defc74b71d729d40e3e6f8e72e6280 4.bst 
      cached 71386a5ae8546b1a935dbcd3b866327557defc74b71d729d40e3e6f8e72e6280 5.bst 
      cached 78d36e6004009e5f40ac6011a1cae8e3e144520eefd3ef70cd7e3a6749ad11b1 6.bst 

Pipeline Summary
  Total:       7
  Session:     7
  Track Queue: processed 5, skipped 0, failed 0 
  Fetch Queue: processed 1, skipped 6, failed 0 
  Build Queue: processed 7, skipped 0, failed 0 

_________ test_build_track[track_targets5-exceptions5-tracked5-inline] _________

cli = <tests.testutils.runcli.Cli object at 0x7f70cc7f6358>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10')
ref_storage = 'inline', track_targets = ['2.bst', '3.bst']
exceptions = ['2.bst'], tracked = ['3.bst', '4.bst', '5.bst', '6.bst']

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
    @pytest.mark.parametrize("track_targets,exceptions,tracked", [
        # Test with no exceptions
        (['0.bst'], [], ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
        (['3.bst'], [], ['3.bst', '4.bst', '5.bst', '6.bst']),
        (['2.bst', '3.bst'], [], ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
    
        # Test excepting '2.bst'
        (['0.bst'], ['2.bst'], ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']),
        (['3.bst'], ['2.bst'], []),
        (['2.bst', '3.bst'], ['2.bst'], ['3.bst', '4.bst', '5.bst', '6.bst']),
    
        # Test excepting '2.bst' and '3.bst'
        (['0.bst'], ['2.bst', '3.bst'], ['0.bst']),
        (['3.bst'], ['2.bst', '3.bst'], []),
        (['2.bst', '3.bst'], ['2.bst', '3.bst'], [])
    ])
    def test_build_track(cli, datafiles, tmpdir, ref_storage,
                         track_targets, exceptions, tracked):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        configure_project(project, {
            'ref-storage': ref_storage
        })
    
        create_elements = {
            '0.bst': [
                '2.bst',
                '3.bst'
            ],
            '2.bst': [
                '3.bst',
                '7.bst'
            ],
            '3.bst': [
                '4.bst',
                '5.bst',
                '6.bst'
            ],
            '4.bst': [],
            '5.bst': [],
            '6.bst': [
                '5.bst'
            ],
            '7.bst': []
        }
    
        initial_project_refs = {}
        for element, dependencies in create_elements.items():
            # Test the element inconsistency resolution by ensuring that
            # only elements that aren't tracked have refs
            if element in set(tracked):
                # Elements which should not have a ref set
                #
                create_element(repo, element, element_path, dependencies)
            elif ref_storage == 'project.refs':
                # Store a ref in project.refs
                #
                create_element(repo, element, element_path, dependencies)
                initial_project_refs[element] = [{'ref': ref}]
            else:
                # Store a ref in the element itself
                #
                create_element(repo, element, element_path, dependencies, ref=ref)
    
        # Generate initial project.refs
        if ref_storage == 'project.refs':
            project_refs = {
                'projects': {
                    'test': initial_project_refs
                }
            }
            _yaml.dump(project_refs, os.path.join(project, 'project.refs'))
    
        args = ['build']
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track'), track_targets))
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track-except'), exceptions))
        args += ['0.bst']
    
        result = cli.run(project=project, silent=True, args=args)
        result.assert_success()
        tracked_elements = result.get_tracked_elements()
    
        assert set(tracked_elements) == set(tracked)
    
        # Delete element sources
        source_dir = os.path.join(project, 'cache', 'sources')
        shutil.rmtree(source_dir)
    
        # Delete artifacts one by one and assert element states
        for target in set(tracked):
>           cli.remove_artifact_from_cache(project, target)

tests/frontend/buildtrack.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70cc7f6358>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10'
element_name = '6.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10 build --track 2.bst --track 3.bst --track-except 2.bst 0.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:56:44
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10)
  Targets:       0.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
no reference ???????????????????????????????????????????????????????????????? 4.bst 
no reference ???????????????????????????????????????????????????????????????? 5.bst 
no reference ???????????????????????????????????????????????????????????????? 6.bst 
no reference ???????????????????????????????????????????????????????????????? 3.bst 
fetch needed 41b2e916eebf65fa7a421eecc41e58998041302d1fa247a8b4e84c3e5593ae2e 7.bst 
fetch needed ???????????????????????????????????????????????????????????????? 2.bst 
fetch needed ???????????????????????????????????????????????????????????????? 0.bst 
===============================================================================
[--:--:--][????????][track:4.bst                         ] START   test/4/????????-track.7945.log
[--:--:--][????????][track:4.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/repo
[--:--:--][????????][track:6.bst                         ] START   test/6/????????-track.7947.log
[--:--:--][????????][track:6.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/repo
[--:--:--][41b2e916][fetch:7.bst                         ] START   test/7/41b2e916-fetch.7944.log
[--:--:--][41b2e916][fetch:7.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/repo
[--:--:--][????????][track:5.bst                         ] START   test/5/????????-track.7946.log
[--:--:--][????????][track:5.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/repo
[--:--:--][????????][track:3.bst                         ] START   test/3/????????-track.7948.log
[--:--:--][????????][track:3.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/repo
[00:00:00][41b2e916][fetch:7.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/repo
[00:00:00][????????][track:4.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/repo
[--:--:--][????????][track:4.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:4.bst                         ] SUCCESS test/4/????????-track.7945.log
[00:00:00][41b2e916][fetch:7.bst                         ] SUCCESS test/7/41b2e916-fetch.7944.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:5.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/repo
[--:--:--][????????][track:5.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:5.bst                         ] SUCCESS test/5/????????-track.7946.log
[00:00:00][????????][track:6.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/repo
[--:--:--][????????][track:6.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:6.bst                         ] SUCCESS test/6/????????-track.7947.log
[00:00:00][????????][track:3.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets10/repo
[--:--:--][????????][track:3.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:3.bst                         ] SUCCESS test/3/????????-track.7948.log
[--:--:--][41b2e916][build:4.bst                         ] START   test/4/41b2e916-build.8029.log
[--:--:--][41b2e916][build:4.bst                         ] START   Staging sources
[00:00:00][41b2e916][build:4.bst                         ] SUCCESS Staging sources
[--:--:--][41b2e916][build:4.bst                         ] START   Caching artifact
[00:00:00][41b2e916][build:4.bst                         ] SUCCESS Caching artifact
[00:00:00][41b2e916][build:4.bst                         ] SUCCESS test/4/41b2e916-build.8029.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][41b2e916][build:5.bst                         ] START   test/5/41b2e916-build.8037.log
[--:--:--][41b2e916][build:5.bst                         ] START   Staging sources
[00:00:00][41b2e916][build:5.bst                         ] SUCCESS Staging sources
[--:--:--][41b2e916][build:5.bst                         ] START   Caching artifact
[00:00:00][41b2e916][build:5.bst                         ] SUCCESS Caching artifact
[00:00:00][41b2e916][build:5.bst                         ] SUCCESS test/5/41b2e916-build.8037.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][41b2e916][build:7.bst                         ] START   test/7/41b2e916-build.8060.log
[--:--:--][41b2e916][build:7.bst                         ] START   Staging sources
[--:--:--][5c66255b][build:6.bst                         ] START   test/6/5c66255b-build.8062.log
[00:00:00][41b2e916][build:7.bst                         ] SUCCESS Staging sources
[--:--:--][5c66255b][build:6.bst                         ] START   Staging sources
[--:--:--][41b2e916][build:7.bst                         ] START   Caching artifact
[00:00:00][41b2e916][build:7.bst                         ] SUCCESS Caching artifact
[00:00:00][41b2e916][build:7.bst                         ] SUCCESS test/7/41b2e916-build.8060.log
[00:00:00][5c66255b][build:6.bst                         ] SUCCESS Staging sources
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][5c66255b][build:6.bst                         ] START   Caching artifact
[00:00:00][5c66255b][build:6.bst                         ] SUCCESS Caching artifact
[00:00:00][5c66255b][build:6.bst                         ] SUCCESS test/6/5c66255b-build.8062.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][6cd78736][build:3.bst                         ] START   test/3/6cd78736-build.8074.log
[--:--:--][6cd78736][build:3.bst                         ] START   Staging sources
[00:00:00][6cd78736][build:3.bst                         ] SUCCESS Staging sources
[--:--:--][6cd78736][build:3.bst                         ] START   Caching artifact
[00:00:00][6cd78736][build:3.bst                         ] SUCCESS Caching artifact
[00:00:00][6cd78736][build:3.bst                         ] SUCCESS test/3/6cd78736-build.8074.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][d9903931][build:2.bst                         ] START   test/2/d9903931-build.8081.log
[--:--:--][d9903931][build:2.bst                         ] START   Staging sources
[00:00:00][d9903931][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][d9903931][build:2.bst                         ] START   Caching artifact
[00:00:00][d9903931][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][d9903931][build:2.bst                         ] SUCCESS test/2/d9903931-build.8081.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][951e540d][build:0.bst                         ] START   test/0/951e540d-build.8088.log
[--:--:--][951e540d][build:0.bst                         ] START   Staging sources
[00:00:00][951e540d][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][951e540d][build:0.bst                         ] START   Caching artifact
[00:00:00][951e540d][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][951e540d][build:0.bst                         ] SUCCESS test/0/951e540d-build.8088.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:01][][] SUCCESS Build

Resolved key Summary
      cached 951e540da71f694ebdc7c43f4b9b4e04492d66cfcda2646136512e5f11d71e15 0.bst 
      cached d9903931ca93121cf6726c2a1139e005050c31e3b5876e12ae3dfaf60bb00c7e 2.bst 
      cached 6cd78736be2e911c686c304d456a2254cf49ca050db71bb66fa4f913840e2698 3.bst 
      cached 41b2e916eebf65fa7a421eecc41e58998041302d1fa247a8b4e84c3e5593ae2e 4.bst 
      cached 41b2e916eebf65fa7a421eecc41e58998041302d1fa247a8b4e84c3e5593ae2e 5.bst 
      cached 5c66255b155a0feef2cec86f646aaa0b02415d68e27d507cbe3df3f85e4c260b 6.bst 

Pipeline Summary
  Total:       7
  Session:     7
  Track Queue: processed 4, skipped 0, failed 0 
  Fetch Queue: processed 1, skipped 6, failed 0 
  Build Queue: processed 7, skipped 0, failed 0 

______ test_build_track[track_targets5-exceptions5-tracked5-project.refs] ______

cli = <tests.testutils.runcli.Cli object at 0x7f70cca2a080>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11')
ref_storage = 'project.refs', track_targets = ['2.bst', '3.bst']
exceptions = ['2.bst'], tracked = ['3.bst', '4.bst', '5.bst', '6.bst']

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
    @pytest.mark.parametrize("track_targets,exceptions,tracked", [
        # Test with no exceptions
        (['0.bst'], [], ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
        (['3.bst'], [], ['3.bst', '4.bst', '5.bst', '6.bst']),
        (['2.bst', '3.bst'], [], ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
    
        # Test excepting '2.bst'
        (['0.bst'], ['2.bst'], ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']),
        (['3.bst'], ['2.bst'], []),
        (['2.bst', '3.bst'], ['2.bst'], ['3.bst', '4.bst', '5.bst', '6.bst']),
    
        # Test excepting '2.bst' and '3.bst'
        (['0.bst'], ['2.bst', '3.bst'], ['0.bst']),
        (['3.bst'], ['2.bst', '3.bst'], []),
        (['2.bst', '3.bst'], ['2.bst', '3.bst'], [])
    ])
    def test_build_track(cli, datafiles, tmpdir, ref_storage,
                         track_targets, exceptions, tracked):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        configure_project(project, {
            'ref-storage': ref_storage
        })
    
        create_elements = {
            '0.bst': [
                '2.bst',
                '3.bst'
            ],
            '2.bst': [
                '3.bst',
                '7.bst'
            ],
            '3.bst': [
                '4.bst',
                '5.bst',
                '6.bst'
            ],
            '4.bst': [],
            '5.bst': [],
            '6.bst': [
                '5.bst'
            ],
            '7.bst': []
        }
    
        initial_project_refs = {}
        for element, dependencies in create_elements.items():
            # Test the element inconsistency resolution by ensuring that
            # only elements that aren't tracked have refs
            if element in set(tracked):
                # Elements which should not have a ref set
                #
                create_element(repo, element, element_path, dependencies)
            elif ref_storage == 'project.refs':
                # Store a ref in project.refs
                #
                create_element(repo, element, element_path, dependencies)
                initial_project_refs[element] = [{'ref': ref}]
            else:
                # Store a ref in the element itself
                #
                create_element(repo, element, element_path, dependencies, ref=ref)
    
        # Generate initial project.refs
        if ref_storage == 'project.refs':
            project_refs = {
                'projects': {
                    'test': initial_project_refs
                }
            }
            _yaml.dump(project_refs, os.path.join(project, 'project.refs'))
    
        args = ['build']
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track'), track_targets))
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track-except'), exceptions))
        args += ['0.bst']
    
        result = cli.run(project=project, silent=True, args=args)
        result.assert_success()
        tracked_elements = result.get_tracked_elements()
    
        assert set(tracked_elements) == set(tracked)
    
        # Delete element sources
        source_dir = os.path.join(project, 'cache', 'sources')
        shutil.rmtree(source_dir)
    
        # Delete artifacts one by one and assert element states
        for target in set(tracked):
>           cli.remove_artifact_from_cache(project, target)

tests/frontend/buildtrack.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70cca2a080>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11'
element_name = '6.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11 build --track 2.bst --track 3.bst --track-except 2.bst 0.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] WARNING Ignoring redundant source references

    The following inline specified source references will be ignored:
    
    0.bst [line 6 column 2]:(None, [])
    3.bst [line 7 column 2]:(None, [])
    4.bst [line 4 column 2]:(None, [])
    5.bst [line 4 column 2]:(None, [])
    6.bst [line 5 column 2]:(None, [])
    2.bst [line 6 column 2]:(None, [])
    7.bst [line 4 column 2]:(None, [])

[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:56:46
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11)
  Targets:       0.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
no reference ???????????????????????????????????????????????????????????????? 4.bst 
no reference ???????????????????????????????????????????????????????????????? 5.bst 
no reference ???????????????????????????????????????????????????????????????? 6.bst 
no reference ???????????????????????????????????????????????????????????????? 3.bst 
fetch needed 9c68e91af32519492a2f6b629c2427684af049e82a1a1b841cf43342679f2c98 7.bst 
fetch needed ???????????????????????????????????????????????????????????????? 2.bst 
fetch needed ???????????????????????????????????????????????????????????????? 0.bst 
===============================================================================
[--:--:--][????????][track:4.bst                         ] START   test/4/????????-track.8104.log
[--:--:--][????????][track:4.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/repo
[--:--:--][????????][track:6.bst                         ] START   test/6/????????-track.8106.log
[--:--:--][????????][track:6.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/repo
[--:--:--][9c68e91a][fetch:7.bst                         ] START   test/7/9c68e91a-fetch.8103.log
[--:--:--][9c68e91a][fetch:7.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/repo
[--:--:--][????????][track:5.bst                         ] START   test/5/????????-track.8105.log
[--:--:--][????????][track:5.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/repo
[--:--:--][????????][track:3.bst                         ] START   test/3/????????-track.8107.log
[--:--:--][????????][track:3.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/repo
[00:00:00][????????][track:4.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/repo
[--:--:--][????????][track:4.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:4.bst                         ] SUCCESS test/4/????????-track.8104.log
[00:00:00][????????][track:6.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/repo
[--:--:--][????????][track:6.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:6.bst                         ] SUCCESS test/6/????????-track.8106.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][????????][track:5.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/repo
[--:--:--][????????][track:5.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:5.bst                         ] SUCCESS test/5/????????-track.8105.log
[00:00:00][????????][track:3.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/repo
[--:--:--][????????][track:3.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:3.bst                         ] SUCCESS test/3/????????-track.8107.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][9c68e91a][build:4.bst                         ] START   test/4/9c68e91a-build.8196.log
[--:--:--][9c68e91a][build:4.bst                         ] START   Staging sources
[00:00:00][9c68e91a][build:4.bst                         ] SUCCESS Staging sources
[--:--:--][9c68e91a][build:4.bst                         ] START   Caching artifact
[00:00:00][9c68e91a][build:4.bst                         ] SUCCESS Caching artifact
[00:00:00][9c68e91a][build:4.bst                         ] SUCCESS test/4/9c68e91a-build.8196.log
[00:00:00][9c68e91a][fetch:7.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets11/repo
[00:00:00][9c68e91a][fetch:7.bst                         ] SUCCESS test/7/9c68e91a-fetch.8103.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][9c68e91a][build:5.bst                         ] START   test/5/9c68e91a-build.8204.log
[--:--:--][9c68e91a][build:5.bst                         ] START   Staging sources
[00:00:00][9c68e91a][build:5.bst                         ] SUCCESS Staging sources
[--:--:--][9c68e91a][build:5.bst                         ] START   Caching artifact
[00:00:00][9c68e91a][build:5.bst                         ] SUCCESS Caching artifact
[00:00:00][9c68e91a][build:5.bst                         ] SUCCESS test/5/9c68e91a-build.8204.log
[--:--:--][9c68e91a][build:7.bst                         ] START   test/7/9c68e91a-build.8227.log
[--:--:--][9c68e91a][build:7.bst                         ] START   Staging sources
[--:--:--][f914c56a][build:6.bst                         ] START   test/6/f914c56a-build.8228.log
[--:--:--][f914c56a][build:6.bst                         ] START   Staging sources
[00:00:00][9c68e91a][build:7.bst                         ] SUCCESS Staging sources
[--:--:--][9c68e91a][build:7.bst                         ] START   Caching artifact
[00:00:00][f914c56a][build:6.bst                         ] SUCCESS Staging sources
[00:00:00][9c68e91a][build:7.bst                         ] SUCCESS Caching artifact
[00:00:00][9c68e91a][build:7.bst                         ] SUCCESS test/7/9c68e91a-build.8227.log
[--:--:--][f914c56a][build:6.bst                         ] START   Caching artifact
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][f914c56a][build:6.bst                         ] SUCCESS Caching artifact
[00:00:00][f914c56a][build:6.bst                         ] SUCCESS test/6/f914c56a-build.8228.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][3d7dc52e][build:3.bst                         ] START   test/3/3d7dc52e-build.8241.log
[--:--:--][3d7dc52e][build:3.bst                         ] START   Staging sources
[00:00:00][3d7dc52e][build:3.bst                         ] SUCCESS Staging sources
[--:--:--][3d7dc52e][build:3.bst                         ] START   Caching artifact
[00:00:00][3d7dc52e][build:3.bst                         ] SUCCESS Caching artifact
[00:00:00][3d7dc52e][build:3.bst                         ] SUCCESS test/3/3d7dc52e-build.8241.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][02aea2b8][build:2.bst                         ] START   test/2/02aea2b8-build.8248.log
[--:--:--][02aea2b8][build:2.bst                         ] START   Staging sources
[00:00:00][02aea2b8][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][02aea2b8][build:2.bst                         ] START   Caching artifact
[00:00:00][02aea2b8][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][02aea2b8][build:2.bst                         ] SUCCESS test/2/02aea2b8-build.8248.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][82894772][build:0.bst                         ] START   test/0/82894772-build.8255.log
[--:--:--][82894772][build:0.bst                         ] START   Staging sources
[00:00:00][82894772][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][82894772][build:0.bst                         ] START   Caching artifact
[00:00:00][82894772][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][82894772][build:0.bst                         ] SUCCESS test/0/82894772-build.8255.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:01][][] SUCCESS Build

Resolved key Summary
      cached 8289477243840d711013d7cd6906f013bf75dead4a391ce5f4157d2989a956b1 0.bst 
      cached 02aea2b8b15f4a388770c4b414e2b77565c15b4287be5bd0f175da6dbdf19611 2.bst 
      cached 3d7dc52e8312fd0b857c0a8faddf7dee051d8b945ee1b51a24d6eaac2010bcdb 3.bst 
      cached 9c68e91af32519492a2f6b629c2427684af049e82a1a1b841cf43342679f2c98 4.bst 
      cached 9c68e91af32519492a2f6b629c2427684af049e82a1a1b841cf43342679f2c98 5.bst 
      cached f914c56a803102f15c83b0db44fb2c82d87ef08706303ea35e8b43f5f6408b32 6.bst 

Pipeline Summary
  Total:       7
  Session:     7
  Track Queue: processed 4, skipped 0, failed 0 
  Fetch Queue: processed 1, skipped 6, failed 0 
  Build Queue: processed 7, skipped 0, failed 0 

_________ test_build_track[track_targets6-exceptions6-tracked6-inline] _________

cli = <tests.testutils.runcli.Cli object at 0x7f70cd1989e8>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12')
ref_storage = 'inline', track_targets = ['0.bst']
exceptions = ['2.bst', '3.bst'], tracked = ['0.bst']

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
    @pytest.mark.parametrize("track_targets,exceptions,tracked", [
        # Test with no exceptions
        (['0.bst'], [], ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
        (['3.bst'], [], ['3.bst', '4.bst', '5.bst', '6.bst']),
        (['2.bst', '3.bst'], [], ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
    
        # Test excepting '2.bst'
        (['0.bst'], ['2.bst'], ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']),
        (['3.bst'], ['2.bst'], []),
        (['2.bst', '3.bst'], ['2.bst'], ['3.bst', '4.bst', '5.bst', '6.bst']),
    
        # Test excepting '2.bst' and '3.bst'
        (['0.bst'], ['2.bst', '3.bst'], ['0.bst']),
        (['3.bst'], ['2.bst', '3.bst'], []),
        (['2.bst', '3.bst'], ['2.bst', '3.bst'], [])
    ])
    def test_build_track(cli, datafiles, tmpdir, ref_storage,
                         track_targets, exceptions, tracked):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        configure_project(project, {
            'ref-storage': ref_storage
        })
    
        create_elements = {
            '0.bst': [
                '2.bst',
                '3.bst'
            ],
            '2.bst': [
                '3.bst',
                '7.bst'
            ],
            '3.bst': [
                '4.bst',
                '5.bst',
                '6.bst'
            ],
            '4.bst': [],
            '5.bst': [],
            '6.bst': [
                '5.bst'
            ],
            '7.bst': []
        }
    
        initial_project_refs = {}
        for element, dependencies in create_elements.items():
            # Test the element inconsistency resolution by ensuring that
            # only elements that aren't tracked have refs
            if element in set(tracked):
                # Elements which should not have a ref set
                #
                create_element(repo, element, element_path, dependencies)
            elif ref_storage == 'project.refs':
                # Store a ref in project.refs
                #
                create_element(repo, element, element_path, dependencies)
                initial_project_refs[element] = [{'ref': ref}]
            else:
                # Store a ref in the element itself
                #
                create_element(repo, element, element_path, dependencies, ref=ref)
    
        # Generate initial project.refs
        if ref_storage == 'project.refs':
            project_refs = {
                'projects': {
                    'test': initial_project_refs
                }
            }
            _yaml.dump(project_refs, os.path.join(project, 'project.refs'))
    
        args = ['build']
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track'), track_targets))
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track-except'), exceptions))
        args += ['0.bst']
    
        result = cli.run(project=project, silent=True, args=args)
        result.assert_success()
        tracked_elements = result.get_tracked_elements()
    
        assert set(tracked_elements) == set(tracked)
    
        # Delete element sources
        source_dir = os.path.join(project, 'cache', 'sources')
        shutil.rmtree(source_dir)
    
        # Delete artifacts one by one and assert element states
        for target in set(tracked):
>           cli.remove_artifact_from_cache(project, target)

tests/frontend/buildtrack.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70cd1989e8>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12'
element_name = '0.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12 build --track 0.bst --track-except 2.bst --track-except 3.bst 0.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:56:47
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12)
  Targets:       0.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
fetch needed 2efb3fd841d7ec26b3a7b8fe9bf1985e78cd6475bc340ea5c7440d8010b05cbb 4.bst 
fetch needed 2efb3fd841d7ec26b3a7b8fe9bf1985e78cd6475bc340ea5c7440d8010b05cbb 5.bst 
fetch needed 962bfe8e7c2453fe16ed7fae0d64ba9ed57c5d4502b79674c75237dd5ff683f5 6.bst 
fetch needed 9b1eb7611c30e488678982f224114bed6b0462793b5b5b965074a14cf79d1fc0 3.bst 
fetch needed 2efb3fd841d7ec26b3a7b8fe9bf1985e78cd6475bc340ea5c7440d8010b05cbb 7.bst 
fetch needed 20b3dd5ce72efa2a260cb69e33b3e571730be95aa9ac0d9f985fdef8658abdea 2.bst 
no reference ???????????????????????????????????????????????????????????????? 0.bst 
===============================================================================
[--:--:--][2efb3fd8][fetch:4.bst                         ] START   test/4/2efb3fd8-fetch.8271.log
[--:--:--][2efb3fd8][fetch:4.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[--:--:--][9b1eb761][fetch:3.bst                         ] START   test/3/9b1eb761-fetch.8273.log
[--:--:--][2efb3fd8][fetch:5.bst                         ] START   test/5/2efb3fd8-fetch.8270.log
[--:--:--][2efb3fd8][fetch:5.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[--:--:--][9b1eb761][fetch:3.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[--:--:--][962bfe8e][fetch:6.bst                         ] START   test/6/962bfe8e-fetch.8272.log
[--:--:--][962bfe8e][fetch:6.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[--:--:--][20b3dd5c][fetch:2.bst                         ] START   test/2/20b3dd5c-fetch.8275.log
[--:--:--][2efb3fd8][fetch:7.bst                         ] START   test/7/2efb3fd8-fetch.8274.log
[--:--:--][2efb3fd8][fetch:7.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[--:--:--][20b3dd5c][fetch:2.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[--:--:--][????????][track:0.bst                         ] START   test/0/????????-track.8276.log
[--:--:--][????????][track:0.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[00:00:00][9b1eb761][fetch:3.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[00:00:00][962bfe8e][fetch:6.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[00:00:00][962bfe8e][fetch:6.bst                         ] SUCCESS test/6/962bfe8e-fetch.8272.log
[00:00:00][9b1eb761][fetch:3.bst                         ] SUCCESS test/3/9b1eb761-fetch.8273.log
[00:00:00][2efb3fd8][fetch:5.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[00:00:00][2efb3fd8][fetch:7.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[00:00:00][2efb3fd8][fetch:4.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][2efb3fd8][fetch:7.bst                         ] SUCCESS test/7/2efb3fd8-fetch.8274.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][20b3dd5c][fetch:2.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[00:00:00][20b3dd5c][fetch:2.bst                         ] SUCCESS test/2/20b3dd5c-fetch.8275.log
[00:00:00][????????][track:0.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets12/repo
[--:--:--][????????][track:0.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:0.bst                         ] SUCCESS test/0/????????-track.8276.log
[00:00:00][2efb3fd8][fetch:5.bst                         ] SUCCESS test/5/2efb3fd8-fetch.8270.log
[00:00:00][2efb3fd8][fetch:4.bst                         ] SUCCESS test/4/2efb3fd8-fetch.8271.log
[--:--:--][2efb3fd8][build:7.bst                         ] START   test/7/2efb3fd8-build.8377.log
[--:--:--][2efb3fd8][build:7.bst                         ] START   Staging sources
[00:00:00][2efb3fd8][build:7.bst                         ] SUCCESS Staging sources
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][2efb3fd8][build:7.bst                         ] START   Caching artifact
[00:00:00][2efb3fd8][build:7.bst                         ] SUCCESS Caching artifact
[00:00:00][2efb3fd8][build:7.bst                         ] SUCCESS test/7/2efb3fd8-build.8377.log
[--:--:--][2efb3fd8][build:5.bst                         ] START   test/5/2efb3fd8-build.8396.log
[--:--:--][2efb3fd8][build:5.bst                         ] START   Staging sources
[00:00:00][2efb3fd8][build:5.bst                         ] SUCCESS Staging sources
[--:--:--][2efb3fd8][build:4.bst                         ] START   test/4/2efb3fd8-build.8402.log
[--:--:--][2efb3fd8][build:4.bst                         ] START   Staging sources
[--:--:--][2efb3fd8][build:5.bst                         ] START   Caching artifact
[00:00:00][2efb3fd8][build:5.bst                         ] SUCCESS Caching artifact
[00:00:00][2efb3fd8][build:5.bst                         ] SUCCESS test/5/2efb3fd8-build.8396.log
[00:00:00][2efb3fd8][build:4.bst                         ] SUCCESS Staging sources
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][2efb3fd8][build:4.bst                         ] START   Caching artifact
[00:00:00][2efb3fd8][build:4.bst                         ] SUCCESS Caching artifact
[00:00:00][2efb3fd8][build:4.bst                         ] SUCCESS test/4/2efb3fd8-build.8402.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][962bfe8e][build:6.bst                         ] START   test/6/962bfe8e-build.8414.log
[--:--:--][962bfe8e][build:6.bst                         ] START   Staging sources
[00:00:00][962bfe8e][build:6.bst                         ] SUCCESS Staging sources
[--:--:--][962bfe8e][build:6.bst                         ] START   Caching artifact
[00:00:00][962bfe8e][build:6.bst                         ] SUCCESS Caching artifact
[00:00:00][962bfe8e][build:6.bst                         ] SUCCESS test/6/962bfe8e-build.8414.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][9b1eb761][build:3.bst                         ] START   test/3/9b1eb761-build.8421.log
[--:--:--][9b1eb761][build:3.bst                         ] START   Staging sources
[00:00:00][9b1eb761][build:3.bst                         ] SUCCESS Staging sources
[--:--:--][9b1eb761][build:3.bst                         ] START   Caching artifact
[00:00:00][9b1eb761][build:3.bst                         ] SUCCESS Caching artifact
[00:00:00][9b1eb761][build:3.bst                         ] SUCCESS test/3/9b1eb761-build.8421.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][20b3dd5c][build:2.bst                         ] START   test/2/20b3dd5c-build.8428.log
[--:--:--][20b3dd5c][build:2.bst                         ] START   Staging sources
[00:00:00][20b3dd5c][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][20b3dd5c][build:2.bst                         ] START   Caching artifact
[00:00:00][20b3dd5c][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][20b3dd5c][build:2.bst                         ] SUCCESS test/2/20b3dd5c-build.8428.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][b14f1bb3][build:0.bst                         ] START   test/0/b14f1bb3-build.8435.log
[--:--:--][b14f1bb3][build:0.bst                         ] START   Staging sources
[00:00:00][b14f1bb3][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][b14f1bb3][build:0.bst                         ] START   Caching artifact
[00:00:00][b14f1bb3][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][b14f1bb3][build:0.bst                         ] SUCCESS test/0/b14f1bb3-build.8435.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:01][][] SUCCESS Build

Resolved key Summary
      cached b14f1bb3d06ed1c07e911b857e29c2bd09ce93642e9cb44a756cffaf6ed9c873 0.bst 

Pipeline Summary
  Total:       7
  Session:     7
  Track Queue: processed 1, skipped 0, failed 0 
  Fetch Queue: processed 6, skipped 1, failed 0 
  Build Queue: processed 7, skipped 0, failed 0 

______ test_build_track[track_targets6-exceptions6-tracked6-project.refs] ______

cli = <tests.testutils.runcli.Cli object at 0x7f70cc992dd8>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13')
ref_storage = 'project.refs', track_targets = ['0.bst']
exceptions = ['2.bst', '3.bst'], tracked = ['0.bst']

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
    @pytest.mark.parametrize("track_targets,exceptions,tracked", [
        # Test with no exceptions
        (['0.bst'], [], ['0.bst', '2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
        (['3.bst'], [], ['3.bst', '4.bst', '5.bst', '6.bst']),
        (['2.bst', '3.bst'], [], ['2.bst', '3.bst', '4.bst', '5.bst', '6.bst', '7.bst']),
    
        # Test excepting '2.bst'
        (['0.bst'], ['2.bst'], ['0.bst', '3.bst', '4.bst', '5.bst', '6.bst']),
        (['3.bst'], ['2.bst'], []),
        (['2.bst', '3.bst'], ['2.bst'], ['3.bst', '4.bst', '5.bst', '6.bst']),
    
        # Test excepting '2.bst' and '3.bst'
        (['0.bst'], ['2.bst', '3.bst'], ['0.bst']),
        (['3.bst'], ['2.bst', '3.bst'], []),
        (['2.bst', '3.bst'], ['2.bst', '3.bst'], [])
    ])
    def test_build_track(cli, datafiles, tmpdir, ref_storage,
                         track_targets, exceptions, tracked):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        configure_project(project, {
            'ref-storage': ref_storage
        })
    
        create_elements = {
            '0.bst': [
                '2.bst',
                '3.bst'
            ],
            '2.bst': [
                '3.bst',
                '7.bst'
            ],
            '3.bst': [
                '4.bst',
                '5.bst',
                '6.bst'
            ],
            '4.bst': [],
            '5.bst': [],
            '6.bst': [
                '5.bst'
            ],
            '7.bst': []
        }
    
        initial_project_refs = {}
        for element, dependencies in create_elements.items():
            # Test the element inconsistency resolution by ensuring that
            # only elements that aren't tracked have refs
            if element in set(tracked):
                # Elements which should not have a ref set
                #
                create_element(repo, element, element_path, dependencies)
            elif ref_storage == 'project.refs':
                # Store a ref in project.refs
                #
                create_element(repo, element, element_path, dependencies)
                initial_project_refs[element] = [{'ref': ref}]
            else:
                # Store a ref in the element itself
                #
                create_element(repo, element, element_path, dependencies, ref=ref)
    
        # Generate initial project.refs
        if ref_storage == 'project.refs':
            project_refs = {
                'projects': {
                    'test': initial_project_refs
                }
            }
            _yaml.dump(project_refs, os.path.join(project, 'project.refs'))
    
        args = ['build']
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track'), track_targets))
        args += itertools.chain.from_iterable(zip(itertools.repeat('--track-except'), exceptions))
        args += ['0.bst']
    
        result = cli.run(project=project, silent=True, args=args)
        result.assert_success()
        tracked_elements = result.get_tracked_elements()
    
        assert set(tracked_elements) == set(tracked)
    
        # Delete element sources
        source_dir = os.path.join(project, 'cache', 'sources')
        shutil.rmtree(source_dir)
    
        # Delete artifacts one by one and assert element states
        for target in set(tracked):
>           cli.remove_artifact_from_cache(project, target)

tests/frontend/buildtrack.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70cc992dd8>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13'
element_name = '0.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13 build --track 0.bst --track-except 2.bst --track-except 3.bst 0.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] WARNING Ignoring redundant source references

    The following inline specified source references will be ignored:
    
    0.bst [line 6 column 2]:(None, [])
    3.bst [line 7 column 2]:(None, [])
    4.bst [line 4 column 2]:(None, [])
    5.bst [line 4 column 2]:(None, [])
    6.bst [line 5 column 2]:(None, [])
    2.bst [line 6 column 2]:(None, [])
    7.bst [line 4 column 2]:(None, [])

[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:56:49
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13)
  Targets:       0.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
fetch needed 6a155b0fcba0cdb8d5a3fecee234c88975f9d5d11d2faf669e68e7824fc2a046 4.bst 
fetch needed 6a155b0fcba0cdb8d5a3fecee234c88975f9d5d11d2faf669e68e7824fc2a046 5.bst 
fetch needed 48f8618d3122489cf7edc1a3848c4bd39e42bdc416a218e9b8b31155979aa417 6.bst 
fetch needed eb35f4511ef8e2c52535e57255a13fc23ded66a44d5e5a4b58ce7f72c6272b1a 3.bst 
fetch needed 6a155b0fcba0cdb8d5a3fecee234c88975f9d5d11d2faf669e68e7824fc2a046 7.bst 
fetch needed 12cb506d87ca1c3261789aeda0b17736742dca004ede0876a2b21a4d772b77f8 2.bst 
no reference ???????????????????????????????????????????????????????????????? 0.bst 
===============================================================================
[--:--:--][6a155b0f][fetch:4.bst                         ] START   test/4/6a155b0f-fetch.8451.log
[--:--:--][6a155b0f][fetch:5.bst                         ] START   test/5/6a155b0f-fetch.8450.log
[--:--:--][6a155b0f][fetch:4.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[--:--:--][eb35f451][fetch:3.bst                         ] START   test/3/eb35f451-fetch.8453.log
[--:--:--][6a155b0f][fetch:5.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[--:--:--][eb35f451][fetch:3.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[--:--:--][48f8618d][fetch:6.bst                         ] START   test/6/48f8618d-fetch.8452.log
[--:--:--][12cb506d][fetch:2.bst                         ] START   test/2/12cb506d-fetch.8455.log
[--:--:--][12cb506d][fetch:2.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[--:--:--][48f8618d][fetch:6.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[--:--:--][6a155b0f][fetch:7.bst                         ] START   test/7/6a155b0f-fetch.8454.log
[--:--:--][6a155b0f][fetch:7.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[--:--:--][????????][track:0.bst                         ] START   test/0/????????-track.8456.log
[--:--:--][????????][track:0.bst                         ] START   Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[00:00:00][6a155b0f][fetch:4.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[00:00:00][eb35f451][fetch:3.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[00:00:00][eb35f451][fetch:3.bst                         ] SUCCESS test/3/eb35f451-fetch.8453.log
[00:00:00][48f8618d][fetch:6.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[00:00:00][12cb506d][fetch:2.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[00:00:00][48f8618d][fetch:6.bst                         ] SUCCESS test/6/48f8618d-fetch.8452.log
[00:00:00][6a155b0f][fetch:5.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[00:00:00][6a155b0f][fetch:4.bst                         ] SUCCESS test/4/6a155b0f-fetch.8451.log
[00:00:00][12cb506d][fetch:2.bst                         ] SUCCESS test/2/12cb506d-fetch.8455.log
[00:00:00][6a155b0f][fetch:5.bst                         ] SUCCESS test/5/6a155b0f-fetch.8450.log
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][6a155b0f][fetch:7.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[00:00:00][6a155b0f][fetch:7.bst                         ] SUCCESS test/7/6a155b0f-fetch.8454.log
[00:00:00][????????][track:0.bst                         ] SUCCESS Tracking master from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_targets13/repo
[--:--:--][????????][track:0.bst                         ] INFO    Found new revision: ('2abde3f5dd1611de18c48ad51dc16457f5c47f55', [])
[00:00:00][????????][track:0.bst                         ] SUCCESS test/0/????????-track.8456.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][6a155b0f][build:7.bst                         ] START   test/7/6a155b0f-build.8551.log
[--:--:--][6a155b0f][build:7.bst                         ] START   Staging sources
[00:00:00][6a155b0f][build:7.bst                         ] SUCCESS Staging sources
[--:--:--][6a155b0f][build:7.bst                         ] START   Caching artifact
[00:00:00][6a155b0f][build:7.bst                         ] SUCCESS Caching artifact
[00:00:00][6a155b0f][build:7.bst                         ] SUCCESS test/7/6a155b0f-build.8551.log
[--:--:--][6a155b0f][build:5.bst                         ] START   test/5/6a155b0f-build.8570.log
[--:--:--][6a155b0f][build:5.bst                         ] START   Staging sources
[00:00:00][6a155b0f][build:5.bst                         ] SUCCESS Staging sources
[--:--:--][6a155b0f][build:4.bst                         ] START   test/4/6a155b0f-build.8577.log
[--:--:--][6a155b0f][build:4.bst                         ] START   Staging sources
[--:--:--][6a155b0f][build:5.bst                         ] START   Caching artifact
[00:00:00][6a155b0f][build:5.bst                         ] SUCCESS Caching artifact
[00:00:00][6a155b0f][build:5.bst                         ] SUCCESS test/5/6a155b0f-build.8570.log
[00:00:00][6a155b0f][build:4.bst                         ] SUCCESS Staging sources
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][6a155b0f][build:4.bst                         ] START   Caching artifact
[00:00:00][6a155b0f][build:4.bst                         ] SUCCESS Caching artifact
[00:00:00][6a155b0f][build:4.bst                         ] SUCCESS test/4/6a155b0f-build.8577.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][48f8618d][build:6.bst                         ] START   test/6/48f8618d-build.8588.log
[--:--:--][48f8618d][build:6.bst                         ] START   Staging sources
[00:00:00][48f8618d][build:6.bst                         ] SUCCESS Staging sources
[--:--:--][48f8618d][build:6.bst                         ] START   Caching artifact
[00:00:00][48f8618d][build:6.bst                         ] SUCCESS Caching artifact
[00:00:00][48f8618d][build:6.bst                         ] SUCCESS test/6/48f8618d-build.8588.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][eb35f451][build:3.bst                         ] START   test/3/eb35f451-build.8595.log
[--:--:--][eb35f451][build:3.bst                         ] START   Staging sources
[00:00:00][eb35f451][build:3.bst                         ] SUCCESS Staging sources
[--:--:--][eb35f451][build:3.bst                         ] START   Caching artifact
[00:00:00][eb35f451][build:3.bst                         ] SUCCESS Caching artifact
[00:00:00][eb35f451][build:3.bst                         ] SUCCESS test/3/eb35f451-build.8595.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][12cb506d][build:2.bst                         ] START   test/2/12cb506d-build.8602.log
[--:--:--][12cb506d][build:2.bst                         ] START   Staging sources
[00:00:00][12cb506d][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][12cb506d][build:2.bst                         ] START   Caching artifact
[00:00:00][12cb506d][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][12cb506d][build:2.bst                         ] SUCCESS test/2/12cb506d-build.8602.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][dc2982f6][build:0.bst                         ] START   test/0/dc2982f6-build.8609.log
[--:--:--][dc2982f6][build:0.bst                         ] START   Staging sources
[00:00:00][dc2982f6][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][dc2982f6][build:0.bst                         ] START   Caching artifact
[00:00:00][dc2982f6][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][dc2982f6][build:0.bst                         ] SUCCESS test/0/dc2982f6-build.8609.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:01][][] SUCCESS Build

Resolved key Summary
      cached dc2982f6c943104de599a5865216a9689c97ddd4b7e3dcbd5ecfe01e4962e4e6 0.bst 

Pipeline Summary
  Total:       7
  Session:     7
  Track Queue: processed 1, skipped 0, failed 0 
  Fetch Queue: processed 6, skipped 1, failed 0 
  Build Queue: processed 7, skipped 0, failed 0 

____________________ test_build_track_track_first[--strict] ____________________

cli = <tests.testutils.runcli.Cli object at 0x7f70c68a5cf8>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0')
strict = '--strict'

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("strict", ['--strict', '--no-strict'])
    def test_build_track_track_first(cli, datafiles, tmpdir, strict):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        create_elements = {
            '0.bst': [
                '1.bst'
            ],
            '1.bst': [],
            '2.bst': [
                '0.bst'
            ]
        }
        for element, dependencies in create_elements.items():
            # We set a ref so that 0.bst can already be built even if
            # 1.bst has not been tracked yet.
            create_element(repo, element, element_path, dependencies, ref=ref)
            repo.add_commit()
    
        # Build 1.bst and 2.bst first so we have an artifact for them
        args = [strict, 'build', '2.bst']
        result = cli.run(args=args, project=project, silent=True)
        result.assert_success()
    
        # Test building 0.bst while tracking 1.bst
>       cli.remove_artifact_from_cache(project, '0.bst')

tests/frontend/buildtrack.py:291: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70c68a5cf8>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0'
element_name = '0.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
[master e0d98f5] Additional commit
[master 6b5ef79] Additional commit
[master 2b92a7d] Additional commit
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0 --strict build 2.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:57:09
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0)
  Targets:       2.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/cache/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
fetch needed e705efe0a5b19d6d62a768f394b09e5e860ff2250ab7339e775925ae41d4c8a1 1.bst 
fetch needed f9af5cdff3b6a11a48c8e748cefb934bb4dc1977bb242ec3c5509ebd4917daa3 0.bst 
fetch needed 5002283ce84f77d999fb93a0bf62ba2c60eeaa1c11703b05fed9fc5518585a1b 2.bst 
===============================================================================
[--:--:--][f9af5cdf][fetch:0.bst                         ] START   test/0/f9af5cdf-fetch.11154.log
[--:--:--][f9af5cdf][fetch:0.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/repo
[--:--:--][e705efe0][fetch:1.bst                         ] START   test/1/e705efe0-fetch.11153.log
[--:--:--][e705efe0][fetch:1.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/repo
[--:--:--][5002283c][fetch:2.bst                         ] START   test/2/5002283c-fetch.11155.log
[--:--:--][5002283c][fetch:2.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/repo
[00:00:00][f9af5cdf][fetch:0.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/repo
[00:00:00][e705efe0][fetch:1.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/repo
[00:00:00][f9af5cdf][fetch:0.bst                         ] SUCCESS test/0/f9af5cdf-fetch.11154.log
[00:00:00][e705efe0][fetch:1.bst                         ] SUCCESS test/1/e705efe0-fetch.11153.log
[00:00:00][5002283c][fetch:2.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__0/repo
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][5002283c][fetch:2.bst                         ] SUCCESS test/2/5002283c-fetch.11155.log
[--:--:--][e705efe0][build:1.bst                         ] START   test/1/e705efe0-build.11202.log
[--:--:--][e705efe0][build:1.bst                         ] START   Staging sources
[00:00:00][e705efe0][build:1.bst                         ] SUCCESS Staging sources
[--:--:--][e705efe0][build:1.bst                         ] START   Caching artifact
[00:00:00][e705efe0][build:1.bst                         ] SUCCESS Caching artifact
[00:00:00][e705efe0][build:1.bst                         ] SUCCESS test/1/e705efe0-build.11202.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][f9af5cdf][build:0.bst                         ] START   test/0/f9af5cdf-build.11217.log
[--:--:--][f9af5cdf][build:0.bst                         ] START   Staging sources
[00:00:00][f9af5cdf][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][f9af5cdf][build:0.bst                         ] START   Caching artifact
[00:00:00][f9af5cdf][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][f9af5cdf][build:0.bst                         ] SUCCESS test/0/f9af5cdf-build.11217.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][5002283c][build:2.bst                         ] START   test/2/5002283c-build.11224.log
[--:--:--][5002283c][build:2.bst                         ] START   Staging sources
[00:00:00][5002283c][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][5002283c][build:2.bst                         ] START   Caching artifact
[00:00:00][5002283c][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][5002283c][build:2.bst                         ] SUCCESS test/2/5002283c-build.11224.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][][] SUCCESS Build

Pipeline Summary
  Total:       3
  Session:     3
  Fetch Queue: processed 3, skipped 0, failed 0 
  Build Queue: processed 3, skipped 0, failed 0 

__________________ test_build_track_track_first[--no-strict] ___________________

cli = <tests.testutils.runcli.Cli object at 0x7f70ccb16dd8>
datafiles = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1')
tmpdir = local('/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1')
strict = '--no-strict'

    @pytest.mark.datafiles(os.path.join(DATA_DIR))
    @pytest.mark.parametrize("strict", ['--strict', '--no-strict'])
    def test_build_track_track_first(cli, datafiles, tmpdir, strict):
        project = os.path.join(datafiles.dirname, datafiles.basename)
        dev_files_path = os.path.join(project, 'files', 'dev-files')
        element_path = os.path.join(project, 'elements')
    
        repo = create_repo('git', str(tmpdir))
        ref = repo.create(dev_files_path)
    
        create_elements = {
            '0.bst': [
                '1.bst'
            ],
            '1.bst': [],
            '2.bst': [
                '0.bst'
            ]
        }
        for element, dependencies in create_elements.items():
            # We set a ref so that 0.bst can already be built even if
            # 1.bst has not been tracked yet.
            create_element(repo, element, element_path, dependencies, ref=ref)
            repo.add_commit()
    
        # Build 1.bst and 2.bst first so we have an artifact for them
        args = [strict, 'build', '2.bst']
        result = cli.run(args=args, project=project, silent=True)
        result.assert_success()
    
        # Test building 0.bst while tracking 1.bst
>       cli.remove_artifact_from_cache(project, '0.bst')

tests/frontend/buildtrack.py:291: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.testutils.runcli.Cli object at 0x7f70ccb16dd8>
project = '/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1'
element_name = '0.bst'

    def remove_artifact_from_cache(self, project, element_name,
                                   *, cache_dir=None):
        # Read configuration to figure out where artifacts are stored
        if not cache_dir:
>           cache_dir = self.config.get(
                'artifactdir',
                os.path.join(project, 'cache', 'artifacts')
            )
E           AttributeError: 'NoneType' object has no attribute 'get'

tests/testutils/runcli.py:250: AttributeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/repo/.git/
[master (root-commit) 2abde3f] Initial commit
 1 file changed, 12 insertions(+)
 create mode 100644 usr/include/pony.h
[master e0d98f5] Additional commit
[master 6b5ef79] Additional commit
[master 2b92a7d] Additional commit
BuildStream exited with code 0 for invocation:
	bst --no-colors --no-verbose --config /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/cache/buildstream.conf --directory /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1 --no-strict build 2.bst
Program stderr was:
[--:--:--][][] START   Build
[--:--:--][][] START   Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources

BuildStream Version 1.3.0+1299.g745794d8
  Session Start: Friday, 18-01-2019 at 16:57:10
  Project:       test (/builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1)
  Targets:       2.bst

User Configuration
  Configuration File:      /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/cache/buildstream.conf
  Log Files:               /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/cache/logs
  Source Mirrors:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/cache/sources
  Build Area:              /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/cache/build
  Artifact Cache:          /builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/cache/artifacts
  Strict Build Plan:       No
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
fetch needed dfa1e75b577becc672f90b117ec646c720eae87a02eb6eaf5f94f01c026b2bb6 1.bst 
fetch needed e569a5540fe1bf9f27b5c8408c5a61b33fb3e1c02a60bbea170a8b9d8f1adc18 0.bst 
fetch needed b74d8b8c0a5f5207e99ec928007262b50fd4388b395d5ee6f2b9fb5096de74d9 2.bst 
===============================================================================
[--:--:--][e569a554][fetch:0.bst                         ] START   test/0/e569a554-fetch.11246.log
[--:--:--][e569a554][fetch:0.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/repo
[--:--:--][dfa1e75b][fetch:1.bst                         ] START   test/1/dfa1e75b-fetch.11245.log
[--:--:--][dfa1e75b][fetch:1.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/repo
[--:--:--][b74d8b8c][fetch:2.bst                         ] START   test/2/b74d8b8c-fetch.11247.log
[--:--:--][b74d8b8c][fetch:2.bst                         ] START   Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/repo
[00:00:00][e569a554][fetch:0.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/repo
[00:00:00][e569a554][fetch:0.bst                         ] SUCCESS test/0/e569a554-fetch.11246.log
[00:00:00][b74d8b8c][fetch:2.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/repo
[00:00:00][b74d8b8c][fetch:2.bst                         ] SUCCESS test/2/b74d8b8c-fetch.11247.log
[00:00:00][dfa1e75b][fetch:1.bst                         ] SUCCESS Fetching from file:///builds/BuildStream/buildstream/.tox/py35/tmp/test_build_track_track_first__1/repo
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][dfa1e75b][fetch:1.bst                         ] SUCCESS test/1/dfa1e75b-fetch.11245.log
[--:--:--][dfa1e75b][build:1.bst                         ] START   test/1/dfa1e75b-build.11302.log
[--:--:--][dfa1e75b][build:1.bst                         ] START   Staging sources
[00:00:00][dfa1e75b][build:1.bst                         ] SUCCESS Staging sources
[--:--:--][dfa1e75b][build:1.bst                         ] START   Caching artifact
[00:00:00][dfa1e75b][build:1.bst                         ] SUCCESS Caching artifact
[00:00:00][dfa1e75b][build:1.bst                         ] SUCCESS test/1/dfa1e75b-build.11302.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][e569a554][build:0.bst                         ] START   test/0/e569a554-build.11309.log
[--:--:--][e569a554][build:0.bst                         ] START   Staging sources
[00:00:00][e569a554][build:0.bst                         ] SUCCESS Staging sources
[--:--:--][e569a554][build:0.bst                         ] START   Caching artifact
[00:00:00][e569a554][build:0.bst                         ] SUCCESS Caching artifact
[00:00:00][e569a554][build:0.bst                         ] SUCCESS test/0/e569a554-build.11309.log
Coverage.py warning: No data was collected. (no-data-collected)
[--:--:--][b74d8b8c][build:2.bst                         ] START   test/2/b74d8b8c-build.11316.log
[--:--:--][b74d8b8c][build:2.bst                         ] START   Staging sources
[00:00:00][b74d8b8c][build:2.bst                         ] SUCCESS Staging sources
[--:--:--][b74d8b8c][build:2.bst                         ] START   Caching artifact
[00:00:00][b74d8b8c][build:2.bst                         ] SUCCESS Caching artifact
[00:00:00][b74d8b8c][build:2.bst                         ] SUCCESS test/2/b74d8b8c-build.11316.log
Coverage.py warning: No data was collected. (no-data-collected)
[00:00:00][][] SUCCESS Build

Pipeline Summary
  Total:       3
  Session:     3
  Fetch Queue: processed 3, skipped 0, failed 0 
  Build Queue: processed 3, skipped 0, failed 0 


----------- coverage: platform linux, python 3.5.3-final-0 -----------
Name                                                     Stmts   Miss     Cover   Missing
-----------------------------------------------------------------------------------------
buildstream/__init__.py                                     14      0   100.00%
buildstream/_artifactcache.py                              315     21    93.33%   168-169, 380, 382, 401, 661-662, 684, 701, 704, 708, 729, 732, 764-765, 791, 828-829, 849, 853, 875
buildstream/_cachekey.py                                     7      0   100.00%
buildstream/_cas/__init__.py                                 2      0   100.00%
buildstream/_cas/cascache.py                               468     30    93.59%   61, 128, 138-142, 224, 227-228, 247-251, 300, 313, 404-405, 512-513, 529, 550, 662-666, 674, 685, 721-724, 727-730
buildstream/_cas/casremote.py                              239     51    78.66%   38-39, 46, 75-76, 100-126, 139-143, 151-153, 161-164, 186, 191-198, 209-211, 224-233, 335, 338, 341, 383
buildstream/_cas/casserver.py                              335     88    73.73%   103-144, 158-159, 162-163, 168-169, 172, 183-184, 190-191, 199-200, 207-208, 212, 223-226, 231-232, 235-236, 242-243, 247-248, 272, 287-288, 296-297, 300-301, 309-310, 319-320, 327-328, 338-341, 392-393, 413, 416, 423-424, 432-434, 437, 442, 448-449, 491, 505-509, 517-518, 525
buildstream/_context.py                                    255     16    93.73%   177-180, 470, 475-476, 546-550, 556-557, 672, 695-696
buildstream/_elementfactory.py                              12      0   100.00%
buildstream/_exceptions.py                                 105      0   100.00%
buildstream/_frontend/__init__.py                            6      0   100.00%
buildstream/_frontend/app.py                               383    142    62.92%   97, 111, 113, 134, 194-195, 335-336, 342-343, 357-358, 383, 421, 431, 445-454, 472-509, 536-537, 552, 560-622, 699, 703-708, 719-720, 758-838
buildstream/_frontend/cli.py                               491     73    85.13%   41, 56, 95-98, 125-126, 130-133, 185-187, 280-293, 348-350, 353, 520, 582, 604, 615-616, 649-650, 658-659, 672, 726-727, 817-818, 829, 897, 901-902, 914, 917-921, 923, 926-928, 958, 961, 964-966, 998, 1008-1012, 1054-1056, 1061-1062, 1110-1111, 1130-1131
buildstream/_frontend/complete.py                          145     10    93.10%   98-101, 172, 176, 223, 263, 272, 306-309
buildstream/_frontend/linuxapp.py                           18     12    33.33%   31-51, 63-64
buildstream/_frontend/profile.py                            17      0   100.00%
buildstream/_frontend/status.py                            207    122    41.06%   136-139, 153-192, 216-244, 247-250, 253-263, 266-270, 273-294, 297-298, 305-315, 354-398, 404-419, 422-429, 483-495
buildstream/_frontend/widget.py                            393     15    96.18%   74, 81, 262, 413, 423, 504, 521, 582, 605-607, 613, 623, 652, 665
buildstream/_fuse/__init__.py                                1      0   100.00%
buildstream/_fuse/fuse.py                                  415    167    59.76%   39-50, 70-71, 77, 82, 86-120, 166-273, 292-301, 405, 412, 422-424, 491-492, 499-500, 504, 522-524, 531, 548, 562, 566, 572, 576, 580-585, 588, 593, 602, 623, 631-637, 641, 649, 656-661, 665, 673-683, 686-701, 704, 722-727, 730, 741, 758, 768-773, 782-785, 792-797, 801-808, 811, 827, 831, 836, 839, 850, 858, 861, 864, 878-880, 897, 900, 905, 908, 921, 931, 939, 942, 945, 951, 954, 957, 960, 971, 976, 979, 982, 987, 990, 997-1006
buildstream/_fuse/hardlinks.py                             112     21    81.25%   49, 106, 109-113, 116-120, 142, 147, 157-159, 167, 170, 177, 180, 207-209, 218
buildstream/_fuse/mount.py                                  48      2    95.83%   130, 166
buildstream/_gitsourcebase.py                              341     16    95.31%   90-91, 236, 274, 393-394, 471, 474, 488, 495-500, 522, 601, 627
buildstream/_includes.py                                    58      1    98.28%   75
buildstream/_loader/__init__.py                              3      0   100.00%
buildstream/_loader/loadelement.py                          66      4    93.94%   144, 157-158, 180
buildstream/_loader/loader.py                              305     20    93.44%   63, 229, 246, 255-256, 407, 410-416, 530, 534, 544, 557, 590-597, 719
buildstream/_loader/metaelement.py                          16      0   100.00%
buildstream/_loader/metasource.py                            9      0   100.00%
buildstream/_loader/types.py                                25      0   100.00%
buildstream/_message.py                                     32      0   100.00%
buildstream/_options/__init__.py                             1      0   100.00%
buildstream/_options/option.py                              21      0   100.00%
buildstream/_options/optionarch.py                          27      0   100.00%
buildstream/_options/optionbool.py                          23      1    95.65%   41
buildstream/_options/optioneltmask.py                       12      0   100.00%
buildstream/_options/optionenum.py                          35      0   100.00%
buildstream/_options/optionflags.py                         38      1    97.37%   55
buildstream/_options/optionos.py                            10      0   100.00%
buildstream/_options/optionpool.py                         110      0   100.00%
buildstream/_ostree.py                                      83     26    68.67%   114-115, 140, 192-211, 234, 266-267, 271-276
buildstream/_pipeline.py                                   176      1    99.43%   492
buildstream/_platform/__init__.py                            1      0   100.00%
buildstream/_platform/darwin.py                             17     17     0.00%   18-48
buildstream/_platform/linux.py                              78     13    83.33%   79-82, 89, 92-102, 113, 148-149
buildstream/_platform/platform.py                           56     12    78.57%   44, 47-50, 54-59, 72, 144, 148
buildstream/_platform/unix.py                               21     21     0.00%   20-56
buildstream/_plugincontext.py                               99     25    74.75%   87, 91-129, 144-147, 178-179, 197
buildstream/_project.py                                    337     10    97.03%   70, 413, 479-480, 515, 517, 567, 726, 744, 779
buildstream/_projectrefs.py                                 62      2    96.77%   79, 159
buildstream/_scheduler/__init__.py                           8      0   100.00%
buildstream/_scheduler/jobs/__init__.py                      4      0   100.00%
buildstream/_scheduler/jobs/cachesizejob.py                 16      0   100.00%
buildstream/_scheduler/jobs/cleanupjob.py                   14      0   100.00%
buildstream/_scheduler/jobs/elementjob.py                   30      0   100.00%
buildstream/_scheduler/jobs/job.py                         201     34    83.08%   175-185, 200-201, 209-211, 218-235, 242-248, 282, 295, 372, 377, 418-431, 558, 579, 598
buildstream/_scheduler/queues/__init__.py                    1      0   100.00%
buildstream/_scheduler/queues/buildqueue.py                 48      1    97.92%   79
buildstream/_scheduler/queues/fetchqueue.py                 30      1    96.67%   53
buildstream/_scheduler/queues/pullqueue.py                  26      1    96.15%   61
buildstream/_scheduler/queues/pushqueue.py                  14      0   100.00%
buildstream/_scheduler/queues/queue.py                     108      6    94.44%   104, 117, 250-253
buildstream/_scheduler/queues/trackqueue.py                 22      0   100.00%
buildstream/_scheduler/resources.py                         38      1    97.37%   87
buildstream/_scheduler/scheduler.py                        181     39    78.45%   204-210, 232, 297, 443-447, 454-459, 472-481, 488, 497-505, 524-536
buildstream/_signals.py                                     69     21    69.57%   37-54, 105-117, 172, 195-203
buildstream/_site.py                                        20      2    90.00%   64-65
buildstream/_sourcefactory.py                               12      0   100.00%
buildstream/_stream.py                                     479     60    87.47%   149, 314, 416-417, 478-479, 525-530, 535, 539, 568, 614-615, 636, 647, 649, 653, 661-664, 670-671, 705, 781, 829-830, 894, 1026-1030, 1091-1092, 1095, 1102, 1105, 1113-1114, 1141-1142, 1152, 1163-1164, 1170-1171, 1193-1194, 1221-1228, 1247-1248
buildstream/_variables.py                                   81     17    79.01%   70-74, 166-172, 182-186, 195
buildstream/_versions.py                                     2      0   100.00%
buildstream/_workspaces.py                                 199     10    94.97%   322-323, 363-364, 383, 451, 491, 514, 554, 593
buildstream/_yaml.py                                       504     36    92.86%   370, 395, 471, 481, 558, 592-593, 746, 804, 866, 992, 997, 1004, 1009-1015, 1023, 1035-1039, 1045-1053, 1056-1058, 1088, 1118, 1120
buildstream/_yamlcache.py                                  149     12    91.95%   76-78, 102-103, 154-155, 353-358, 364
buildstream/buildelement.py                                 76      7    90.79%   252, 269-276
buildstream/element.py                                    1062     47    95.57%   270, 290, 307, 345, 367, 415, 456, 488-490, 514-516, 732, 754-758, 838, 881, 1024, 1253, 1258, 1328-1330, 1413, 1555, 1612-1613, 1774, 1802, 1827-1828, 1885, 2236-2247, 2251-2255, 2311, 2443, 2634, 2663, 2693, 2729-2730
buildstream/plugin.py                                      142      7    95.07%   236, 257, 279, 323-324, 530, 724
buildstream/plugins/elements/autotools.py                    9      0   100.00%
buildstream/plugins/elements/cmake.py                        9      0   100.00%
buildstream/plugins/elements/compose.py                     79      3    96.20%   136, 140, 177
buildstream/plugins/elements/distutils.py                    9      2    77.78%   44-45
buildstream/plugins/elements/filter.py                      42      0   100.00%
buildstream/plugins/elements/import.py                      48      2    95.83%   56, 87
buildstream/plugins/elements/junction.py                    24      4    83.33%   153, 156, 159, 162
buildstream/plugins/elements/make.py                         9      0   100.00%
buildstream/plugins/elements/makemaker.py                    9      2    77.78%   44-45
buildstream/plugins/elements/manual.py                       9      0   100.00%
buildstream/plugins/elements/modulebuild.py                  9      2    77.78%   44-45
buildstream/plugins/elements/pip.py                          9      0   100.00%
buildstream/plugins/elements/qmake.py                        9      2    77.78%   44-45
buildstream/plugins/elements/script.py                      17      0   100.00%
buildstream/plugins/elements/stack.py                       20      0   100.00%
buildstream/plugins/sources/__init__.py                      0      0   100.00%
buildstream/plugins/sources/_downloadablefilesource.py     152     12    92.11%   58, 62, 66, 148-149, 154-155, 180, 213, 242-244
buildstream/plugins/sources/bzr.py                          98     10    89.80%   111, 167-168, 175-176, 181-184, 209-210
buildstream/plugins/sources/deb.py                          21      0   100.00%
buildstream/plugins/sources/git.py                           6      0   100.00%
buildstream/plugins/sources/local.py                        63      1    98.41%   81
buildstream/plugins/sources/ostree.py                       94      9    90.43%   110, 147-148, 161-162, 191, 195-196, 200
buildstream/plugins/sources/patch.py                        28      1    96.43%   72
buildstream/plugins/sources/pip.py                          90     15    83.33%   137, 153, 181-201, 213, 247
buildstream/plugins/sources/remote.py                       23      0   100.00%
buildstream/plugins/sources/tar.py                          83      4    95.18%   121-122, 188, 196
buildstream/plugins/sources/zip.py                          76      5    93.42%   109, 115-116, 167, 175
buildstream/sandbox/__init__.py                              3      0   100.00%
buildstream/sandbox/_config.py                              13      0   100.00%
buildstream/sandbox/_mount.py                               54      0   100.00%
buildstream/sandbox/_mounter.py                             51     36    29.41%   34-57, 62-71, 95-105, 132-147
buildstream/sandbox/_sandboxbwrap.py                       185     61    67.03%   80, 168-170, 242-247, 250-264, 294-303, 306-309, 312-316, 319-323, 362-371, 377-378, 385, 395-397, 410-430
buildstream/sandbox/_sandboxchroot.py                      135    135     0.00%   21-325
buildstream/sandbox/_sandboxdummy.py                        10      1    90.00%   31
buildstream/sandbox/_sandboxremote.py                      276    210    23.91%   56-100, 103, 137, 143, 160-176, 184-237, 241-255, 267-305, 309-379, 386-409, 413-416, 425-445, 448, 458-463, 466-472, 475, 478-508, 511
buildstream/sandbox/sandbox.py                             202     10    95.05%   126, 170-174, 194, 203, 289, 372, 408
buildstream/scriptelement.py                                99      7    92.93%   75, 90, 172, 180, 240, 260, 295
buildstream/source.py                                      326     16    95.09%   225, 329, 365, 383, 429, 446, 868, 879-880, 900, 902-904, 1071, 1097, 1144
buildstream/storage/__init__.py                              2      0   100.00%
buildstream/storage/_casbaseddirectory.py                  413     78    81.11%   79, 125, 138-140, 154-155, 164-167, 181, 185-188, 214-222, 266, 274, 284-289, 315-320, 324-329, 356, 399, 411-415, 423-427, 467-469, 486-487, 492, 637-638, 657, 693, 696, 708, 716-717, 722, 727, 744-746, 754, 773, 777, 831-832, 835-842, 845, 850
buildstream/storage/_filebaseddirectory.py                 101      3    97.03%   73, 176, 208
buildstream/storage/directory.py                            30     12    60.00%   50, 70, 100, 115, 125, 131, 137, 142, 147, 158, 168, 178
buildstream/types.py                                        22      0   100.00%
buildstream/utils.py                                       471    102    78.34%   243-244, 270, 276-287, 308, 314-318, 355, 392-393, 437, 494, 499-504, 588-591, 724-725, 730-731, 753, 846-851, 860, 866-867, 876-877, 883-890, 893, 901, 1043-1062, 1086, 1089-1091, 1095-1124, 1127-1129, 1132-1134, 1192, 1194-1210, 1238-1242
-----------------------------------------------------------------------------------------
TOTAL                                                    13024   1987    84.74%

========================== slowest 20 test durations ===========================
120.02s call     tests/examples/flatpak-autotools.py::test_autotools_build
36.57s call     tests/integration/build-tree.py::test_buildtree_options
33.74s call     tests/integration/build-tree.py::test_buildtree_pulled
32.90s call     tests/integration/pullbuildtrees.py::test_pullbuildtrees
31.61s call     tests/examples/autotools.py::test_autotools_build
26.02s call     tests/integration/pip_source.py::test_pip_source_build
25.37s call     tests/examples/developing.py::test_autotools_build
23.76s call     tests/examples/integration-commands.py::test_integration_commands_build
21.64s call     tests/examples/running-commands.py::test_running_commands_build
18.87s call     tests/integration/build-uid.py::test_build_uid_overridden
18.69s call     tests/integration/build-uid.py::test_build_uid_in_project
17.94s call     tests/integration/artifact.py::test_artifact_log
16.31s call     tests/integration/script.py::test_regression_tmpdir
15.38s call     tests/integration/pip_element.py::test_pip_run
14.10s call     tests/integration/pip_element.py::test_pip_build
12.73s call     tests/integration/autotools.py::test_autotools_build
10.99s call     tests/integration/workspace.py::test_workspace_update_dependency_failed
10.95s call     tests/frontend/show.py::test_exceed_max_recursion_depth[500]
10.17s call     tests/integration/autotools.py::test_autotools_confroot_build
9.56s call     tests/sources/tar.py::test_netrc_already_specified_user[FTP]
============= 14 failed, 1267 passed, 3 skipped in 1468.08 seconds =============
ERROR: InvocationError for command '/builds/BuildStream/buildstream/.tox/py35/bin/pytest --basetemp /builds/BuildStream/buildstream/.tox/py35/tmp --color=yes --integration' (exited with code 1)
py36 create: /builds/BuildStream/buildstream/.tox/py36
SKIPPED: InterpreterNotFound: python3.6
py37 create: /builds/BuildStream/buildstream/.tox/py37
SKIPPED: InterpreterNotFound: python3.7
___________________________________ summary ____________________________________
ERROR:   py35: commands failed
SKIPPED:  py36: InterpreterNotFound: python3.6
SKIPPED:  py37: InterpreterNotFound: python3.7
section_end:1547831680:build_script
section_start:1547831680:after_script
section_end:1547831682:after_script
section_start:1547831682:upload_artifacts_on_failure
section_end:1547831684:upload_artifacts_on_failure
ERROR: Job failed: exit code 1