From: | Jeremy Drake <pgsql(at)jdrake(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org, PostgreSQL-development <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: [HACKERS] large object regression tests |
Date: | 2006-09-24 22:19:12 |
Message-ID: | Pine.BSO.4.64.0609241456490.28662@resin.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
On Thu, 21 Sep 2006, Tom Lane wrote:
> Jeremy Drake <pgsql-patches(at)jdrake(dot)com> writes:
> > I put together a patch which adds a regression test for large objects,
> > hopefully attached to this message. I would like some critique of it, to
> > see if I have gone about it the right way. Also I would be happy to hear
> > any additional tests which should be added to it.
>
> I'd prefer it if we could arrange not to need any absolute paths
> embedded into the test, because maintaining tests that require such is
> a real PITA --- instead of just committing the actual test output, one
> has to reverse-convert it to a ".source" file.
I just copied how the test for COPY worked, since I perceived a similarity
in what I needed to do (use external files to load data).
> I suggest that instead of testing the server-side lo_import/lo_export
> functions, perhaps you could test the psql equivalents and write and
> read a file in psql's working directory.
I did not see any precedent for that when I was looking around in the
existing tests for an example of how to do things. I am not even sure
where the cwd of psql is, so I can put an input file there. Could you
provide an example of how this might look, by telling me where to put a
file in the src/test/regress tree and the path to give to \lo_import?
Besides which, shouldn't both the server-side and psql versions be tested?
When I was looking at the copy tests, it looked like the server-side ones
were tested, and then the psql ones were tested by exporting and then
importing data which was originally loaded from the server-side method.
Am I correctly interpreting the precedent, or are you suggesting that the
precedent be changed? I was trying to stay as close to the copy tests as
possible since the functionality is so similar (transferring data to/from
files in the filesystem, either via server-side functions which require
absolute paths or via psql \ commands (which I forgot about for the lo
funcs)).
> I think we could do without the Moby Dick extract too ...
I am open to suggestions. I saw one suggestion that I use an image of an
elephant, but I suspect that was tongue-in-cheek. I am not very fond of
the idea of generating repetitious data, as I think it would be more
difficult to determine whether or not the loseek/tell functions put me in
the right place in the middle of the file. Perhaps if there was a way to
generate deterministic pseudo-random data, that would work (has to be
deterministic so the diffs of the output come out right). Anyone have a
good example of seeding a random number generator and generating a bunch
of bytea which is deterministic cross-platform?
>
> regards, tom lane
>
In the mean time, I will alter the test to also test the psql backslash
commands based on how the copy equivalents are tested, since I had
forgotten them and they need to be tested also.
--
Any sufficiently advanced technology is indistinguishable from a rigged
demo.
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2006-09-24 22:23:32 | Re: pgsql: We're going to have to spell dotless i |
Previous Message | Andrew Dunstan | 2006-09-24 21:55:46 | Re: pgsql: We're going to have to spell dotless i |
From | Date | Subject | |
---|---|---|---|
Next Message | Claudio Natoli | 2006-09-25 00:04:29 | Re: Bad bug in fopen() wrapper code |
Previous Message | Magnus Hagander | 2006-09-24 20:25:39 | Re: [PATCHES] Include file in regress.c |