zuul/tests/unit
Tobias Henkel 2b3a041e61
Don't call the merger for non-live items
When processing changes with dependencies in pipelines using the
independent pipeline manager we enqueue non-live items that represent
the dependent changes but don't run tests. Currently we perform a
merge operation also with every non-live item. Especially when
rebasing large stacks in Gerrit this can lead to a huge overhead of
merges. In this case we perform 1 + 2 + ... + n merges where n is the
size of the stack in Gerrit. E.g. a rebase of a stack of 20 changes we
perform 210 merge operations.

Those merges are needed to get the changed config of every item ahead
because we need the resulting config changes to produce a correct
layout. Fortunately the merger already returns a list of file changes
per item. We can leverage this to populate the changed files of all
non-live changes ahead when we receive the merge result of the live
change. This makes it possible to skip the merges of the non-live
changes ahead and have one merge operation per change.

In the rebase example above this optimization reduces the number of
performed merges from 210 to 20.

Change-Id: I82848367bd6f191ec5ae5822a1f438070cde14e1
2019-03-17 10:03:56 +01:00
..
__init__.py Move tests into test/unit 2017-01-24 10:18:38 -08:00
test_bubblewrap.py Fix bwrap leak test 2018-06-05 11:23:37 -07:00
test_change_matcher.py Fix branch matching logic 2017-10-02 17:30:51 -04:00
test_client.py Add tenant yaml validation option to zuul client 2018-07-23 17:00:57 +02:00
test_configloader.py Don't exclude config if excluded in earlier tenant 2019-02-11 16:03:57 +01:00
test_connection.py Report the build execute_time via mqtt 2019-01-30 14:33:15 +01:00
test_cross_crd.py Fix race in test_crd_check_unknown 2018-08-10 15:42:45 -07:00
test_daemon.py Remove unecessary shebang and exec bit 2018-07-26 07:12:24 +00:00
test_default_config.py Add type check for zuul conf 2018-12-10 19:24:50 +08:00
test_disk_accountant.py Optionally disable disk_limit_per_job 2019-02-22 08:10:59 +01:00
test_encryption.py Use nested tempfile fixture for cleanups 2018-02-06 15:18:45 -08:00
test_executor.py Fix test_load_governor on large machines 2019-01-11 12:39:23 +01:00
test_gerrit.py Filter file comments for existing files 2018-10-25 06:21:01 -07:00
test_gerrit_crd.py Fix "reverse" Depends-On detection with new Gerrit URL schema 2018-11-30 11:02:32 +07:00
test_gerrit_legacy_crd.py Remove unecessary shebang and exec bit 2018-07-26 07:12:24 +00:00
test_git_driver.py Stabilize git driver tests 2018-01-17 09:53:18 -08:00
test_github_crd.py Remove unecessary shebang and exec bit 2018-07-26 07:12:24 +00:00
test_github_driver.py Switch to LRU based sha to PR cache 2019-02-19 09:31:54 -08:00
test_github_requirements.py Remove unecessary shebang and exec bit 2018-07-26 07:12:24 +00:00
test_inventory.py Encode zuul.message with base64 2019-02-28 18:09:22 +01:00
test_keystorage.py Add private key storage migration 2018-09-04 15:42:38 -07:00
test_merger_repo.py Don't call the merger for non-live items 2019-03-17 10:03:56 +01:00
test_model.py Merge "Raise an error if pipeline is defined twice" 2019-03-15 20:21:35 +00:00
test_multi_driver.py Remove status handling from FakeGithubConnection 2017-08-03 19:22:54 +00:00
test_nodepool.py Set relative priority of node requests 2018-11-30 12:50:34 +01:00
test_openstack.py Remove unecessary shebang and exec bit 2018-07-26 07:12:24 +00:00
test_push_reqs.py Ensure ref-updated jobs run with their ref 2017-08-02 16:56:18 -07:00
test_requirements.py Fix reject clauses in the absence of approvals 2018-08-13 12:37:32 +02:00
test_scheduler.py Merge "CLI: fail if trying to enqueue/dequeue a change for the wrong project" 2019-03-15 05:47:34 +00:00
test_ssh_agent.py Add SSH Agent Primitives and usage 2017-05-26 09:52:22 -07:00
test_stack_dump.py Several executor threading fixes 2017-10-17 09:49:29 -07:00
test_streaming.py Properly close streams 2019-02-03 17:16:44 +01:00
test_supercedent.py Add supercedent pipeline manager 2018-06-14 16:32:03 -07:00
test_v3.py Don't call the merger for non-live items 2019-03-17 10:03:56 +01:00
test_web.py tests: remove debugging prints 2019-03-08 07:00:43 +00:00
test_web_urls.py Fix flake 3.6.0 warnings 2018-10-28 16:39:30 +01:00
test_zuultrigger.py Remove unecessary shebang and exec bit 2018-07-26 07:12:24 +00:00