Обсуждение: mb_regress.sh gripes

Поиск
Список
Период
Сортировка

mb_regress.sh gripes

От
Josh Kupershmidt
Дата:
Hi all,

A few gripes about mb_regress.sh:
 1. No exit code is specified, so even if there are differences
between results/ and expected/ the script will still return 0.

 2. The 'dropdb' command is used to wipe out the "utf8" database
before the run. This generates an error message like:
  dropdb: database removal failed: ERROR:  database "utf8" does not exist

the first time you run the script. IMO it would be less startling to
just print a NOTICE here.

 3. No error checking for whether createdb succeeds.

The attached patch fixes these problems.

Josh

Вложения

Re: mb_regress.sh gripes

От
Robert Haas
Дата:
On Thu, Aug 18, 2011 at 6:19 PM, Josh Kupershmidt <schmiddy@gmail.com> wrote:
> A few gripes about mb_regress.sh:
>  1. No exit code is specified, so even if there are differences
> between results/ and expected/ the script will still return 0.
>
>  2. The 'dropdb' command is used to wipe out the "utf8" database
> before the run. This generates an error message like:
>  dropdb: database removal failed: ERROR:  database "utf8" does not exist
>
> the first time you run the script. IMO it would be less startling to
> just print a NOTICE here.
>
>  3. No error checking for whether createdb succeeds.
>
> The attached patch fixes these problems.

Committed, with some changes.  I used the new --if-exists option for
dropdb rather than doing it as you had it here; I assume this may have
been the motivation for that patch.  I also just made the exit code 1
no matter how many failures there were.  That seems more normal, and I
wasn't altogether certain that $((expr)) is completely portable.  I
also set the execute bit on the script.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: mb_regress.sh gripes

От
Josh Kupershmidt
Дата:
On Thu, Sep 1, 2011 at 9:25 AM, Robert Haas <robertmhaas@gmail.com> wrote:
> Committed, with some changes.  I used the new --if-exists option for
> dropdb rather than doing it as you had it here; I assume this may have
> been the motivation for that patch.

Thanks, and that was indeed one reason I wanted dropdb --if-exists.

> I also just made the exit code 1
> no matter how many failures there were.  That seems more normal, and I
> wasn't altogether certain that $((expr)) is completely portable.

Yeah, I wasn't sure about that either. The old book "The Unix
Programming Environment" (section "Arithmetic in sh") claims that
using expr or bc is the only way to do such arithmetic, e.g.: var=`expr $var + 1`

But then [1] documents arithmetic expansion as used in the patch. But
anyway, just returning 1 as you've done seems fine.

Josh

[1] http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_04