#!/usr/bin/env python import errno import glob import os import xml.etree.ElementTree as ET def mkdir_p(directory_name): try: os.makedirs(directory_name) except OSError as exc: if exc.errno == errno.EEXIST and os.path.isdir(directory_name): pass def main(): root_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..') test_results_path = os.path.realpath(os.path.join(root_path, 'test-results')) test_file_glob = os.path.join(test_results_path, 'bats', '*.xml') files = glob.glob(test_file_glob) for file in files: tree = ET.parse(file) root = tree.getroot() name = root.attrib['name'] if name == '': continue new_path = '{0}/{1}/results.xml'.format(test_results_path, name.replace('.bats', '')) mkdir_p(os.path.dirname(new_path)) os.rename(file, new_path) if __name__ == "__main__": main()