[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