Robert Haas wrote:
> 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.
I think you're right -- I tried to avoid recursing into src/test/modules
as much as possible when doing the move, so that it'd not be a bother
when someone just wants to build/package the server. But obviously for
the purposes of testing the overall build that is the wrong thing to do,
and I agree that we should revisit those decisions.
> 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.
Hmm, does it? AFAICS (toplevel GNUmakefile) only src/test/regress is
recursed onto for "make check".
> Either way, 'make world' should certainly build it, I think.
I can buy that.
> 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.
This sounds broken to me, actually.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services