Web lists-archives.com

Re: [PATCH v4 01/12] t: add test functions to translate hash-related values




On Mon, Sep 03, 2018 at 08:01:35PM -0400, Eric Sunshine wrote:
> On Mon, Sep 3, 2018 at 7:25 PM brian m. carlson
> <sandals@xxxxxxxxxxxxxxxxxxxx> wrote:
> > Add several test functions to make working with various hash-related
> > values easier.
> > [...]
> > diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
> > @@ -1155,3 +1155,70 @@ depacketize () {
> > +# Detect the hash algorithm in use.
> > +test_detect_hash () {
> > +       test_hash_algo='sha1'
> > +}
> 
> Not worth a re-roll itself, but if you do re-roll for some reason,
> perhaps include a comment inside the function saying that the actual
> "detect" part will be fleshed out later.

Sure.

> > +test_oid_cache () {
> > +       local tag reset k v
> 
> s/reset/rest/
> 
> It probably wouldn't hurt to &&-chain the above, as well, to
> future-proof it against someone coming along and inserting code before
> the 'local' line.

I'll fix that and reroll.

> > +       test -n "$test_hash_algo" || test_detect_hash &&
> > +       while read tag rest
> > +       do
> > +               case $tag in
> > +               [...]
> > +               esac &&
> > +
> > +               k="${rest%:*}" &&
> > +               v="${rest#*:}" &&
> > +
> > +               if ! expr "$k" : '[a-z0-9][a-z0-9]*$' >/dev/null
> > +               then
> > +                       error 'bug in the test script: bad hash algorithm'
> 
> Did you want to redirect this to stderr like you do with error() in test_oid()?

No, I don't believe it's necessary.  The commit message hints at this
slightly, but test_oid_cache is run with stdout unredirected, while
test_oid is run inside a command substitution (where stdout is
essentially redirected).

The issue with test_oid is not that it doesn't abort successfully (it
does) but that you don't see the error message and therefore have no
clue why your test suddenly exited 1, which is unfriendly to developers
when they make this mistake.  Since that's not an issue here, I opted
not to redirect it.
-- 
brian m. carlson: Houston, Texas, US
OpenPGP: https://keybase.io/bk2204

Attachment: signature.asc
Description: PGP signature