Skip to content

Commit 34b6b6c

Browse files
committed
Fix tmt test import error when restraint metadata attributes are empty
1 parent 2af39b3 commit 34b6b6c

File tree

4 files changed

+28
-2
lines changed

4 files changed

+28
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[General]
2+
name=/empty_dependencies
3+
owner=Nobody <[email protected]>
4+
description=Empty dependencies
5+
license=MIT
6+
confidential=no
7+
destructive=no
8+
9+
[restraint]
10+
entry_point=bash -x ./runtest.sh
11+
dependencies=
12+
softDependencies=
13+
max_time=5m
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
echo "A simple test"

tests/test/import/test.sh

+10
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,16 @@ rlJournalStart
146146
rlRun 'popd'
147147
rlPhaseEnd
148148

149+
rlPhaseStartTest "Empty dependencies (Restraint)"
150+
rlRun 'pushd $tmp/data/parent/empty-dependencies'
151+
rlRun -s 'tmt test import --restraint --no-nitrate --no-purpose' '0'
152+
rlAssertExists "main.fmf"
153+
rlRun 'cat main.fmf'
154+
rlAssertGrep 'require:\s*\[\]' "main.fmf"
155+
rlAssertGrep 'recommend:\s*\[\]' "main.fmf"
156+
rlRun 'popd'
157+
rlPhaseEnd
158+
149159
rlPhaseStartTest "Target run having a single line"
150160
rlRun 'pushd $tmp/data/parent/single-line-run'
151161
rlRun -s 'tmt test import --makefile --no-nitrate --no-purpose' '0'

tmt/convert.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -336,15 +336,15 @@ def sanitize_name(name: str) -> str:
336336
if requires:
337337
data['require'] = [
338338
sanitize_name(require.strip()) for line in requires
339-
for require in line.split(rec_separator)]
339+
for require in line.split(rec_separator) if require.strip()]
340340
echo(style('require: ', fg='green') + ' '.join(data['require']))
341341

342342
# Requires or softDependencies (optional) goes to recommend
343343
recommends = re.findall(regex_recommend, testinfo, re.MULTILINE)
344344
if recommends:
345345
data['recommend'] = [
346346
sanitize_name(recommend.strip()) for line in recommends
347-
for recommend in line.split(rec_separator)]
347+
for recommend in line.split(rec_separator) if recommend.strip()]
348348
echo(
349349
style('recommend: ', fg='green') + ' '.join(data['recommend']))
350350

0 commit comments

Comments
 (0)