Re: [COMMITTERS] pgsql: Disable BLOB test in pg_dump TAP tests

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Stephen Frost <sfrost(at)snowman(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Disable BLOB test in pg_dump TAP tests
Date: 2016-05-08 14:20:17
Message-ID: 572F4B21.1080806@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On 05/08/2016 12:52 AM, Stephen Frost wrote:
> Tom,
>
> * Tom Lane (tgl(at)sss(dot)pgh(dot)pa(dot)us) wrote:
>> Stephen Frost <sfrost(at)snowman(dot)net> writes:
>>> Disable BLOB test in pg_dump TAP tests
>>> Buildfarm member jacana appears to have an issue with running this
>>> test. It's not entirely clear to me why, but rather than try to
>>> fight with it, just disable it for now.
>> BTW, what was your evidence for thinking that that specific test
>> needed to be disabled? It looks to me like it would have been
>> subject to the $-in-/m-mode bug we identified today, so I'm wondering
>> if it was merely the first to fail.
> No, those errors were "match/don't match" errors. At the bottom of:
>
> http://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=jacana&dt=2016-05-06%2023%3A41%3A15&stg=bin-check
>
> is the error, which is 'No such file or directory'. I'm pretty sure the
> error is from the '\o' in that test which is trying to write a file to
> the '$tempdir' directory. Clearly, on that system at least, $tempdir
> isn't a completely fully-qualified path, since it ends up being:
>
> /home/pgrunner/bf/root/HEAD/pgsql.build/src/bin/pg_dump/tmp_check/tmp_test_v8cH
>
> but the data directory is:
>
> c:/mingw/msys/1.0/home/pgrunner/bf/root/HEAD/pgsql.build/src/bin/pg_dump/tmp_check/data_main_NSG0/pgdata
>
> I'm not quite sure how that system works (is a starting '/' actually
> referring to a relative path, and psql isn't being run from that root
> directory? Or does the shell handle converting arguments which start
> with a '/' to their full path, and that's why calls to pg_ctl and other
> things work, but trying to use that same path from inside a program
> doesn't?), but apparently referring to $tempdir from inside psql doesn't
> give you the same directory that referring to it from the TAP perl
> script does.

TL;DR version: Msys provides a virtualized Unix-like file system that is
visible to its programs that you use to build, but invisible to the
programs you build since they are going to run without any knowledge of
the build environment. So you can't just put $tmpdir from an Msys-aware
program into a psql script and expect it to work. It won't. Maybe we
need to provide a function in our test library to convert virtual paths
to real paths. (For Unix it would be a NOOP).

cheers

andrew

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Stephen Frost 2016-05-08 16:11:08 pgsql: Disallow superuser names starting with 'pg_' in initdb
Previous Message Tom Lane 2016-05-08 05:37:18 pgsql: Fix poorly-worded log message.

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2016-05-08 15:59:35 Re: new tests post-feature freeze (was pgsql: Add TAP tests for pg_dump)
Previous Message Stephen Frost 2016-05-08 12:37:12 Re: Re: "pg_xxx" role name restriction not applied to bootstrap superuser?