Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit73ed502

Browse files
committed
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 libpqThis is a bit more complicated than other related fixes, because until nowlibpq's tests depended on 'frontend_code', which includes a dependency onfe_utils, which in turns on libpq. That in turn requiredsrc/interfaces/libpq/test to be entered from the top-level, not fromlibpq/meson.build. Because of that the test definitions in libpq/meson.buildcould not declare a dependency on the binaries defined inlibpq/test/meson.build.To fix this, this commit creates frontend_no_fe_utils_code, which allows us torecurse into libpq/test from withing libpq/meson.build.Apply this to all branches with meson support, as part of an effort to fixincorrect test dependencies that can lead to test failures.Discussion:https://postgr.es/m/CAGECzQSvM3iSDmjF+=Kof5an6jN8UbkP_4cKKT9w6GZavmb5yQ@mail.gmail.comDiscussion:https://postgr.es/m/bdba588f-69a9-4f3e-9b95-62d07210a32e@eisentraut.orgBackpatch: 16-, where meson support was added
1 parent09df23c commit73ed502

File tree

3 files changed

+20
-8
lines changed

3 files changed

+20
-8
lines changed

‎meson.build

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3078,6 +3078,16 @@ frontend_shlib_code = declare_dependency(
30783078
dependencies: [shlib_code, os_deps, libintl],
30793079
)
30803080

3081+
# For frontend code that doesn't use fe_utils - this mainly exists for libpq's
3082+
# tests, which are defined before fe_utils is defined, as fe_utils depends on
3083+
# libpq.
3084+
frontend_no_fe_utils_code=declare_dependency(
3085+
include_directories: [postgres_inc],
3086+
link_with: [common_static, pgport_static],
3087+
sources: generated_headers,
3088+
dependencies: [os_deps, libintl],
3089+
)
3090+
30813091
# Dependencies both for static and shared libpq
30823092
libpq_deps+= [
30833093
thread_dep,
@@ -3145,7 +3155,6 @@ subdir('src')
31453155
subdir('contrib')
31463156

31473157
subdir('src/test')
3148-
subdir('src/interfaces/libpq/test')
31493158
subdir('src/interfaces/ecpg/test')
31503159

31513160
subdir('doc/src/sgml')

‎src/interfaces/libpq/meson.build

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
# Copyright (c) 2022-2024, PostgreSQL Global Development Group
22

3-
# test/ is entered via top-level meson.build, that way it can use the default
4-
# args for executables (which depend on libpq).
5-
63
libpq_sources=files(
74
'fe-auth-scram.c',
85
'fe-auth.c',
@@ -107,6 +104,7 @@ install_data('pg_service.conf.sample',
107104
install_dir: dir_data,
108105
)
109106

107+
subdir('test')
110108

111109
tests+= {
112110
'name':'libpq',
@@ -125,6 +123,7 @@ tests += {
125123
'with_gssapi': gssapi.found() ?'yes' :'no',
126124
'with_krb_srvnam':'postgres',
127125
},
126+
'deps': libpq_test_deps,
128127
},
129128
}
130129

‎src/interfaces/libpq/test/meson.build

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Copyright (c) 2022-2024, PostgreSQL Global Development Group
22

3+
libpq_test_deps= []
4+
35
libpq_uri_regress_sources=files(
46
'libpq_uri_regress.c',
57
)
@@ -10,9 +12,9 @@ if host_system == 'windows'
1012
'--FILEDESC','libpq test program',])
1113
endif
1214

13-
testprep_targets+=executable('libpq_uri_regress',
15+
libpq_test_deps+=executable('libpq_uri_regress',
1416
libpq_uri_regress_sources,
15-
dependencies: [frontend_code, libpq],
17+
dependencies: [frontend_no_fe_utils_code, libpq],
1618
kwargs: default_bin_args+ {
1719
'install':false,
1820
}
@@ -29,10 +31,12 @@ if host_system == 'windows'
2931
'--FILEDESC','libpq test program',])
3032
endif
3133

32-
testprep_targets+=executable('libpq_testclient',
34+
libpq_test_deps+=executable('libpq_testclient',
3335
libpq_testclient_sources,
34-
dependencies: [frontend_code, libpq],
36+
dependencies: [frontend_no_fe_utils_code, libpq],
3537
kwargs: default_bin_args+ {
3638
'install':false,
3739
}
3840
)
41+
42+
testprep_targets+= libpq_test_deps

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp