On Tue, Oct 4, 2016 at 11:29 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> Apparently, 'make world' does not build worker_spi. I thought 'make
>> world' was supposed to build everything?
>
> You'd have thunk, yeah. It looks like the issue is that src/Makefile
> is selective about recursing into certain subdirectories of test/,
> but mostly not test/ itself. src/test/Makefile naively believes it's
> in charge, though. Probably that logic ought to get shoved down one
> level, and then adjusted so that src/test/modules gets built by "all".
> Or else teach top-level "make world" to do "make all" in src/test/,
> but that seems like it's just doubling down on confusing interconnections.
I think this confusion probably resulted from the move of certain
things from contrib to src/test/modules, although that might be wrong.
At any rate, just as contrib isn't built by 'make all', one could
argue that src/test/modules shouldn't be built, either. Then again,
if 'make check' depends on it, maybe it needs to be. Either way,
'make world' should certainly build it, I think.
Interesting, 'make check-world' tried to compile test_shm_mq, so I
caught the WaitLatch call there before committing. I guess it only
did that because src/test/modules/test_shm_mq has a regression test,
though. work_spi does not, so even though they're both under
src/test/modules, one eventually got built and the other did not.
That's not so great.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company