git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v7 1/6] t5323: test cases for git-pack-redundant

From
Jiang Xin <worldhello.net@gmail.com>
Date
Feb 1, 2019, 07:23 UTC
Message-ID
<CANYiYbHK9Qozqzpnwu3y9Gq=ieMPUgXfZxr8Ofxwe6mJox9Ohg@mail.gmail.com>
In-Reply-To
<CAPig+cS84BOPdrZ+e1Z9ystx6SDyON0MJxVySQyxYE=LYcNRdg@mail.gmail.com>
Eric Sunshine <sunshine@sunshineco.com> 于2019年2月1日周五 下午2:11写道:
Show 22 quoted lines
>
> On Fri, Feb 1, 2019 at 12:44 AM Jiang Xin <worldhello.net@gmail.com> wrote:
> >> Junio C Hamano <gitster@pobox.com> 于2019年2月1日周五 上午5:44写道:
> > > Move this outside loop, not for efficiency but for clarity. This
> > > helper function creates a single empty tree and bunch of commits
> > > that hold the same empty tree, arranged as a single strand of
> > > pearls.
> >
> > Will rewrite as:
> >
> >     create_commits () {
> >             parent=
> >             T=$(git write-tree) &&
> >             for name in A B C D E F G H I J K L M N O P Q R
>
> Don't forget the && at the end of the 'parent=' line to protect
> against someone later adding code above that line. So:
>
>     create_commits () {
>         parent= &&
>         T=$(git write-tree) &&
>         ...
Will do.
Show 24 quoted lines
> > Nice chart, will edit test_description as follows:
> >
> >     test_description='git pack-redundant test
> >
> >     In order to test git-pack-redundant, we will create a number of
> > redundant
> >     packs in the repository `master.git`. The relationship between
> > packs (P1-P8)
> >     and objects (T,A-R) is show in the following chart:
> >
> >            | T A B C D E F G H I J K L M N O P Q R
> >         ---+--------------------------------------
> >         P1 | x x x x x x x                       x
> >         P2 |     x x x x   x x x
> >         P3 |             x     x x x x x
> >         P4 |                     x x x x     x
> >         P5 |               x x           x x
> >         P6 |                             x x   x
> >         P7 |                                 x x
> >         P8 |   x
>
> test_description should be a meaningful one-liner; it should not
> contain this other information, but this information should appear as
> comments in the test script.

In 't/t0000-basic.sh', there is also a very long test_description. After read 't/test-lib.sh', the only usage of test_description is showing it as help, when runing:

    sh ./t0000-basic.sh
So write a long test_description is ok, I think.
> >     Another repoisitory `shared.git` has unique objects (X-Z), while
> > share others
>
> s/repoisitory/repository/
Thanks, will fix.
Show 35 quoted lines
> > > > +test_expect_success 'setup master.git' '
> > > > +     git init --bare master.git &&
> > > > +     cd master.git &&
> > > > +     create_commits
> > > > +'
> > >
> > > Everything below will be done inside master.git?  Avoid cd'ing
> > > around in random places in the test script, as a failure in any of
> > > the steps that does cd would start later tests in an unexpected
> > > place, if you can.
> >
> > The first 10 test cases will run inside master.git, and others will
> > run inside shared.git.  Only run cd inside the two `setup` test cases.
>
> That's not what Junio meant. It's okay for tests to 'cd', but each
> test which does so _must_ ensure that the 'cd' is undone at the end of
> the test, even if the test fails. The correct way to do this within
> each test is by using 'cd' in a subhsell, like this:
>
>     test_expect_success 'setup master.git' '
>         git init --bare master.git &&
>         (
>             cd master.git &&
>             create_commits
>         )
>     '
>
> Then, each test which needs to use "master.git" would 'cd' itself, like this:
>
>     test_expect_success 'some test' '
>         (
>             cd master.git &&
>             ...
>         )
>     '
Nice explaination, will do.
Show 13 quoted lines
> > > > +test_expect_success 'setup shared.git' '
> > > > +     cd "$TRASH_DIRECTORY" &&
> > > > +     git clone -q --mirror master.git shared.git &&
> > >
> > > Why "-q"?
> >
> > To make verbose output cleaner.
>
> What Junio really meant by asking that question was that you should
> not do this. When something goes wrong with a test, we want as much
> output as possible to help diagnose the problem, so suppressing output
> is undesirable. To summarize, don't use -q, --no-progress, or any
> other such option and don't redirect to /dev/null.
Thanks.
Previous: Eric SunshineNext: Jiang Xin
Message 32 of 83 in “pack-redundant: new algorithm to find min packs”
  1. 1/2 pack-redundant: new algorithm to find min packsJiang Xin, Dec 18, 2018
  2. 2/2 pack-redundant: remove unused functionsJiang Xin, Dec 18, 2018
  3. 0/3 pack-redundant: new algorithm to find min packsJiang Xin, Dec 19, 2018
  4. 0/3 pack-redundant: new algorithm to find min packsJiang Xin, Jan 2, 2019
  5. 1/3 t5323: test cases for git-pack-redundantJiang Xin, Jan 2, 2019
  6. SZEDER GáborJan 9, 2019
  7. SZEDER GáborJan 9, 2019
  8. 0/5 pack-redundant: new algorithm to find min packsJiang Xin, Jan 10, 2019
  9. 0/5 pack-redundant: new algorithm to find min packsJiang Xin, Jan 12, 2019
  10. 0/6 pack-redundant: new algorithm to find min packsJiang Xin, Jan 30, 2019
  11. 0/6 pack-redundant: new algorithm to find min packsJiang Xin, Feb 1, 2019
  12. 1/6 t5323: test cases for git-pack-redundantJiang Xin, Feb 1, 2019
  13. Eric SunshineFeb 1, 2019
  14. Junio C HamanoFeb 1, 2019
  15. Eric SunshineFeb 1, 2019
  16. 0/6 pack-redundant: new algorithm to find min packsJiang Xin, Feb 2, 2019
  17. 1/6 t5323: test cases for git-pack-redundantJiang Xin, Feb 2, 2019
  18. 2/6 pack-redundant: delay creation of unique_objectsJiang Xin, Feb 2, 2019
  19. 3/6 pack-redundant: delete redundant codeJiang Xin, Feb 2, 2019
  20. 4/6 pack-redundant: new algorithm to find min packsJiang Xin, Feb 2, 2019
  21. 5/6 pack-redundant: rename pack_list.all_objectsJiang Xin, Feb 2, 2019
  22. 6/6 pack-redundant: consistent sort methodJiang Xin, Feb 2, 2019
  23. 2/6 pack-redundant: delay creation of unique_objectsJiang Xin, Feb 1, 2019
  24. 3/6 pack-redundant: delete redundant codeJiang Xin, Feb 1, 2019
  25. 4/6 pack-redundant: new algorithm to find min packsJiang Xin, Feb 1, 2019
  26. 5/6 pack-redundant: rename pack_list.all_objectsJiang Xin, Feb 1, 2019
  27. 6/6 pack-redundant: consistent sort methodJiang Xin, Feb 1, 2019
  28. 1/6 t5323: test cases for git-pack-redundantJiang Xin, Jan 30, 2019
  29. Junio C HamanoJan 31, 2019
  30. Jiang XinFeb 1, 2019
  31. Eric SunshineFeb 1, 2019
  32. Jiang XinFeb 1, 2019
  33. Jiang XinFeb 1, 2019
  34. Jiang XinFeb 1, 2019
  35. 2/6 pack-redundant: delay creation of unique_objectsJiang Xin, Jan 30, 2019
  36. 3/6 pack-redundant: new algorithm to find min packsJiang Xin, Jan 30, 2019
  37. Junio C HamanoJan 31, 2019
  38. Jiang XinFeb 1, 2019
  39. 4/6 pack-redundant: remove unused functionsJiang Xin, Jan 30, 2019
  40. 1/1 pack-redundant: delete redundant code16657101987@163.com, Jan 30, 2019
  41. 5/6 pack-redundant: rename pack_list.all_objectsJiang Xin, Jan 30, 2019
  42. 6/6 pack-redundant: consistent sort methodJiang Xin, Jan 30, 2019
  43. 1/5 t5323: test cases for git-pack-redundantJiang Xin, Jan 12, 2019
  44. 2/5 pack-redundant: new algorithm to find min packsJiang Xin, Jan 12, 2019
  45. 3/5 pack-redundant: remove unused functionsJiang Xin, Jan 12, 2019
  46. 4/5 pack-redundant: rename pack_list.all_objectsJiang Xin, Jan 12, 2019
  47. 5/5 pack-redundant: consistent sort methodJiang Xin, Jan 12, 2019
  48. 1/5 t5323: test cases for git-pack-redundantJiang Xin, Jan 10, 2019
  49. Junio C HamanoJan 10, 2019
  50. Jiang XinJan 11, 2019
  51. Junio C HamanoJan 11, 2019
  52. 2/5 pack-redundant: new algorithm to find min packsJiang Xin, Jan 10, 2019
  53. SZEDER GáborJan 11, 2019
  54. 3/5 pack-redundant: rename pack_list.all_objectsJiang Xin, Jan 10, 2019
  55. 4/5 pack-redundant: consistent sort methodJiang Xin, Jan 10, 2019
  56. SZEDER GáborJan 10, 2019
  57. 5/5 pack-redundant: remove unused functionsJiang Xin, Jan 10, 2019
  58. Jiang XinJan 10, 2019
  59. Johannes SixtJan 10, 2019
  60. SZEDER GáborJan 10, 2019
  61. Torsten BögershausenJan 10, 2019
  62. Junio C HamanoJan 10, 2019
  63. 1/1 test-lint: sed -E (or -a, -l) are not portabletboegi@web.de, Jan 15, 2019
  64. Eric SunshineJan 15, 2019
  65. Ævar Arnfjörð BjarmasonJan 16, 2019
  66. 1/1 test-lint: Only use only sed [-n] [-e command] [-f command_file]tboegi@web.de, Jan 20, 2019
  67. Junio C HamanoJan 22, 2019
  68. Torsten BögershausenJan 22, 2019
  69. Eric SunshineJan 22, 2019
  70. Torsten BögershausenJan 23, 2019
  71. Junio C HamanoJan 23, 2019
  72. Torsten BögershausenJan 25, 2019
  73. Junio C HamanoJan 27, 2019
  74. 2/3 pack-redundant: new algorithm to find min packsJiang Xin, Jan 2, 2019
  75. 3/3 pack-redundant: remove unused functionsJiang Xin, Jan 2, 2019
  76. 1/1 pack-redundant: remove unused functions16657101987@163.com, Jan 8, 2019
  77. 0/1 pack-redundant: remove unused functions16657101987@163.com, Jan 8, 2019
  78. Junio C HamanoJan 8, 2019
  79. 16657101987@163.comJan 9, 2019
  80. 0/1 pack-redundant: remove unused functions16657101987@163.com, Jan 8, 2019
  81. 1/3 t5322: test cases for git-pack-redundantJiang Xin, Dec 19, 2018
  82. 2/3 pack-redundant: new algorithm to find min packsJiang Xin, Dec 19, 2018
  83. 3/3 pack-redundant: remove unused functionsJiang Xin, Dec 19, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.