All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org, Andreas Schwab <schwab@linux-m68k.org>
Subject: Re: [PATCH] grep: Don't pass a TODO test if REG_STARTEND is supported
Date: Fri, 16 Jul 2010 16:06:09 -0500	[thread overview]
Message-ID: <20100716210609.GA23044@burratino> (raw)
In-Reply-To: <AANLkTikDwJaBN8Y0814m6JaVab9BAXPx_VKE7Z_Q6hq7@mail.gmail.com>

Ævar Arnfjörð Bjarmason wrote:

> The failure is totally predicated on whether or not REG_STARTEND is
> available on the system
[...]
> Then you could do:
> 
>     test_expect_success REG_STARTEND 'git grep ile a' '
>         git grep ile a
>     '

Sorry to harp on this, but no, that would not be right.  When
REG_STARTEND is not available on a system, this is still a bug and
we still want to know when it is fixed.  The test should not be
skipped.

So one could do:

 if have_reg_startend
 then
	expectation=success
 else
	expectation=failure
 fi
 test_expect_$expectation 'git grep ile a' '
	git grep ile a
 '

> The glibc one is probably pretty good as far as minimal POSIX DFA
> engines go. Hopefully you can patch it up to get it to compile on
> non-GNU systems.

No promises, in particular because I don’t have any non-GNU
installations handy to test on.  Probably gnulib’s copy will do,
as Andreas suggested.

> Regarding regular expression implementations. We might want to look
> into bundling one implementation and using it everywhere

Please no. :)

If we can do better than glibc, then glibc should be improved (yes,
I know GNU grep does much better than glibc already).

> Using NFA engines like that also gives you some performance guarantees

Do you mean “using DFA engines”?  i.e. I thought GNU grep avoids
backtracking by converting the NFA to a DFA, at least conceptually.

Thanks for the food for thought,
Jonathan

  reply	other threads:[~2010-07-16 21:07 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-08  0:42 [PATCH] grep: Don't pass a TODO test if REG_STARTEND is supported Ævar Arnfjörð Bjarmason
2010-07-08 19:40 ` Junio C Hamano
2010-07-08 20:09   ` Ævar Arnfjörð Bjarmason
2010-07-08 21:58     ` René Scharfe
2010-07-15 15:32       ` Ævar Arnfjörð Bjarmason
2010-07-15 17:47     ` Junio C Hamano
2010-07-15 18:44       ` Ævar Arnfjörð Bjarmason
     [not found]         ` <20100715220059.GA3312@burratino>
2010-07-16 13:58           ` [RFC/PATCH] Update compat/regex Ævar Arnfjörð Bjarmason
2010-07-16 14:17             ` Andreas Schwab
2010-08-15 11:08               ` Ævar Arnfjörð Bjarmason
2010-08-16 12:26                 ` Paolo Bonzini
2010-08-17  3:25                 ` [PATCH/RFC 0/3] " Ævar Arnfjörð Bjarmason
2010-08-17  3:25                 ` [PATCH/RFC 2/3] compat/regex: hacks to get the gawk regex engine to compile within git Ævar Arnfjörð Bjarmason
2010-08-17  3:35                   ` Jonathan Nieder
2010-08-17  3:25                 ` [PATCH/RFC 3/3] t/t7008-grep-binary.sh: un-TODO a test that needs REG_STARTEND Ævar Arnfjörð Bjarmason
     [not found]                 ` <1282015548-19074-2-git-send-email-avarab@gmail.com>
2010-08-17  3:37                   ` [PATCH/RFC 1/3] compat/regex: use the regex engine from gawk for compat Jonathan Nieder
2010-08-17  3:50                     ` Ævar Arnfjörð Bjarmason
2010-08-17  4:08                       ` Jonathan Nieder
2010-08-17  5:17                 ` [PATCH/RFC v2 0/3] Update compat/regex Ævar Arnfjörð Bjarmason
2010-08-17  8:03                   ` Jonathan Nieder
2010-08-17  9:24                     ` [PATCH 0/5] " Ævar Arnfjörð Bjarmason
2010-08-17 11:46                       ` Paolo Bonzini
2010-08-17 23:19                       ` Junio C Hamano
2010-08-17 23:50                         ` Jonathan Nieder
2010-08-18 10:41                           ` Ævar Arnfjörð Bjarmason
2010-08-17  9:24                     ` [PATCH 2/5] compat/regex: get the gawk regex engine to compile within git Ævar Arnfjörð Bjarmason
2010-08-17  9:24                     ` [PATCH 3/5] Change regerror() declaration from K&R style to ANSI C (C89) Ævar Arnfjörð Bjarmason
2010-08-17  9:24                     ` [PATCH 4/5] t/t7008-grep-binary.sh: un-TODO a test that needs REG_STARTEND Ævar Arnfjörð Bjarmason
2010-08-17  9:24                     ` [PATCH 5/5] autoconf: don't use platform regex if it lacks REG_STARTEND Ævar Arnfjörð Bjarmason
2010-08-17  5:17                 ` [PATCH/RFC v2 2/3] compat/regex: get the gawk regex engine to compile within git Ævar Arnfjörð Bjarmason
2010-08-17  5:17                 ` [PATCH/RFC v2 3/3] t/t7008-grep-binary.sh: un-TODO a test that needs REG_STARTEND Ævar Arnfjörð Bjarmason
2010-07-16 14:33         ` [PATCH] grep: Don't pass a TODO test if REG_STARTEND is supported Ævar Arnfjörð Bjarmason
2010-07-16 19:50           ` Jonathan Nieder
2010-07-16 20:51             ` Ævar Arnfjörð Bjarmason
2010-07-16 21:06               ` Jonathan Nieder [this message]
2010-07-16 21:19                 ` Ævar Arnfjörð Bjarmason

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100716210609.GA23044@burratino \
    --to=jrnieder@gmail.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=schwab@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.