Skip to content

Commit 7c7f882

Browse files
committed
Improve valgrind test setup
Instead of relying on a complicated regular expression, send the list of tests to be run under valgrind in as arguments. Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
1 parent cb559a2 commit 7c7f882

File tree

4 files changed

+23
-24
lines changed

4 files changed

+23
-24
lines changed

modulemd/common/tests/test-valgrind.py

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -27,30 +27,11 @@
2727
failed = False
2828

2929
# Get the list of tests to run
30-
proc_result = subprocess.run(['meson', 'test', '--list'],
31-
stdout=subprocess.PIPE,
32-
encoding='utf-8')
33-
if proc_result.returncode != 0:
34-
sys.exit(2)
35-
36-
unfiltered_tests = proc_result.stdout.split('\n')
3730
tests = []
38-
for test in unfiltered_tests:
39-
if (not test or
40-
test.endswith('_python') or
41-
test.endswith('_python_debug') or
42-
test.endswith('_python2_debug') or
43-
test.endswith('_python3_debug') or
44-
test.endswith('_release') or
45-
test.endswith('_import_headers') or
46-
'v1_release' in test or
47-
test == 'autopep8' or
48-
test == 'clang_format' or
49-
test == 'pycodestyle' or
50-
test == 'test_dirty_repo' or
51-
test == 'valgrind'):
52-
continue
53-
tests.append(test)
31+
if len(sys.argv) > 1:
32+
tests = sys.argv[1:]
33+
else:
34+
sys.exit(77)
5435

5536

5637
with tempfile.TemporaryDirectory(prefix="libmodulemd_valgrind_") as tmpdirname:

modulemd/meson.build

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ if test_dirty_git
296296
args: dirty_repo_scripts)
297297
endif
298298

299+
valgrind_tests = []
299300

300301
if build_api_v1
301302
subdir('v1')
@@ -318,6 +319,6 @@ if valgrind.found()
318319
modulemd_valgrind_scripts = files('common/tests/test-valgrind.py')
319320
test ('valgrind', python3,
320321
env : test_env,
321-
args : modulemd_valgrind_scripts,
322+
args : modulemd_valgrind_scripts + valgrind_tests,
322323
timeout : 1200)
323324
endif

modulemd/v1/meson.build

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ test('test_v1_modulemd_buildopts', test_v1_modulemd_buildopts,
9696
env : test_env)
9797
test('test_v1_release_modulemd_buildopts', test_v1_modulemd_buildopts,
9898
env : test_release_env)
99+
valgrind_tests += 'test_v1_modulemd_buildopts'
99100

100101
test_v1_modulemd_component = executable(
101102
'test_v1_modulemd_component',
@@ -109,6 +110,7 @@ test('test_v1_modulemd_component', test_v1_modulemd_component,
109110
env : test_env)
110111
test('test_v1_release_modulemd_component', test_v1_modulemd_component,
111112
env : test_release_env)
113+
valgrind_tests += 'test_v1_modulemd_component'
112114

113115
test_v1_modulemd_defaults = executable(
114116
'test_v1_modulemd_defaults',
@@ -123,6 +125,7 @@ test('test_v1_modulemd_defaults', test_v1_modulemd_defaults,
123125
env : test_env)
124126
test('test_v1_release_modulemd_defaults', test_v1_modulemd_defaults,
125127
env : test_release_env)
128+
valgrind_tests += 'test_v1_modulemd_defaults'
126129

127130
test_v1_modulemd_dependencies = executable(
128131
'test_v1_modulemd_dependencies',
@@ -136,6 +139,7 @@ test('test_v1_modulemd_dependencies', test_v1_modulemd_dependencies,
136139
env : test_env)
137140
test('test_v1_release_modulemd_dependencies', test_v1_modulemd_dependencies,
138141
env : test_release_env)
142+
valgrind_tests += 'test_v1_modulemd_dependencies'
139143

140144
test_v1_modulemd_intent = executable(
141145
'test_v1_modulemd_intent',
@@ -149,6 +153,7 @@ test('test_v1_modulemd_intent', test_v1_modulemd_intent,
149153
env : test_env)
150154
test('test_v1_release_modulemd_intent', test_v1_modulemd_intent,
151155
env : test_release_env)
156+
valgrind_tests += 'test_v1_modulemd_intent'
152157

153158
test_v1_modulemd_module = executable(
154159
'test_v1_modulemd_module',
@@ -162,6 +167,7 @@ test('test_v1_modulemd_module', test_v1_modulemd_module,
162167
env : test_env)
163168
test('test_v1_release_modulemd_module', test_v1_modulemd_module,
164169
env : test_release_env)
170+
valgrind_tests += 'test_v1_modulemd_module'
165171

166172
test_v1_modulemd_modulestream = executable(
167173
'test_v1_modulemd_modulestream',
@@ -175,6 +181,7 @@ test('test_v1_modulemd_modulestream', test_v1_modulemd_modulestream,
175181
env : test_env)
176182
test('test_v1_release_modulemd_modulestream', test_v1_modulemd_modulestream,
177183
env : test_release_env)
184+
valgrind_tests += 'test_v1_modulemd_modulestream'
178185

179186
test_v1_modulemd_regressions = executable(
180187
'test_v1_modulemd_regressions',
@@ -188,6 +195,7 @@ test('test_v1_modulemd_regressions', test_v1_modulemd_regressions,
188195
env : test_env)
189196
test('test_v1_release_modulemd_regressions', test_v1_modulemd_regressions,
190197
env : test_release_env)
198+
valgrind_tests += 'test_v1_modulemd_regressions'
191199

192200
test_v1_modulemd_servicelevel = executable(
193201
'test_v1_modulemd_servicelevel',
@@ -201,6 +209,7 @@ test('test_v1_modulemd_servicelevel', test_v1_modulemd_servicelevel,
201209
env : test_env)
202210
test('test_v1_release_modulemd_servicelevel', test_v1_modulemd_servicelevel,
203211
env : test_release_env)
212+
valgrind_tests += 'test_v1_modulemd_servicelevel'
204213

205214
test_v1_modulemd_simpleset = executable(
206215
'test_v1_modulemd_simpleset',
@@ -214,6 +223,7 @@ test('test_v1_modulemd_simpleset', test_v1_modulemd_simpleset,
214223
env : test_env)
215224
test('test_v1_release_modulemd_simpleset', test_v1_modulemd_simpleset,
216225
env : test_release_env)
226+
valgrind_tests += 'test_v1_modulemd_simpleset'
217227

218228
test_v1_modulemd_subdocument = executable(
219229
'test_v1_modulemd_subdocument',
@@ -227,6 +237,7 @@ test('test_v1_modulemd_subdocument', test_v1_modulemd_subdocument,
227237
env : test_env)
228238
test('test_v1_release_modulemd_subdocument', test_v1_modulemd_subdocument,
229239
env : test_release_env)
240+
valgrind_tests += 'test_v1_modulemd_subdocument'
230241

231242

232243
test_v1_modulemd_translation = executable(
@@ -243,6 +254,7 @@ test('test_v1_modulemd_translation',
243254
test('test_v1_release_modulemd_translation',
244255
test_v1_modulemd_translation,
245256
env : test_release_env)
257+
valgrind_tests += 'test_v1_modulemd_translation'
246258

247259

248260
test_v1_modulemd_translation_entry = executable(
@@ -259,6 +271,7 @@ test('test_v1_modulemd_translation_entry',
259271
test('test_v1_release_modulemd_translation_entry',
260272
test_v1_modulemd_translation_entry,
261273
env : test_release_env)
274+
valgrind_tests += 'test_v1_modulemd_translation_entry'
262275

263276

264277
test_v1_modulemd_yaml = executable(
@@ -274,6 +287,7 @@ test('test_v1_modulemd_yaml', test_v1_modulemd_yaml,
274287
env : test_env)
275288
test('test_v1_release_modulemd_yaml', test_v1_modulemd_yaml,
276289
env : test_release_env)
290+
valgrind_tests += 'test_v1_modulemd_yaml'
277291

278292
# Test env with fatal warnings and criticals
279293
py_test_env = test_env
@@ -301,6 +315,7 @@ test ('test_v1_release_modulemd_python', python3,
301315
env : py_test_release_env,
302316
args : modulemd_python_scripts)
303317

318+
304319
if skip_introspection
305320
else
306321
gnome.generate_gir(

modulemd/v2/meson.build

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,8 @@ foreach name, sources : v2_c_tests
170170
env : test_env)
171171
test(name + '_release', exe,
172172
env : test_release_env)
173+
174+
valgrind_tests += name + '_debug'
173175
endforeach
174176

175177

0 commit comments

Comments
 (0)