zuul/tests
James E. Blair e4f1b9b65e Fix infinite recursion in getRelatedChanges
It's possible to have a loop in change relationships (whether accidentally
or intentionally).  The current method of getting related changes in order
to prune the change cache does not handle that.

This reworks that method to be safe for recursion.

During development, it was observed that the set of relevant changes was
actually a mixture of cache keys (which are objects) and cache references
(which are string representations of the same).  This change also refactors
the collection of relevant cache keys into a method which can be tested on
its own to verify we get keys of a consistent type.

Change-Id: Ie76f9b19f10b053f5c72bdaf7be3efc445b53639
2021-10-13 10:42:07 -07:00
..
fixtures Include project name in gerrit branch cache 2021-09-28 17:21:32 -07:00
nodepool Don't use the AnsibleJob in the nodepool client 2021-09-10 10:55:01 -07:00
remote Fix zuul client and remote tests 2021-06-24 11:36:17 -07:00
unit Fix infinite recursion in getRelatedChanges 2021-10-13 10:42:07 -07:00
zuul_client Merge "Don't clear connection caches during full reconfig" 2021-07-09 16:40:05 +00:00
__init__.py Add non-voting jobs. 2012-08-23 23:20:09 +00:00
base.py Add TCP keepalive to gitlab 2021-10-05 15:08:56 -07:00
encrypt_secret.py Make tests' encrypt_secret.py work with python3 2017-10-19 18:09:57 +00:00
fake_graphql.py Fetch can-merge info when updating a pull-request 2020-09-23 12:03:55 +02:00
fakegithub.py github: more complete mocking for app setup 2021-09-23 19:53:48 +10:00
make_playbooks.py Use libyaml if possible 2017-04-04 11:49:05 -07:00
print_layout.py Do not add implied branch matchers in project-templates 2017-09-30 10:19:07 -07:00