meson: Add missing dependencies for libpq tests
The missing dependency was, e.g., visible when doing ninja clean && ninja meson-test-prereq && meson test --no-rebuild --suite setup --suite libpq This is a bit more complicated than other related fixes, because until now libpq's tests depended on 'frontend_code', which includes a dependency on fe_utils, which in turns on libpq. That in turn required src/interfaces/libpq/test to be entered from the top-level, not from libpq/meson.build. Because of that the test definitions in libpq/meson.build could not declare a dependency on the binaries defined in libpq/test/meson.build. To fix this, this commit creates frontend_no_fe_utils_code, which allows us to recurse into libpq/test from withing libpq/meson.build. Apply this to all branches with meson support, as part of an effort to fix incorrect test dependencies that can lead to test failures. Discussion: https://postgr.es/m/CAGECzQSvM3iSDmjF+=Kof5an6jN8UbkP_4cKKT9w6GZavmb5yQ@mail.gmail.com Discussion: https://postgr.es/m/bdba588f-69a9-4f3e-9b95-62d07210a32e@eisentraut.org Backpatch: 16-, where meson support was added
This commit is contained in:
parent
09df23cf32
commit
73ed502ea6
3 changed files with 20 additions and 8 deletions
11
meson.build
11
meson.build
|
@ -3078,6 +3078,16 @@ frontend_shlib_code = declare_dependency(
|
|||
dependencies: [shlib_code, os_deps, libintl],
|
||||
)
|
||||
|
||||
# For frontend code that doesn't use fe_utils - this mainly exists for libpq's
|
||||
# tests, which are defined before fe_utils is defined, as fe_utils depends on
|
||||
# libpq.
|
||||
frontend_no_fe_utils_code = declare_dependency(
|
||||
include_directories: [postgres_inc],
|
||||
link_with: [common_static, pgport_static],
|
||||
sources: generated_headers,
|
||||
dependencies: [os_deps, libintl],
|
||||
)
|
||||
|
||||
# Dependencies both for static and shared libpq
|
||||
libpq_deps += [
|
||||
thread_dep,
|
||||
|
@ -3145,7 +3155,6 @@ subdir('src')
|
|||
subdir('contrib')
|
||||
|
||||
subdir('src/test')
|
||||
subdir('src/interfaces/libpq/test')
|
||||
subdir('src/interfaces/ecpg/test')
|
||||
|
||||
subdir('doc/src/sgml')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue