Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions ros2_batch_job/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@
# limitations under the License.

import argparse
import configparser
import os
from pathlib import Path
import platform
from shutil import which
import subprocess
Expand Down Expand Up @@ -380,6 +382,21 @@ def build_and_test(args, job):
# xunit2 format is needed to make Jenkins xunit plugin 2.x happy
with open('pytest.ini', 'w') as ini_file:
ini_file.write('[pytest]\njunit_family=xunit2')
# check if packages have a pytest.ini file and add the xunit2
# format if it is not present
for path in Path('.').rglob('pytest.ini'):
config = configparser.ConfigParser()
config.read(str(path))
try:
# only if xunit2 is set continue the loop with the file unpatched
if config.get('pytest', 'junit_family') == 'xunit2':
continue
except configparser.NoOptionError:
pass
print('xunit2 patch applied to ' + str(path))
config.set('pytest', 'junit_family', 'xunit2')
with open(path, 'w+') as configfile:
config.write(configfile)

test_cmd = [
args.colcon_script, 'test',
Expand Down