mirror of
https://github.com/jlengrand/bugsink.git
synced 2026-03-10 08:01:17 +00:00
Express idea 'fixed later'
This commit is contained in:
@@ -18,3 +18,24 @@ def is_regression(sorted_releases, fixed_at, events_at, current_event_at):
|
||||
return marked_as_resolved
|
||||
|
||||
raise Exception("Can't find release '%s'" % current_event_at)
|
||||
|
||||
|
||||
def is_regression_2(sorted_releases, fixed_at, events_at, current_event_at):
|
||||
# AKA is_regression_with_fixed_later_info
|
||||
|
||||
# for lack of a better name; I want to express this idea somewhere first; let's see how we utilize it in actual code
|
||||
# later; hence also copy/pasta
|
||||
fixed_at = fixed_at[:]
|
||||
marked_as_resolved = False
|
||||
|
||||
for r in sorted_releases:
|
||||
if r in events_at:
|
||||
marked_as_resolved = False
|
||||
elif r in fixed_at:
|
||||
marked_as_resolved = True
|
||||
fixed_at.remove(r)
|
||||
|
||||
if current_event_at == r:
|
||||
return marked_as_resolved, len(fixed_at) > 0
|
||||
|
||||
raise Exception("Can't find release '%s'" % current_event_at)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from unittest import TestCase
|
||||
|
||||
from .regressions import is_regression
|
||||
from .regressions import is_regression, is_regression_2
|
||||
|
||||
|
||||
class RegressionTestCase(TestCase):
|
||||
@@ -86,7 +86,6 @@ class RegressionTestCase(TestCase):
|
||||
events_at = ["a", "e"]
|
||||
fixed_at = ["c", "f"]
|
||||
|
||||
# NOTE should we not want to express the "fixed later" property here?
|
||||
self.assertEquals(False, is_regression(self.releases, fixed_at, events_at, current_event_at="a"))
|
||||
self.assertEquals(False, is_regression(self.releases, fixed_at, events_at, current_event_at="b"))
|
||||
self.assertEquals(True, is_regression(self.releases, fixed_at, events_at, current_event_at="c"))
|
||||
@@ -96,6 +95,16 @@ class RegressionTestCase(TestCase):
|
||||
self.assertEquals(True, is_regression(self.releases, fixed_at, events_at, current_event_at="g"))
|
||||
self.assertEquals(True, is_regression(self.releases, fixed_at, events_at, current_event_at="h"))
|
||||
|
||||
self.assertEquals((False, True), is_regression_2(self.releases, fixed_at, events_at, current_event_at="a"))
|
||||
self.assertEquals((False, True), is_regression_2(self.releases, fixed_at, events_at, current_event_at="b"))
|
||||
# the interesting bit from this block: a regression, but fixed already (for a later version)
|
||||
self.assertEquals((True, True), is_regression_2(self.releases, fixed_at, events_at, current_event_at="c"))
|
||||
self.assertEquals((True, True), is_regression_2(self.releases, fixed_at, events_at, current_event_at="d"))
|
||||
self.assertEquals((False, True), is_regression_2(self.releases, fixed_at, events_at, current_event_at="e"))
|
||||
self.assertEquals((True, False), is_regression_2(self.releases, fixed_at, events_at, current_event_at="f"))
|
||||
self.assertEquals((True, False), is_regression_2(self.releases, fixed_at, events_at, current_event_at="g"))
|
||||
self.assertEquals((True, False), is_regression_2(self.releases, fixed_at, events_at, current_event_at="h"))
|
||||
|
||||
def test_documented_thoughts_about_minor_and_patch_releases(self):
|
||||
# this test-case documents the limitation of our approach in the following combination of circumstances:
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user