Skip to content

Commit

Permalink
WIP filter bisection by git tree
Browse files Browse the repository at this point in the history
  • Loading branch information
gctucker committed Oct 3, 2023
1 parent d540992 commit 743abd9
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion app/utils/bisect/test.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (C) Collabora Limited 2019
# Copyright (C) Collabora Limited 2019, 2023
# Author: Guillaume Tucker <[email protected]>
#
# This program is free software; you can redistribute it and/or modify it under
Expand Down Expand Up @@ -52,6 +52,18 @@ def _shrink_regressions(regressions_list):
return rlist[:3]


def _filter_regressions_by_tree(regressions, trees):
print("FILTER TREES")
filtered = {}
for plan, regs in regressions.iteritems():
filtered_regs = [
reg for reg in regs if reg.job in trees
]
if filtered_regs:
filtered[plan] = filtered_regs
return filtered


def _create_bisection(regr, db):
regr_data = regr[models.REGRESSIONS_KEY]
good, bad = (regr_data[r] for r in (0, -1))
Expand Down Expand Up @@ -146,6 +158,12 @@ def trigger_bisections(job, branch, kernel, plan,
"""
db = utils.db.get_db_connection(db_options)
all_regressions = _find_regressions(job, branch, kernel, plan, db)
print("ALL REGRESSIONS:", all_regressions)
trees = jenkins_options.get('bisection-git-trees')
print("TREES", trees)
if trees:
all_regressions = _filter_regressions_by_tree(all_regressions, trees)
print("FILTERED REGRESSIONS:", all_regressions)
shrunk_regressions = {
key: _shrink_regressions(regr_list)
for key, regr_list in all_regressions.iteritems()
Expand Down

0 comments on commit 743abd9

Please sign in to comment.