Re: Github actions failing

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

 



> 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)

>From your suggestions, I will consider removing it for now


On Mon, Jan 9, 2023 at 4:22 AM Christian Couder
<christian.couder@xxxxxxxxx> wrote:
>
> 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