threads / discuss / 56083

unit tests / cirrus ci fails

Subject: unit tests / cirrus ci fails

## tl;dr

4 messages between Jul 9, 2021 and Jul 10, 2021.

replies: 3people: 3as markdown or json

Fabian Stelzer· Jul 9, 2021, 13:31 UTC · lore

Hi, i'm having a issue with a failing test on my pull request. https://github.com/git/git/pull/1041/checks?check_run_id=3028222798

I have added a bunch of new tests and they fail on the freebsd12 test that's run via gitgitgadget. Is there any way to enable verbose / debug output on these or a simple way to run tests manually in the same environment?

I had no issues with the full test suite on fedora / centos linux except for "t0500-progress-display.sh" which seems to be a different issue. this test fails in master as well on my fedora34 but works just fine on centos8.

Kind regards, Fabian Stelzer

Đoàn Trần Công Danh· Jul 9, 2021, 15:06 UTC · re: Fabian Stelzer · lore

Re: unit tests / cirrus ci fails

On 2021-07-09 15:31:01+0200, Fabian Stelzer <fs@gigacodes.de> wrote:
Show 8 quoted lines
> Hi,
> i'm having a issue with a failing test on my pull request.
> https://github.com/git/git/pull/1041/checks?check_run_id=3028222798
> 
> I have added a bunch of new tests and they fail on the freebsd12 test that's
> run via gitgitgadget.
> Is there any way to enable verbose / debug output on these or a simple way
> to run tests manually in the same environment?

I don't know about cirrus CI, but, skimming over the log, it run into fatal error after skipping t4202.71, I think the bashism in "test_lazy_prereq GPGSSH" is the culprit.

"|&" in "ssh_version=$(ssh-keygen -Y find-principals |& grep -q "unknown option")"
Show 8 quoted lines
> I had no issues with the full test suite on fedora / centos linux except for
> "t0500-progress-display.sh"
> which seems to be a different issue. this test fails in master as well on my
> fedora34 but works just fine on centos8.
> 
> Kind regards,
> Fabian Stelzer
> 
-- 
Danh
Fabian Stelzer· Jul 9, 2021, 16:04 UTC · re: Đoàn Trần Công Danh · lore

Re: unit tests / cirrus ci fails

On 09.07.21 17:06, Đoàn Trần Công Danh wrote:
Show 14 quoted lines
> On 2021-07-09 15:31:01+0200, Fabian Stelzer <fs@gigacodes.de> wrote:
>> Hi,
>> i'm having a issue with a failing test on my pull request.
>> https://github.com/git/git/pull/1041/checks?check_run_id=3028222798
>>
>> I have added a bunch of new tests and they fail on the freebsd12 test that's
>> run via gitgitgadget.
>> Is there any way to enable verbose / debug output on these or a simple way
>> to run tests manually in the same environment?
> I don't know about cirrus CI, but, skimming over the log, it run into
> fatal error after skipping t4202.71, I think the bashism in
> "test_lazy_prereq GPGSSH" is the culprit.
>
> "|&" in "ssh_version=$(ssh-keygen -Y find-principals |& grep -q "unknown option")"

Thanks, that was indeed (part of) the problem. The new tests themselves are failing now and i have no idea why on freebsd :/ Are there detailed logs publicly available from the CI runs? Or is my only option to set up a freebsd 12 vm to try to replicate this? Does the ci simply run "make test" or is there another mechanism involved?

Philippe Blain· Jul 10, 2021, 20:42 UTC · re: Fabian Stelzer · lore

Re: unit tests / cirrus ci fails

Hi Fabian,
Le 2021-07-09 à 12:04, Fabian Stelzer a écrit :
> The new tests themselves are failing now and i have no idea why on freebsd :/
> Are there detailed logs publicly available from the CI runs?
the logs should be accessible on the "Checks" tab of your PR
  if you are logged into GitHub. But I don't think there is more
to see than what's shown there.
> Or is my only option to set up a freebsd 12 vm to try to replicate this?
> Does the ci simply run "make test" or is there another mechanism involved?
> 

I managed to log into the Cirrus-CI FreeBSD VM using tunshell [1]. I found out about it at [2]. Here's the commit in my fork [3]

0. Create a Cirrus-CI account and give it access to your fork of Git
1. Create the tunshell session at [1]
2. Run the local script on your local host
3. Copy the remote script in '.cirrus.yml' in you branch
    (ex. as the first step of the "test_script:" section), commit and push to GitHub
4. wait for the build to start on Cirrus and the tunshell client on your machine
    should connect you to the VM.
5. Go to /tmp/cirrus-ci-build in the VM to find the git.git checkout
Caveat: your public IP will be viewable in the Cirrus log.

[1] https://tunshell.com/go [3] https://github.com/phil-blain/git/commit/b47d803ee1ba83100702cb80c93e18c74d787dce [2] https://github.com/cirruslabs/cirrus-ci-docs/issues/432

← back to recent threads