Re: [COMMITTERS] pgsql: Disable BLOB test in pg_dump TAP tests - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: [COMMITTERS] pgsql: Disable BLOB test in pg_dump TAP tests
Date
Msg-id 572F4B21.1080806@dunslane.net
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: Disable BLOB test in pg_dump TAP tests  (Stephen Frost <sfrost@snowman.net>)
Responses Re: [COMMITTERS] pgsql: Disable BLOB test in pg_dump TAP tests  (Stephen Frost <sfrost@snowman.net>)
List pgsql-hackers

On 05/08/2016 12:52 AM, Stephen Frost wrote:
> Tom,
>
> * Tom Lane (tgl@sss.pgh.pa.us) wrote:
>> Stephen Frost <sfrost@snowman.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






pgsql-hackers by date:

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