Re: Github actions failing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 9, 2023 at 5:40 AM NSENGIYUMVA WILBERFORCE
<nsengiyumvawilberforce@xxxxxxxxx> wrote:

> Thanks, I missed the GPG flag. Now I get the following after forcing
> the push. I have been looking for the problem but I can't figure it
> out. I will be glad for any help
> >
> > git checkout -b signed &&
> > 1840 echo 1 >file && git add file &&
> > 1841 test_tick && git commit -S -m initial &&
> > 1842 git verify-commit signed 2>out &&
> > 1843 head -3 out >expected &&
> > 1844 tail -1 out >>expected &&
> > 1845 echo >>expected &&
> > 1846 git for-each-ref refs/heads/signed --format="%(signature)" >actual &&
> > 1847 test_cmp actual expected
> > 1848
> > 1849 + git checkout -b signed
> > 1850 Switched to a new branch 'signed'
> > 1851 + echo 1
> > 1852 + git add file
> > 1853 + test_tick
> > 1854 + test -z set
> > 1855 + test_tick=1112912113
> > 1856 + GIT_COMMITTER_DATE=1112912113 -0700
> > 1857 + GIT_AUTHOR_DATE=1112912113 -0700
> > 1858 + export GIT_COMMITTER_DATE GIT_AUTHOR_DATE
> > 1859 + git commit -S -m initial
> > 1860 [signed 4dc4b90] initial
> > 1861 Author: A U Thor <author@xxxxxxxxxxx>
> > 1862 1 file changed, 1 insertion(+)
> > 1863 create mode 100644 file
> > 1864 + git verify-commit signed
> > 1865 + head -3 out
> > 1866 + tail -1 out
> > 1867 + echo
> > 1868 + git for-each-ref refs/heads/signed --format=%(signature)
> > 1869 + test_cmp actual expected

I think in general we prefer "test_cmp expected actual" over "test_cmp
actual expected". I think it's easier to understand what happened with
the former.

Also most of the tests in t6300 are like "test_cmp expected actual":

$ grep -c 'test_cmp expect' t6300-for-each-ref.sh
67
$ grep -c 'test_cmp actual' t6300-for-each-ref.sh
1

> > 1870 + test 2 -ne 2
> > 1871 + eval diff -u "$@"
> > 1872 + diff -u actual expected
> > 1873 --- actual 2023-01-08 19:40:42.169214115 +0000
> > 1874 +++ expected 2023-01-08 19:40:42.121213837 +0000
> > 1875 @@ -1,4 +1,5 @@
> > 1876 gpg: Signature made Sun Jan 8 19:40:42 2023 UTC
> > 1877 gpg: using DSA key 13B6F51ECDDE430D
> > 1878 +gpg: checking the trustdb

The + before "gpg" means that the above line is in what we expect, but
not in what we actually get.

I think the reason might be that gpg's output could have changed
between different versions of gpg and it might just not be possible
and wise to rely on the exact output it emits.

In both t7510-signed-commit.sh t7528-signed-commit-ssh.sh for example,
we don't test the '%GG' format, and that might be the reason why.

So I see the following possibilities to overcome this issue:

  - just drop the test you added for the %(signature) format
  - find a way to require a specific version of gpg for that test
(unfortunately I don't think our test framework allows that, so you
would have to add custom code to the test, and this is likely to
bitrot as time passes and the required gpg version becomes unused)
  - find a way to make the test independent of the gpg version (this
might bitrot too as new gpg versions might further change their
output)

> > 1879 gpg: Good signature from "C O Mitter <committer@xxxxxxxxxxx>"
> > 1880
> > 1881 error: last command exited with $?=1
> > 1882 not ok 338 - test bare signature atom



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux