[PATCH 0/2] Support of test results
Sergey Bronnikov
s at brnkv.ru
Sun Oct 10 17:51:33 UTC 2021
On 07.10.2021 12:42, John Keeping wrote:
> On Mon, Oct 04, 2021 at 01:22:34PM +0300, Sergey Bronnikov wrote:
>> From: Sergey Bronnikov <estetus at gmail.com>
>>
>> Git SCM allows to store information in so called notes [1] and cgit
>> allows to show notes that placed to default reference
>> ('refs/notes/commits') and attached to certain commits. It is convenient
>> to add various useful information related to commit in Git notes.
>>
>> Often tests results stored for future analysis in different systems (aka
>> 'test report systems'). But one is the logic places to store test
>> results is a Git SCM, test report automatically connected to commits and
>> easily available for everyone. It even can be automated using git-test [2].
> This feels very specifc to one use case that isn't particularly general.
> Have you considered any way to make this more generic for displaying
> different notes for different purposes?
In my experience different tools uses different git notes ref and
it cannot be changed. For example: "git appraise" uses
refs/notes/devtools/reviews, gerrit uses refs/notes/review
and google-git-notes-publisher-plugin uses refs/notes/devtools/ci.
I can make git note ref configurable. Will make it more general feature?
> Did you experiment with changing notes.displayRef in gitconfing and
> using the existing commit filter to display those inline in the commit
> page?
Sure, I know about default notes and experimented with commit filters a bit.
I don't like to store test results in default ref because:
- often test report has a long list of tests and it is inconvenient to
scroll down it on cgit commit page.
- it is inconvenient to parse test report format when it is mixed with
commit message,
>
>> How-to use:
>>
>> $ cat report.tap
>> 1..2
>> ok 1 - test_0.py::test_list_once
>> ok 2 - test_0.py::test_list_twice
>> $ GIT_NOTES_REF=refs/notes/testres git notes add -F report.tap 95aa7d200ee10580c472a1156a11c726046b110f
>> $ git notes add -m 'Tested-by: Sergey Bronnikov <estetus at gmail.com>' \
>> 2a3a0d1a62de2ae5ab4511c15d82a6a0f2c2a930
>> $ GIT_NOTES_REF=refs/notes/testres git show 95aa7d200ee10580c472a1156a11c726046b110f
>>
>> commit 95aa7d200ee10580c472a1156a11c726046b110f
>> Author: Sergey Bronnikov <sergeyb at tarantool.org>
>> Date: Tue Dec 22 10:06:10 2020 +0300
>>
>> ...
>>
>> Notes (testres):
>> 1..2
>> ok 1 - test_0.py::test_list_once
>> ok 2 - test_0.py::test_list_twice
>>
>> Test report become available in cgit by clicking to href 'tests' for
>> that commit.
>>
>> 1. https://git-scm.com/docs/git-notes
>> 2. https://github.com/ligurio/git-test
>> 3. https://github.com/ligurio/testres/wiki/Using-GIT-as-a-storage
>>
>> Sergey Bronnikov (2):
>> ui-commit: add support of test results
>> ui-commit: add testres filter
>>
>> cgit.c | 6 +++
>> cgit.h | 4 +-
>> cgitrc.5.txt | 17 +++++++++
>> cmd.c | 8 +++-
>> filter.c | 6 +++
>> filters/testres-example.lua | 21 +++++++++++
>> shared.c | 1 +
>> tests/setup.sh | 2 +
>> tests/t0105-commit.sh | 7 ++++
>> tests/t0111-filter.sh | 8 ++++
>> ui-commit.c | 73 ++++++++++++++++++++++++++++++++++++-
>> ui-commit.h | 1 +
>> ui-shared.c | 8 +++-
>> ui-shared.h | 3 ++
>> 14 files changed, 161 insertions(+), 4 deletions(-)
>> create mode 100755 filters/testres-example.lua
>>
>> --
>> 2.25.1
>>
More information about the CGit
mailing list