[Patchew-devel] [PATCH] testing: add a badge view
Fam Zheng
fam at euphon.net
Tue Mar 12 01:36:10 UTC 2019
> On Mar 12, 2019, at 01:42, Paolo Bonzini <pbonzini at redhat.com> wrote:
>
> Redirect to shields.io using the current set of failing builds to
> determine whether to return success of failure.
>
> Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
> ---
> mods/testing.py | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/mods/testing.py b/mods/testing.py
> index 650990e..0cea58a 100644
> --- a/mods/testing.py
> +++ b/mods/testing.py
> @@ -142,6 +142,15 @@ class TestingModule(PatchewModule):
> if isinstance(obj, Message):
> obj.set_property("testing.tested-base",
> self.get_msg_base_tags(obj))
> + if isinstance(obj, Project):
> + # cache the last result so that badges are not affected by RUNNING state
> + failures = obj.get_property("testing.failures")
> + if result.status == result.SUCCESS and result.name in failures:
> + failures.remove(result.name)
> + po.set_property('testing.failures', list(failures))
> + if result.status == result.FAILURE and result.name not in failures:
> + failures.add(result.name)
> + po.set_property('testing.failures', list(failures))
>
> if result.name != "git":
> return
> @@ -221,6 +230,13 @@ class TestingModule(PatchewModule):
> self.clear_and_start_testing(obj, request.GET.get("test", ""))
> return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
>
> + def www_view_badge(self, request, project):
> + po = Project.objects.filter(name=project).first()
> + if po.get_property('testing.failures'):
> + return HttpResponseRedirect('https://img.shields.io/badge/patchew-failing-critical.png')
> + else:
> + return HttpResponseRedirect('https://img.shields.io/badge/patchew-passing-success.png')
> +
I really like these little badges. Thanks!
Fam
> def www_url_hook(self, urlpatterns):
> urlpatterns.append(url(r"^testing-reset/(?P<project_or_series>.*)/",
> self.www_view_testing_reset,
> @@ -228,6 +244,8 @@ class TestingModule(PatchewModule):
> urlpatterns.append(url(r"^logs/(?P<project_or_series>.*)/testing.(?P<testing_name>.*)/",
> TestingLogViewer.as_view(),
> name="testing-log"))
> + urlpatterns.append(url(r"^(?P<project>[^/]*)/badge.svg$", self.www_view_badge,
> + name="testing-badge"))
>
> def reverse_testing_log(self, obj, test, request=None, html=False):
> if isinstance(obj, Message):
> --
> 2.20.1
>
> _______________________________________________
> Patchew-devel mailing list
> Patchew-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/patchew-devel
More information about the Patchew-devel
mailing list