Chiang 2 лет назад
Родитель
Сommit
46d6387689

+ 4 - 5
scripts/metrics/metrics_xml_to_csv.py → scripts/metrics/ctest_metrics_xml_to_csv.py

@@ -4,7 +4,7 @@ For complete copyright and license terms please see the LICENSE at the root of t
 
 SPDX-License-Identifier: Apache-2.0 OR MIT
 
-Scrapes metrics from xml files and creates csv formatted files.
+Scrapes metrics from CTest xml files and creates csv formatted files.
 """
 import os.path
 import sys
@@ -49,13 +49,12 @@ def main():
     # Parse args
     args = parse_args()
 
-    # Load global configuration.
-    logger.info("Loading configuration")
-
     # Construct the full path to the xml file
     file_path = _get_test_xml_path(args.build_folder, args.ctest_log)
 
-    # Create csv files
+    # Create csv file
+    if os.path.exists(args.csv_file):
+        logger.warning(f"The file {args.csv_file} already exists. It will be overriden.")
     with open(args.csv_file, 'w', encoding='UTF8', newline='') as csv_file:
         writer = csv.DictWriter(csv_file, fieldnames=CTEST_FIELDS_HEADER, restval='N/A')
         writer.writeheader()

+ 11 - 12
scripts/metrics/tests/test_metrics_xml_to_csv.py

@@ -10,12 +10,12 @@ import unittest
 import unittest.mock as mock
 import os
 
-import metrics_xml_to_csv
+import ctest_metrics_xml_to_csv
 
 
 class TestMetricsXMLtoCSV(unittest.TestCase):
 
-    @mock.patch("metrics_xml_to_csv.now_wrap")
+    @mock.patch("ctest_metrics_xml_to_csv.now_wrap")
     def test_GetDefaultCSVFilename_SingleDigit_HasZeroes(self, mock_now):
         mock_datetime = mock.MagicMock()
         mock_datetime.month = 1
@@ -23,11 +23,11 @@ class TestMetricsXMLtoCSV(unittest.TestCase):
         mock_datetime.year = "xxxx"
         mock_now.return_value = mock_datetime
 
-        metrics_xml_to_csv._get_default_csv_filename()
+        under_test = ctest_metrics_xml_to_csv._get_default_csv_filename()
 
-        assert metrics_xml_to_csv.DEFAULT_CSV_FILE == "xxxx_01_02.csv"
+        assert under_test == "xxxx_01_02.csv"
 
-    @mock.patch("metrics_xml_to_csv.now_wrap")
+    @mock.patch("ctest_metrics_xml_to_csv.now_wrap")
     def test_GetDefaultCSVFilename_DoubleDigit_NoZeroes(self, mock_now):
         mock_datetime = mock.MagicMock()
         mock_datetime.month = 11
@@ -35,21 +35,20 @@ class TestMetricsXMLtoCSV(unittest.TestCase):
         mock_datetime.year = "xxxx"
         mock_now.return_value = mock_datetime
 
-        metrics_xml_to_csv._get_default_csv_filename()
+        under_test = ctest_metrics_xml_to_csv._get_default_csv_filename()
 
-        assert metrics_xml_to_csv.DEFAULT_CSV_FILE == "xxxx_11_12.csv"
+        assert under_test == "xxxx_11_12.csv"
 
     @mock.patch('os.path.exists', mock.MagicMock(side_effect=[True, True]))
     @mock.patch('builtins.open')
-    @mock.patch('metrics_xml_to_csv.read_config')
-    def test_GetTestXMLPath_(self, mock_read_config, mock_open):
-        mock_read_config.side_effect = ['mock_testing_dir', 'mock_tag_file']
+    def test_GetTestXMLPath_PathExists_ReturnsCorrect(self, mock_open):
         mock_build_path = 'mock_build_path'
         mock_xml_file = 'mock_xml_file'
         mock_opened_file = mock.MagicMock()
         mock_opened_file.__enter__.return_value.readline.return_value = 'mock_folder_name'
         mock_open.return_value = mock_opened_file
 
-        under_test = metrics_xml_to_csv._get_test_xml_path(mock_build_path, mock_xml_file)
+        under_test = ctest_metrics_xml_to_csv._get_test_xml_path(mock_build_path, mock_xml_file)
 
-        assert under_test == os.path.join(mock_build_path, 'mock_testing_dir', 'mock_folder_name', mock_xml_file)
+        assert under_test == os.path.join(mock_build_path, ctest_metrics_xml_to_csv.TESTING_DIR, 'mock_folder_name',
+                                          mock_xml_file)