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

Re: [PATCH 0/6] Add merge recursive testcases with undetected conflicts

From
Elijah Newren <newren@gmail.com>
Date
Jul 10, 2018, 15:42 UTC
Message-ID
<CABPp-BG5Rn=3MBS+daSJ+2rLsZWcswP3=8zX-F=5ncdzc9y=SQ@mail.gmail.com>
In-Reply-To
<20180710044456.GA1870@sigill.intra.peff.net>
On Mon, Jul 9, 2018 at 9:44 PM, Jeff King <peff@peff.net> wrote:
Show 19 quoted lines
> On Mon, Jul 09, 2018 at 01:22:29PM -0700, Elijah Newren wrote:
>
>> Oh, I didn't know about test-lint.  Is there a place that documents
>> the various checks you run, so I can avoid slowing you down?  Ones I
>> know about:
>>
>> Already documented:
>>   * `make DEVELOPER=1` (from CodingGuidelines)
>>   * running tests (from SubmittingPatches)
>>
>> Stuff I've seen you mention in emails over time:
>>   * linux/scripts/checkpatch.pl
>>   * git grep -e '\<inline\>' --and --not -e 'static inline' -- \*.h
>>   * make -C t/ test-lint
>
> test-lint is supposed to be run automatically as part of "make test" (or
> "make prove"), unless you've specifically disabled it by setting
> TEST_LINT. And it does complain for me with your patches. If it doesn't
> for you, then we have a bug to fix. :)

Oh, this may be my bad. Years ago someone pointed out that the testsuite could be run under 'prove', which provided nicer output and made sure to run the longest tests (e.g. the horrifically slow t9001-send-email.sh) first. So my test alias is:

   time prove -j7 --timer --state failed,slow,save t[0-9]*.sh ::
"--root=/dev/shm"

(with possibly different -j settings on different machines) and I just stopped running make test. Didn't learn about the 'make prove' target, even though it's apparently now been there for nearly 8 years.

> I won't be surprised, though, if you just ran "./t6036" manually before
> sending, since your patches literally didn't touch any other files.

That may also be true, though I would have missed it even if I had code changes due to not being aware of 'make prove'.

Show 25 quoted lines
> In theory we could push some of the linting down into the test scripts
> themselves (some of it, like the &&-linter, is there already by
> necessity). But it might also end up annoying, since usually dropping
> down to manual single-test runs means you're trying to debug something,
> and extra linting processes could get in the way.
>
>> Are there others?
>
> I like:
>
>   make SANITIZE=address,undefined test
>
> though it's pretty heavy-weight (but not nearly as much as valgrind).
> You probably also need BLK_SHA1=Yes, since the default DC_SHA1 has some
> unaligned loads that make UBSan complain. We should maybe teach the
> Makefile to do that by default.
>
> I've also been playing with clang's scan-build. It _did_ find a real bug
> recently, but it has a bunch of false positives.
>
> Stefan runs Coverity against pu periodically. IIRC It's a pain to run
> yourself, but the shared results can be mailed to you, or you can poke
> around at https://scan.coverity.com/projects/git. That _also_ has a ton
> of false positives, but it's good about cataloguing them so the periodic
> email usually just mentions the new ones.
Cool, thanks for the pointers.
Previous: Jeff KingNext: Jeff King
Message 11 of 14 in “Add merge recursive testcases with undetected conflicts”
  1. 0/6 Add merge recursive testcases with undetected conflictsElijah Newren, Jul 1, 2018
  2. 1/6 t6036: add a failed conflict detection case with symlink modify/modifyElijah Newren, Jul 1, 2018
  3. 2/6 t6036: add a failed conflict detection case with symlink add/addElijah Newren, Jul 1, 2018
  4. 4/6 t6036: add a failed conflict detection case with submodule add/addElijah Newren, Jul 1, 2018
  5. 3/6 t6036: add a failed conflict detection case with submodule modify/modifyElijah Newren, Jul 1, 2018
  6. 6/6 t6036: add a failed conflict detection case: regular files, different modesElijah Newren, Jul 1, 2018
  7. 5/6 t6036: add a failed conflict detection case with conflicting typesElijah Newren, Jul 1, 2018
  8. Junio C HamanoJul 9, 2018
  9. Elijah NewrenJul 9, 2018
  10. Jeff KingJul 10, 2018
  11. Elijah NewrenJul 10, 2018
  12. Jeff KingJul 10, 2018
  13. Elijah NewrenJul 11, 2018
  14. Junio C HamanoJul 11, 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.