Jelajahi Sumber

fix #4 - metrixplusplus now runs on python 2 and 3 + tests run on linux and windows

prozessorkern 5 tahun lalu
induk
melakukan
0b80a9f5fe
100 mengubah file dengan 5344 tambahan dan 5303 penghapusan
  1. 3 0
      .gitignore
  2. 2 2
      ext/std/code/cpp.py
  3. 2 2
      ext/std/code/cs.py
  4. 1 1
      ext/std/code/debug.py
  5. 2 2
      ext/std/code/java.py
  6. 3 3
      ext/std/code/test.py
  7. 4 4
      ext/std/tools/collect.py
  8. 3 3
      ext/std/tools/export.py
  9. 1 1
      ext/std/tools/info.py
  10. 1 1
      ext/std/tools/limit.py
  11. 1 1
      ext/std/tools/test.py
  12. 57 48
      ext/std/tools/view.py
  13. 3 3
      metrixpp.py
  14. 20 20
      mpp/api.py
  15. 1 1
      mpp/cout.py
  16. 9 9
      mpp/internal/dbwrap.py
  17. 11 5
      mpp/internal/loader.py
  18. 3 3
      mpp/internal/py2txt.py
  19. 13 4
      mpp/internal/py2xml.py
  20. 1 1
      mpp/log.py
  21. 4 4
      mpp/utils.py
  22. 35 23
      tests/common.py
  23. 14 14
      tests/general/test_basic/test_help_--help_default_stdout.gold.txt
  24. 144 144
      tests/general/test_basic/test_help_collect_default_stdout.gold.txt
  25. 18 18
      tests/general/test_basic/test_help_export_default_stdout.gold.txt
  26. 18 18
      tests/general/test_basic/test_help_info_default_stdout.gold.txt
  27. 56 54
      tests/general/test_basic/test_help_limit_default_stdout.gold.txt
  28. 36 36
      tests/general/test_basic/test_help_view_default_stdout.gold.txt
  29. 16 16
      tests/general/test_basic/test_std_code_magic_view_default_stdout.gold.txt
  30. 96 96
      tests/general/test_basic/test_std_code_magic_view_nest_per_file_stdout.gold.txt
  31. 94 94
      tests/general/test_basic/test_std_code_magic_view_nozeros_nest_per_file_stdout.gold.txt
  32. 14 14
      tests/general/test_basic/test_std_code_magic_view_nozeros_stdout.gold.txt
  33. 16 16
      tests/general/test_basic/test_std_complexity_maxindent_view_default_stdout.gold.txt
  34. 95 95
      tests/general/test_basic/test_std_complexity_maxindent_view_nest_per_file_stdout.gold.txt
  35. 120 120
      tests/general/test_basic/test_std_filelines_metrics_view_nest_per_file_stdout.gold.txt
  36. 44 44
      tests/general/test_basic/test_std_filelines_metrics_view_txt_stdout.gold.txt
  37. 108 108
      tests/general/test_basic/test_std_general_metrics_view_nest_per_file_stdout.gold.txt
  38. 32 32
      tests/general/test_basic/test_std_general_metrics_view_txt_stdout.gold.txt
  39. 173 173
      tests/general/test_basic/test_std_lines_metrics_view_nest_per_file_stdout.gold.txt
  40. 59 59
      tests/general/test_basic/test_std_lines_metrics_view_txt_stdout.gold.txt
  41. 157 157
      tests/general/test_basic/test_std_member_metrics_view_nest_per_file_stdout.gold.txt
  42. 74 74
      tests/general/test_basic/test_std_member_metrics_view_txt_stdout.gold.txt
  43. 115 115
      tests/general/test_basic/test_view_format_view_nest_per_file_stdout.gold.txt
  44. 27 27
      tests/general/test_basic/test_view_format_view_nest_stdout.gold.txt
  45. 1 1
      tests/general/test_basic/test_view_format_view_python_stdout.gold.txt
  46. 16 16
      tests/general/test_basic/test_view_format_view_txt_stdout.gold.txt
  47. 24 24
      tests/general/test_basic/test_view_format_view_xml_stdout.gold.txt
  48. 6 6
      tests/general/test_basic/test_workflow_collect_default_stderr.gold.txt
  49. 5 5
      tests/general/test_basic/test_workflow_collect_second_stderr.gold.txt
  50. 3 3
      tests/general/test_basic/test_workflow_export_default_stderr.gold.txt
  51. 19 19
      tests/general/test_basic/test_workflow_export_default_stdout.gold.txt
  52. 3 3
      tests/general/test_basic/test_workflow_export_second_stderr.gold.txt
  53. 18 18
      tests/general/test_basic/test_workflow_export_second_stdout.gold.txt
  54. 3 3
      tests/general/test_basic/test_workflow_info_default_stderr.gold.txt
  55. 31 31
      tests/general/test_basic/test_workflow_info_default_stdout.gold.txt
  56. 3 3
      tests/general/test_basic/test_workflow_info_second_stderr.gold.txt
  57. 31 31
      tests/general/test_basic/test_workflow_info_second_stdout.gold.txt
  58. 4 4
      tests/general/test_basic/test_workflow_limit_default_stderr.gold.txt
  59. 74 74
      tests/general/test_basic/test_workflow_limit_default_stdout.gold.txt
  60. 4 4
      tests/general/test_basic/test_workflow_limit_second_stderr.gold.txt
  61. 56 56
      tests/general/test_basic/test_workflow_limit_second_stdout.gold.txt
  62. 4 4
      tests/general/test_basic/test_workflow_limit_second_warn_all_stderr.gold.txt
  63. 56 56
      tests/general/test_basic/test_workflow_limit_second_warn_all_stdout.gold.txt
  64. 5 5
      tests/general/test_basic/test_workflow_limit_second_warn_new_stderr.gold.txt
  65. 20 20
      tests/general/test_basic/test_workflow_limit_second_warn_new_stdout.gold.txt
  66. 5 5
      tests/general/test_basic/test_workflow_limit_second_warn_touched_stderr.gold.txt
  67. 38 38
      tests/general/test_basic/test_workflow_limit_second_warn_touched_stdout.gold.txt
  68. 5 5
      tests/general/test_basic/test_workflow_limit_second_warn_trend_stderr.gold.txt
  69. 29 29
      tests/general/test_basic/test_workflow_limit_second_warn_trend_stdout.gold.txt
  70. 3 3
      tests/general/test_basic/test_workflow_view_default_stderr.gold.txt
  71. 76 76
      tests/general/test_basic/test_workflow_view_default_stdout.gold.txt
  72. 3 3
      tests/general/test_basic/test_workflow_view_second_per_file_stderr.gold.txt
  73. 184 184
      tests/general/test_basic/test_workflow_view_second_per_file_stdout.gold.txt
  74. 3 3
      tests/general/test_basic/test_workflow_view_second_per_file_txt_all_stderr.gold.txt
  75. 214 214
      tests/general/test_basic/test_workflow_view_second_per_file_txt_all_stdout.gold.txt
  76. 4 4
      tests/general/test_basic/test_workflow_view_second_per_file_txt_new_stderr.gold.txt
  77. 200 200
      tests/general/test_basic/test_workflow_view_second_per_file_txt_new_stdout.gold.txt
  78. 4 4
      tests/general/test_basic/test_workflow_view_second_per_file_txt_touched_stderr.gold.txt
  79. 209 209
      tests/general/test_basic/test_workflow_view_second_per_file_txt_touched_stdout.gold.txt
  80. 3 3
      tests/general/test_basic/test_workflow_view_second_stderr.gold.txt
  81. 87 87
      tests/general/test_basic/test_workflow_view_second_stdout.gold.txt
  82. 3 3
      tests/general/test_basic/test_workflow_view_second_txt_all_stderr.gold.txt
  83. 90 90
      tests/general/test_basic/test_workflow_view_second_txt_all_stdout.gold.txt
  84. 5 5
      tests/general/test_basic/test_workflow_view_second_txt_new_stderr.gold.txt
  85. 83 83
      tests/general/test_basic/test_workflow_view_second_txt_new_stdout.gold.txt
  86. 6 6
      tests/general/test_basic/test_workflow_view_second_txt_touched_stderr.gold.txt
  87. 89 89
      tests/general/test_basic/test_workflow_view_second_txt_touched_stdout.gold.txt
  88. 1 1
      tests/general/test_std_code_cpp.py
  89. 6 6
      tests/general/test_std_code_cpp/test_parser_collect_default_stdout.gold.txt
  90. 110 110
      tests/general/test_std_code_cpp/test_parser_limit_default_stdout.gold.txt
  91. 27 27
      tests/general/test_std_code_cpp/test_parser_view_default_stdout.gold.txt
  92. 889 889
      tests/general/test_std_code_cpp/test_parser_view_files_stdout.gold.txt
  93. 1 1
      tests/general/test_std_code_cs.py
  94. 146 146
      tests/general/test_std_code_cs/test_parser_limit_default_stdout.gold.txt
  95. 29 29
      tests/general/test_std_code_cs/test_parser_view_default_stdout.gold.txt
  96. 461 461
      tests/general/test_std_code_cs/test_parser_view_files_stdout.gold.txt
  97. 1 1
      tests/general/test_std_code_cs_unit.py
  98. 21 21
      tests/general/test_std_code_cs_unit/test_parser_view_default_stdout.gold.txt
  99. 217 217
      tests/general/test_std_code_cs_unit/test_parser_view_files_stdout.gold.txt
  100. 0 0
      tests/general/test_std_code_java.py

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+__pycache__
+*.pyc
+metrixpp.db

+ 2 - 2
ext/std/code/cpp.py

@@ -96,9 +96,9 @@ class CppCodeParser(object):
         crc32 = 0
         for child in block['children']:
             # exclude children
-            crc32 = binascii.crc32(text[start_pos:child['start']], crc32)
+            crc32 = binascii.crc32(text[start_pos:child['start']].encode('utf8'), crc32)
             start_pos = child['end']
-        block['checksum'] = binascii.crc32(text[start_pos:block['end']], crc32) & 0xffffffff # to match python 3
+        block['checksum'] = binascii.crc32(text[start_pos:block['end']].encode('utf8'), crc32) & 0xffffffff # to match python 3
         
     def add_lines_data(self, text, blocks):
         def add_lines_data_rec(self, text, blocks):

+ 2 - 2
ext/std/code/cs.py

@@ -107,9 +107,9 @@ class CsCodeParser(object):
         crc32 = 0
         for child in block['children']:
             # exclude children
-            crc32 = binascii.crc32(text[start_pos:child['start']], crc32)
+            crc32 = binascii.crc32(text[start_pos:child['start']].encode('utf8'), crc32)
             start_pos = child['end']
-        block['checksum'] = binascii.crc32(text[start_pos:block['end']], crc32) & 0xffffffff # to match python 3
+        block['checksum'] = binascii.crc32(text[start_pos:block['end']].encode('utf8'), crc32) & 0xffffffff # to match python 3
         
     def add_lines_data(self, text, blocks):
         def add_lines_data_rec(self, text, blocks):

+ 1 - 1
ext/std/code/debug.py

@@ -103,6 +103,6 @@ def dumphtml(args, loader):
         result += proc_rec(1, data, styles, 0, 0)
         result += ('</pre></td></tr></table>')
     result += ('</body></html>')
-    print result
+    print(result)
     return exit_code
             

+ 2 - 2
ext/std/code/java.py

@@ -84,9 +84,9 @@ class JavaCodeParser(object):
         crc32 = 0
         for child in block['children']:
             # exclude children
-            crc32 = binascii.crc32(text[start_pos:child['start']], crc32)
+            crc32 = binascii.crc32(text[start_pos:child['start']].encode('utf8'), crc32)
             start_pos = child['end']
-        block['checksum'] = binascii.crc32(text[start_pos:block['end']], crc32) & 0xffffffff # to match python 3
+        block['checksum'] = binascii.crc32(text[start_pos:block['end']].encode('utf8'), crc32) & 0xffffffff # to match python 3
         
     def add_lines_data(self, text, blocks):
         def add_lines_data_rec(self, text, blocks):

+ 3 - 3
ext/std/code/test.py

@@ -29,7 +29,7 @@ class Plugin(mpp.api.Plugin, mpp.api.Child):
                              " " + str(marker.get_offset_begin()) + " " + str(marker.get_offset_end()) +
                              " >>>" + text[marker.get_offset_begin():marker.get_offset_end()] + "<<<")
                 text_comb += text[marker.get_offset_begin():marker.get_offset_end()]
-        print "LENGTH:", len(text), len(text_comb)
+        print("LENGTH:", len(text), len(text_comb))
 
         text_comb = ""
         for marker in data.iterate_markers(region_id=1,
@@ -39,7 +39,7 @@ class Plugin(mpp.api.Plugin, mpp.api.Child):
                          " " + str(marker.get_offset_begin()) + " " + str(marker.get_offset_end()) +
                          " >>>" + text[marker.get_offset_begin():marker.get_offset_end()] + "<<<")
             text_comb += text[marker.get_offset_begin():marker.get_offset_end()]
-        print "LENGTH:", len(text), len(text_comb)
+        print("LENGTH:", len(text), len(text_comb))
 
         text_comb = ""
         for region in data.iterate_regions():
@@ -52,4 +52,4 @@ class Plugin(mpp.api.Plugin, mpp.api.Child):
                              " " + str(marker.get_offset_begin()) + " " + str(marker.get_offset_end()) +
                              " >>>" + text[marker.get_offset_begin():marker.get_offset_end()] + "<<<")
                 text_comb += text[marker.get_offset_begin():marker.get_offset_end()]
-        print "LENGTH:", len(text), len(text_comb)
+        print("LENGTH:", len(text), len(text_comb))

+ 4 - 4
ext/std/tools/collect.py

@@ -114,7 +114,7 @@ class DirectoryReader():
     def run(self, plugin, directory):
         
         IS_TEST_MODE = False
-        if 'METRIXPLUSPLUS_TEST_MODE' in os.environ.keys():
+        if 'METRIXPLUSPLUS_TEST_MODE' in list(os.environ.keys()):
             IS_TEST_MODE = True
 
         def run_per_file(plugin, fname, full_path):
@@ -136,10 +136,10 @@ class DirectoryReader():
                         f = open(full_path, 'rU');
                         text = f.read();
                         f.close()
-                        checksum = binascii.crc32(text) & 0xffffffff # to match python 3
+                        checksum = binascii.crc32(text.encode('utf8')) & 0xffffffff # to match python 3
                         
                         db_loader = plugin.get_plugin('mpp.dbf').get_loader()
-                        (data, is_updated) = db_loader.create_file_data(norm_path, checksum, text)
+                        (data, is_updated) = db_loader.create_file_data(norm_path, checksum, str(text))
                         procerrors = parser.process(plugin, data, is_updated)
                         if plugin.is_proctime_enabled == True:
                             data.set_data('std.general', 'proctime',
@@ -183,4 +183,4 @@ class DirectoryReader():
     
 
 
-    
+    

+ 3 - 3
ext/std/tools/export.py

@@ -27,15 +27,15 @@ class Plugin(mpp.api.Plugin, mpp.api.IRunable):
     def _export_to_stdout(self, paths):
         class StdoutWriter(object):
             def write(self, *args, **kwargs):
-                print args[0].strip()
+                print(args[0].strip())
         
         exit_code = 0
     
         columns = []
         columnNames = ["file", "region", "type", "modified", "line start", "line end"]
-        for name in self.loader.iterate_namespace_names():
+        for name in sorted(self.loader.iterate_namespace_names()):
             namespace = self.loader.get_namespace(name)
-            for field in namespace.iterate_field_names():
+            for field in sorted(namespace.iterate_field_names()):
                 columns.append((name, field))
                 columnNames.append(name + ":" + field)
     

+ 1 - 1
ext/std/tools/info.py

@@ -30,7 +30,7 @@ class Plugin(mpp.api.Plugin, mpp.api.IRunable):
                     prev_value_str = " [modified (was: " + loader_prev.get_property(each.name) + ")]"
             details.append((each.name, each.value + prev_value_str))
         path = self.get_plugin('mpp.dbf').get_dbfile_path()
-        if ('METRIXPLUSPLUS_TEST_MODE' in os.environ.keys() and
+        if ('METRIXPLUSPLUS_TEST_MODE' in list(os.environ.keys()) and
              os.environ['METRIXPLUSPLUS_TEST_MODE'] == "True"):
             # in tests, paths come as full paths, strip it for consistent gold files
             # TODO: if there are other path-like arguments, it is better to think about other solution

+ 1 - 1
ext/std/tools/limit.py

@@ -291,7 +291,7 @@ def get_list_of_modified_files(loader, loader_prev):
     for each in loader.iterate_file_data():
         if len(modified_file_ids) > 1000: # If more than 1000 files changed, skip optimisation
             return None
-        if (each.get_path() not in old_files_map.keys()) or old_files_map[each.get_path()] != each.get_checksum():
+        if (each.get_path() not in list(old_files_map.keys())) or old_files_map[each.get_path()] != each.get_checksum():
             modified_file_ids.append(str(each.get_id()))
 
     old_files_map = None

+ 1 - 1
ext/std/tools/test.py

@@ -29,7 +29,7 @@ class Plugin(mpp.api.Plugin, mpp.api.IConfigurable, mpp.api.IRunable):
         tests_dir = os.path.join(os.environ['METRIXPLUSPLUS_INSTALL_DIR'], 'tests')
         process_data= ["python", "-m", "unittest", "discover", "-v", "-s"]
         if len(args) == 0 or tests_dir == os.path.abspath(args[0]):
-            for fname in os.listdir(tests_dir):
+            for fname in sorted(os.listdir(tests_dir)):
                 full_path = os.path.join(tests_dir, fname)
                 if os.path.isdir(full_path) and fname != "sources":
                     exit_code += subprocess.call(itertools.chain(process_data, [full_path]),

+ 57 - 48
ext/std/tools/view.py

@@ -12,6 +12,8 @@ import mpp.api
 import mpp.utils
 import mpp.cout
 
+DIGIT_COUNT = 8
+
 class Plugin(mpp.api.Plugin, mpp.api.IConfigurable, mpp.api.IRunable):
     
     MODE_NEW     = 0x01
@@ -61,7 +63,7 @@ class Plugin(mpp.api.Plugin, mpp.api.IConfigurable, mpp.api.IRunable):
             paths = [""]
         else:
             paths = args
-        
+
         (result, exit_code) = export_to_str(self.out_format,
                                             paths,
                                             loader,
@@ -69,7 +71,7 @@ class Plugin(mpp.api.Plugin, mpp.api.IConfigurable, mpp.api.IRunable):
                                             self.nest_regions,
                                             self.dist_columns,
                                             self.mode)
-        print result
+        print(result)
         return exit_code
 
 def export_to_str(out_format, paths, loader, loader_prev, nest_regions, dist_columns, mode):
@@ -90,8 +92,8 @@ def export_to_str(out_format, paths, loader, loader_prev, nest_regions, dist_col
         subfiles = []
         if aggregated_data != None:
             aggregated_data_tree = aggregated_data.get_data_tree()
-            subdirs = aggregated_data.get_subdirs()
-            subfiles = aggregated_data.get_subfiles()
+            subdirs = sorted(aggregated_data.get_subdirs())
+            subfiles = sorted(aggregated_data.get_subfiles())
         else:
             mpp.utils.report_bad_path(path)
             exit_code += 1
@@ -121,7 +123,7 @@ def export_to_str(out_format, paths, loader, loader_prev, nest_regions, dist_col
         if out_format == 'txt':
             cout_txt(data, loader)
         elif out_format == 'xml':
-            result += mpp.utils.serialize_to_xml(data, root_name = "data") + "\n"
+            result += mpp.utils.serialize_to_xml(data, root_name = "data", digitCount = DIGIT_COUNT) + "\n"
         elif out_format == 'python':
             postfix = ""
             if ind < len(paths) - 1:
@@ -192,8 +194,8 @@ def load_aggregated_data_with_mode(loader, loader_prev, path, mode):
                 assert(self.in_processing_mode == True)
                 sup_data = orig_data.get_data('std.suppress', 'list')
                 data = orig_data.get_data_tree()
-                for namespace in data.keys():
-                    for field in data[namespace].keys():
+                for namespace in list(data.keys()):
+                    for field in list(data[namespace].keys()):
                         aggr_data = self.get_data(namespace, field)
                         metric_value = data[namespace][field]
                         if isinstance(metric_value, str):
@@ -206,7 +208,7 @@ def load_aggregated_data_with_mode(loader, loader_prev, path, mode):
                         aggr_data['count'] += 1
                         aggr_data['total'] += metric_value
                         # average is calculated later on get_data_tree
-                        if metric_value not in aggr_data['distribution-bars'].keys():
+                        if metric_value not in list(aggr_data['distribution-bars'].keys()):
                             aggr_data['distribution-bars'][metric_value] = 0
                         aggr_data['distribution-bars'][metric_value] += 1
                         if sup_data != None:
@@ -340,16 +342,16 @@ def append_diff(main_tree, prev_tree):
     assert(main_tree != None)
     assert(prev_tree != None)
     
-    for name in main_tree.keys():
-        if name not in prev_tree.keys():
+    for name in list(main_tree.keys()):
+        if name not in list(prev_tree.keys()):
             continue
-        for field in main_tree[name].keys():
-            if field not in prev_tree[name].keys():
+        for field in list(main_tree[name].keys()):
+            if field not in list(prev_tree[name].keys()):
                 continue
             if isinstance(main_tree[name][field], dict) and isinstance(prev_tree[name][field], dict):
                 diff = {}
-                for key in main_tree[name][field].keys():
-                    if key not in prev_tree[name][field].keys():
+                for key in list(main_tree[name][field].keys()):
+                    if key not in list(prev_tree[name][field].keys()):
                         continue
                     main_val = main_tree[name][field][key]
                     prev_val = prev_tree[name][field][key]
@@ -373,7 +375,7 @@ def append_diff_list(main_list, prev_list):
     for bar in main_list:
         merged_list[bar['metric']] = {'count': bar['count'], '__diff__':bar['count'], 'ratio': bar['ratio']}
     for bar in prev_list:
-        if bar['metric'] in merged_list.keys():
+        if bar['metric'] in list(merged_list.keys()):
             merged_list[bar['metric']]['__diff__'] = \
                 merged_list[bar['metric']]['count'] - bar['count']
         else:
@@ -389,8 +391,8 @@ def append_diff_list(main_list, prev_list):
 def append_suppressions(path, data, loader, mode):
     if mode == Plugin.MODE_ALL:
         # in other modes, suppressions are appended during data loading
-        for namespace in data.keys():
-            for field in data[namespace].keys():
+        for namespace in list(data.keys()):
+            for field in list(data[namespace].keys()):
                 selected_data = loader.load_selected_data('std.suppress',
                                            fields = ['list'],
                                            path=path,
@@ -409,8 +411,8 @@ def compress_dist(data, columns):
     if columns == 0:
         return data
     
-    for namespace in data.keys():
-        for field in data[namespace].keys():
+    for namespace in list(data.keys()):
+        for field in list(data[namespace].keys()):
             metric_data = data[namespace][field]
             distr = metric_data['distribution-bars']
             columns = float(columns) # to trigger floating calculations
@@ -422,8 +424,8 @@ def compress_dist(data, columns):
             remaining_count = metric_data['count']
             next_consume = None
             next_bar = None
-            max_count = -sys.maxint - 1
-            min_count = sys.maxint
+            max_count = -sys.maxsize - 1
+            min_count = sys.maxsize
             sum_ratio = 0
             for (ind, bar) in enumerate(distr):
                 if next_bar == None:
@@ -432,15 +434,15 @@ def compress_dist(data, columns):
                                 'ratio': bar['ratio'],
                                 'metric_s': bar['metric'],
                                 'metric_f': bar['metric']}
-                    if '__diff__' in bar.keys():
+                    if '__diff__' in list(bar.keys()):
                         next_bar['__diff__'] = bar['__diff__']
-                    next_consume = int(round(remaining_count/ (columns - len(new_dist))))
+                    next_consume = int(remaining_count/ (columns - len(new_dist)))
                 else:
                     # merge to existing bar
                     next_bar['count'] += bar['count']
                     next_bar['ratio'] += bar['ratio']
                     next_bar['metric_f'] = bar['metric']
-                    if '__diff__' in bar.keys():
+                    if '__diff__' in list(bar.keys()):
                         next_bar['__diff__'] += bar['__diff__']
                 
                 next_consume -= bar['count']
@@ -490,7 +492,7 @@ def compress_dist(data, columns):
                                     'ratio': bar['ratio'],
                                     'metric_s': next_end_limit,
                                     'metric_f': bar['metric']}
-                        if '__diff__' in bar.keys():
+                        if '__diff__' in list(bar.keys()):
                             next_bar['__diff__'] = bar['__diff__']
                         next_end_limit += step
                     else:
@@ -498,7 +500,7 @@ def compress_dist(data, columns):
                         next_bar['count'] += bar['count']
                         next_bar['ratio'] += bar['ratio']
                         next_bar['metric_f'] = bar['metric']
-                        if '__diff__' in bar.keys():
+                        if '__diff__' in list(bar.keys()):
                             next_bar['__diff__'] += bar['__diff__']
                     
                     if (next_bar['metric_f'] >= next_end_limit # consumed enough
@@ -530,15 +532,15 @@ def cout_txt_regions(path, regions, indent = 0):
             ('Line numbers', str(region['info']['line_begin']) + "-" + str(region['info']['line_end'])),
             ('Modified', str(region['info']['modified']))
         ]
-        for namespace in region['data'].keys():
+        for namespace in sorted(list(region['data'].keys())):
             diff_data = {}
-            if '__diff__' in region['data'][namespace].keys():
+            if '__diff__' in list(region['data'][namespace].keys()):
                 diff_data = region['data'][namespace]['__diff__']
-            for field in region['data'][namespace].keys():
+            for field in sorted(list(region['data'][namespace].keys())):
                 diff_str = ""
                 if field == '__diff__':
                     continue
-                if field in diff_data.keys():
+                if field in list(diff_data.keys()):
                     diff_str = " [" + ("+" if diff_data[field] >= 0 else "") + str(diff_data[field]) + "]"
                 details.append((namespace + ":" + field, str(region['data'][namespace][field]) + diff_str))
         mpp.cout.notify(path,
@@ -547,25 +549,25 @@ def cout_txt_regions(path, regions, indent = 0):
                         "Metrics per '" + region['info']['name']+ "' region",
                         details,
                         indent=indent)
-        if 'subregions' in region.keys():
+        if 'subregions' in list(region.keys()):
             cout_txt_regions(path, region['subregions'], indent=indent+1)
 
 def cout_txt(data, loader):
     
     details = []
-    for key in data['file-data'].keys():
+    for key in list(data['file-data'].keys()):
         if key == 'regions':
             cout_txt_regions(data['info']['path'], data['file-data'][key])
         else:
             namespace = key
             diff_data = {}
-            if '__diff__' in data['file-data'][namespace].keys():
+            if '__diff__' in list(data['file-data'][namespace].keys()):
                 diff_data = data['file-data'][namespace]['__diff__']
-            for field in data['file-data'][namespace].keys():
+            for field in sorted(list(data['file-data'][namespace].keys())):
                 diff_str = ""
                 if field == '__diff__':
                     continue
-                if field in diff_data.keys():
+                if field in list(diff_data.keys()):
                     diff_str = " [" + ("+" if diff_data[field] >= 0 else "") + str(diff_data[field]) + "]"
                 details.append((namespace + ":" + field, str(data['file-data'][namespace][field]) + diff_str))
     if len(details) > 0:
@@ -580,25 +582,32 @@ def cout_txt(data, loader):
                 'min': 'Minimum',
                 'max': 'Maximum',
     }
-    for namespace in data['aggregated-data'].keys():
-        for field in data['aggregated-data'][namespace].keys():
+    for namespace in sorted(list(data['aggregated-data'].keys())):
+        for field in sorted(list(data['aggregated-data'][namespace].keys())):
             details = []
             diff_data = {}
-            if '__diff__' in data['aggregated-data'][namespace][field].keys():
+            if '__diff__' in list(data['aggregated-data'][namespace][field].keys()):
                 diff_data = data['aggregated-data'][namespace][field]['__diff__']
             for attr in ['avg', 'min', 'max', 'total']:
                 diff_str = ""
-                if attr in diff_data.keys():
-                    diff_str = " [" + ("+" if diff_data[attr] >= 0 else "") + str(diff_data[attr]) + "]"
+                if attr in list(diff_data.keys()):
+                    if isinstance(diff_data[attr], float):
+                        diff_str = " [" + ("+" if diff_data[attr] >= 0 else "") + str(round(diff_data[attr], DIGIT_COUNT)) + "]"
+                    else:
+                        diff_str = " [" + ("+" if diff_data[attr] >= 0 else "") + str(diff_data[attr]) + "]"
                 if attr == 'avg' and data['aggregated-data'][namespace][field]['nonzero'] == True:
                     diff_str += " (excluding zero metric values)"
-                details.append((attr_map[attr], str(data['aggregated-data'][namespace][field][attr]) + diff_str))
+                if isinstance(data['aggregated-data'][namespace][field][attr], float):
+                    # round the data to reach same results on platforms with different precision
+                    details.append((attr_map[attr], str(round(data['aggregated-data'][namespace][field][attr], DIGIT_COUNT)) + diff_str))
+                else:
+                    details.append((attr_map[attr], str(data['aggregated-data'][namespace][field][attr]) + diff_str))
 
             measured = data['aggregated-data'][namespace][field]['count']
-            if 'count' in diff_data.keys():
+            if 'count' in list(diff_data.keys()):
                 diff_str = ' [{0:{1}}]'.format(diff_data['count'], '+' if diff_data['count'] >= 0 else '')
             sup_diff_str = ""
-            if 'sup' in diff_data.keys():
+            if 'sup' in list(diff_data.keys()):
                 sup_diff_str = ' [{0:{1}}]'.format(diff_data['sup'], '+' if diff_data['sup'] >= 0 else '')
             elem_name = 'regions'
             if loader.get_namespace(namespace).are_regions_supported() == False:
@@ -615,7 +624,7 @@ def cout_txt(data, loader):
             for bar in data['aggregated-data'][namespace][field]['distribution-bars']:
                 sum_ratio += bar['ratio']
                 diff_str = ""
-                if '__diff__' in bar.keys():
+                if '__diff__' in list(bar.keys()):
                     if bar['__diff__'] >= 0:
                         diff_str = ' [+{0:<{1}}]'.format(bar['__diff__'], count_str_len)
                     else:
@@ -630,16 +639,16 @@ def cout_txt(data, loader):
                 count_str = ((" " * (count_str_len - len(count_str))) + count_str + diff_str + "\t")
                 details.append((metric_str,
                                 "{0:.3f}".format(bar['ratio']) + " : " + "{0:.3f}".format(sum_ratio) +  " : " +
-                                count_str + ('|' * int(round(bar['ratio']*100)))))
+                                count_str + ('|' * int(bar['ratio']*100))))
             mpp.cout.notify(data['info']['path'],
                     '', # no line number
                     mpp.cout.SEVERITY_INFO,
                     "Overall metrics for '" + namespace + ":" + field + "' metric",
                     details)
     details = []
-    for each in data['subdirs']:
+    for each in sorted(data['subdirs']):
         details.append(('Directory', each))
-    for each in data['subfiles']:
+    for each in sorted(data['subfiles']):
         details.append(('File', each))
     if len(details) > 0: 
         mpp.cout.notify(data['info']['path'],
@@ -647,4 +656,4 @@ def cout_txt(data, loader):
                 mpp.cout.SEVERITY_INFO,
                 "Directory content:",
                 details)
-    
+    

+ 3 - 3
metrixpp.py

@@ -35,7 +35,7 @@ def main():
 
     loader = mpp.internal.loader.Loader()
     mpp_paths = []
-    if 'METRIXPLUSPLUS_PATH' in os.environ.keys():
+    if 'METRIXPLUSPLUS_PATH' in list(os.environ.keys()):
         mpp_paths = os.environ['METRIXPLUSPLUS_PATH'].split(os.pathsep)
     args = loader.load(command, mpp_paths, sys.argv[3:])
     exit_code = loader.run(args)
@@ -48,11 +48,11 @@ def start():
 
     exit_code = main()
     time_spent = round((time.time() - ts), 2)
-    if 'METRIXPLUSPLUS_TEST_GENERATE_GOLDS' in os.environ.keys() and \
+    if 'METRIXPLUSPLUS_TEST_GENERATE_GOLDS' in list(os.environ.keys()) and \
         os.environ['METRIXPLUSPLUS_TEST_GENERATE_GOLDS'] == "True":
         time_spent = 1 # Constant value if under tests
     logging.warning("Done (" + str(time_spent) +" seconds). Exit code: " + str(exit_code))
     exit(exit_code)
 
 if __name__ == '__main__':
-    start()
+    start()

+ 20 - 20
mpp/api.py

@@ -101,9 +101,9 @@ class Data(object):
         self.data = {}
         
     def get_data(self, namespace, field):
-        if namespace not in self.data.keys():
+        if namespace not in list(self.data.keys()):
             return None
-        if field not in self.data[namespace].keys():
+        if field not in list(self.data[namespace].keys()):
             return None
         return self.data[namespace][field]
 
@@ -113,11 +113,11 @@ class Data(object):
         self.data[namespace][field] = value
 
     def iterate_namespaces(self):
-        for namespace in self.data.keys():
+        for namespace in list(self.data.keys()):
             yield namespace
             
     def iterate_fields(self, namespace):
-        for field in self.data[namespace].keys():
+        for field in list(self.data[namespace].keys()):
             yield (field, self.data[namespace][field])
 
     def get_data_tree(self, namespaces=None):
@@ -148,7 +148,7 @@ class LoadableData(Data):
         row = self.loader.db.get_row(namespace, self.file_id, self.region_id)
         if row == None:
             return
-        for column_name in row.keys():
+        for column_name in list(row.keys()):
             try:
                 packager = namespace_obj._get_field_packager(column_name)
             except mpp.internal.api_impl.PackagerError:
@@ -699,7 +699,7 @@ class Namespace(object):
         if not isinstance(field_name, str):
             raise Namespace.FieldError(field_name, "field_name not a string")
         packager = mpp.internal.api_impl.PackagerFactory().create(python_type, non_zero)
-        if field_name in self.fields.keys():
+        if field_name in list(self.fields.keys()):
             raise Namespace.FieldError(field_name, "double used")
         self.fields[field_name] = packager
         
@@ -710,7 +710,7 @@ class Namespace(object):
         return None # if double request
     
     def iterate_field_names(self):
-        for name in self.fields.keys():
+        for name in list(self.fields.keys()):
             yield name
     
     def check_field(self, field_name):
@@ -740,7 +740,7 @@ class Namespace(object):
             raise Namespace.FieldError(field_name, 'does not exist')
 
     def _get_field_packager(self, field_name):
-        if field_name in self.fields.keys():
+        if field_name in list(self.fields.keys()):
             return self.fields[field_name]
         else:
             raise mpp.internal.api_impl.PackagerError("unknown field " + field_name + " requested")
@@ -793,18 +793,18 @@ class Loader(object):
         if self.db == None:
             return None
         
-        if name in self.namespaces.keys():
+        if name in list(self.namespaces.keys()):
             raise Namespace.NamespaceError(name, "double used")
-        new_namespace = Namespace(self.db, name, support_regions, version)
+        new_namespace = Namespace(self.db, str(name), support_regions, version)
         self.namespaces[name] = new_namespace
         return new_namespace
     
     def iterate_namespace_names(self):
-        for name in self.namespaces.keys():
+        for name in list(self.namespaces.keys()):
             yield name
 
     def get_namespace(self, name):
-        if name in self.namespaces.keys():
+        if name in list(self.namespaces.keys()):
             return self.namespaces[name]
         else:
             return None
@@ -939,13 +939,13 @@ class Loader(object):
             final_path_like = path + path_like_filter
         
         if namespaces == None:
-            namespaces = self.namespaces.keys()
+            namespaces = list(self.namespaces.keys())
         
         result = AggregatedData(self, path)
         for name in namespaces:
             namespace = self.get_namespace(name)
             data = self.db.aggregate_rows(name, path_like = final_path_like)
-            for field in data.keys():
+            for field in list(data.keys()):
                 if namespace.get_field_python_type(field) == str:
                     continue
                 data[field]['nonzero'] = namespace.is_field_non_zero(field)
@@ -1176,7 +1176,7 @@ class MetricPluginMixin(Parent):
         else:
             map_of_patterns = {'*': pattern_to_search_or_map_of_patterns}
         # client may suply with pattern or pair of pattern + counter class
-        for key in map_of_patterns.keys():
+        for key in list(map_of_patterns.keys()):
             if isinstance(map_of_patterns[key], tuple) == False:
                 # if it is not a pair, create a pair using default counter class
                 map_of_patterns[key] = (map_of_patterns[key],
@@ -1192,12 +1192,12 @@ class MetricPluginMixin(Parent):
             
     def is_active(self, metric_name = None):
         if metric_name == None:
-            return (len(self._fields.keys()) > 0)
-        return (metric_name in self._fields.keys())
+            return (len(list(self._fields.keys())) > 0)
+        return (metric_name in list(self._fields.keys()))
     
     def get_fields(self):
         result = []
-        for key in self._fields.keys():
+        for key in list(self._fields.keys()):
             result.append(self._fields[key][0])
         return result
     
@@ -1220,8 +1220,8 @@ class MetricPluginMixin(Parent):
             return
         
         field_data = self._fields[field]
-        if alias not in field_data[4].keys():
-            if '*' not in field_data[4].keys():
+        if alias not in list(field_data[4].keys()):
+            if '*' not in list(field_data[4].keys()):
                 raise self.AliasError(alias)
             else:
                 alias = '*'

+ 1 - 1
mpp/cout.py

@@ -26,4 +26,4 @@ def notify(path, cursor, level, message, details = [], indent = 0):
         notification += (("    " * indent) + "\t" +
                          str(each[0]) + (" " * (DETAILS_OFFSET - len(each[0]))) + ": " + str(each[1]) + "\n")
         
-    print notification
+    print(notification)

+ 9 - 9
mpp/internal/dbwrap.py

@@ -186,7 +186,7 @@ class Database(object):
             for row in rows:
                 cur_head = db_loader.dirs
                 for dir_name in self.iterate_heads(row["path"]):
-                    if dir_name not in cur_head.keys():
+                    if dir_name not in list(cur_head.keys()):
                         cur_head[dir_name] = {}
                     cur_head = cur_head[dir_name]
                 cur_head[os.path.basename(row["path"])] = None
@@ -343,7 +343,7 @@ class Database(object):
         
         sql = "SELECT id FROM __tables__ WHERE (name = '" + table_name + "')"
         self.log(sql)
-        table_id = self.conn.execute(sql).next()['id']
+        table_id = next(self.conn.execute(sql))['id']
 
         sql = "SELECT * FROM __columns__ WHERE (table_id = '" + str(table_id) + "' AND name = '" + column_name + "' AND confirmed == 0)"
         self.log(sql)
@@ -363,7 +363,7 @@ class Database(object):
         self.conn.execute(sql)
         sql = "SELECT id FROM __tables__ WHERE (name = '" + table_name + "')"
         self.log(sql)
-        table_id = self.conn.execute(sql).next()['id']
+        table_id = next(self.conn.execute(sql))['id']
         sql = "INSERT INTO __columns__ (name, type, table_id, non_zero, confirmed) VALUES ('" + column_name + "', '" + column_type + "', '" + str(table_id) + "', '" + str(int(non_zero)) + "', 1)"
         self.log(sql)
         self.conn.execute(sql)
@@ -372,7 +372,7 @@ class Database(object):
     def iterate_columns(self, table_name):
         sql = "SELECT id FROM __tables__ WHERE (name = '" + table_name + "')"
         self.log(sql)
-        table_id = self.conn.execute(sql).next()['id']
+        table_id = next(self.conn.execute(sql))['id']
         sql = "SELECT * FROM __columns__ WHERE (table_id = '" + str(table_id) + "' AND confirmed = 1)"
         self.log(sql)
         result = self.conn.execute(sql).fetchall()
@@ -382,7 +382,7 @@ class Database(object):
     def check_column(self, table_name, column_name):
         sql = "SELECT id FROM __tables__ WHERE (name = '" + table_name + "')"
         self.log(sql)
-        table_id = self.conn.execute(sql).next()['id']
+        table_id = next(self.conn.execute(sql))['id']
         sql = "SELECT * FROM __columns__ WHERE (table_id = '" + str(table_id) + "' AND name = '" + column_name + "' AND confirmed = 1)"
         self.log(sql)
         result = self.conn.execute(sql).fetchall()
@@ -455,19 +455,19 @@ class Database(object):
         valid = True
         if path != "":
             for head in self.InternalPathUtils().iterate_heads(path):
-                if head not in cur_head.keys():
+                if head not in list(cur_head.keys()):
                     # non existing directory
                     valid = False
                 else:
                     cur_head = cur_head[head]
             basename = os.path.basename(path)
-            if basename not in cur_head.keys() or cur_head[basename] == None:
+            if basename not in list(cur_head.keys()) or cur_head[basename] == None:
                 # do not exist or points to the file
                 valid = False
             else:
                 cur_head = cur_head[basename]
         if valid == True:
-            for elem in cur_head.keys():
+            for elem in list(cur_head.keys()):
                 if include_subdirs == True and cur_head[elem] != None:
                     yield elem
                 if include_subfiles == True and cur_head[elem] == None:
@@ -700,4 +700,4 @@ class Database(object):
             pass
             logging.debug("[" + str(self.id) + "] Executing query: " + sql)
             traceback.print_stack()
-        
+        

+ 11 - 5
mpp/internal/loader.py

@@ -9,7 +9,11 @@ import mpp.api
 
 import os
 import sys
-import ConfigParser
+try:
+    from configparser import ConfigParser
+except:
+    from ConfigParser import ConfigParser
+  
 import re
 import optparse
 
@@ -66,13 +70,13 @@ class Loader(object):
                 return active_plugins
 
             pattern = re.compile(r'.*[.]ini$', flags=re.IGNORECASE)
-            dirList = os.listdir(directory)
+            dirList = sorted(os.listdir(directory))
             for fname in dirList:
                 fname = os.path.join(directory, fname)
                 if os.path.isdir(fname):
                     active_plugins += load_recursively(inicontainer, fname)
                 elif re.match(pattern, fname):
-                    config = ConfigParser.ConfigParser()
+                    config = ConfigParser()
                     config.read(fname)
                     item = {'package': config.get('Plugin', 'package'),
                             'module': config.get('Plugin', 'module'),
@@ -96,7 +100,7 @@ class Loader(object):
             return active_plugins
                         
         def list_dependants_recursively(inicontainer, required_plugin_name):
-            assert required_plugin_name in inicontainer.hash.keys(), \
+            assert required_plugin_name in list(inicontainer.hash.keys()), \
                 "depends section requires unknown plugin: " + required_plugin_name
             item = inicontainer.hash[required_plugin_name]
             if item['depends'] in ('None', 'none', 'False', 'false'):
@@ -119,6 +123,8 @@ class Loader(object):
         required_plugins = []
         for each in ([std_ext_priority_dir, std_ext_dir] + directories):
             required_plugins += load_recursively(inicontainer, each)
+        
+        required_plugins.sort();    # sort the plugin list to get similar results independant of the os
             
         # upgrade the list of required plugins
         required_and_dependant_plugins = []
@@ -132,7 +138,7 @@ class Loader(object):
         # load
         for plugin_name in required_and_dependant_plugins:
             item = inicontainer.hash[plugin_name]
-            plugin = __import__(item['package'], globals(), locals(), [item['module']], -1)
+            plugin = __import__(item['package'], globals(), locals(), [str(item['module'])])
             module_attr = plugin.__getattribute__(item['module'])
             class_attr = module_attr.__getattribute__(item['class'])
             item['instance'] = class_attr.__new__(class_attr)

+ 3 - 3
mpp/internal/py2txt.py

@@ -58,7 +58,7 @@ class Py2TXT():
         attrStr = ""    # attribute string of this level
         childStr = ""   # TXT string of this level's children
 
-        for k, v in pyDictObj.items():
+        for k, v in list(pyDictObj.items()):
 
             if isinstance( v, dict ):
                 # child tags, with attributes
@@ -77,7 +77,7 @@ class Py2TXT():
 
         # create TXT string for attributes
         attrStr += ""
-        for k, v in attributes.items():
+        for k, v in list(attributes.items()):
             attrStr += "\n" + (INDENT_SPACE_SYMBOL * (indent + 1)) + "%s=\"%s\"" % ( k, v )
 
         # let's assemble our tag string
@@ -123,4 +123,4 @@ class Py2TXT():
 
         tagStr += "\n" + (INDENT_SPACE_SYMBOL * indent) + "%(n)s:%(c)s" % { 'n':objName, 'c':childStr }
 
-        return tagStr
+        return tagStr

+ 13 - 4
mpp/internal/py2xml.py

@@ -25,10 +25,16 @@ Usage:
 '''
 
 class Py2XML():
+    
+    digitCount = 0
 
-    def __init__( self ):
+    def __init__( self, digitCount = None ):
 
         self.data = "" # where we store the processed XML string
+        if digitCount != None:
+            self.digitCount = digitCount
+        else:
+            self.digitCount = 8
 
     def parse( self, pythonObj, objName=None, indent = 0 ):
         '''
@@ -60,7 +66,7 @@ class Py2XML():
         attrStr = ""    # attribute string of this level
         childStr = ""   # XML string of this level's children
 
-        for k, v in pyDictObj.items():
+        for k, v in sorted(list(pyDictObj.items())):
 
             if isinstance( v, dict ):
                 # child tags, with attributes
@@ -79,7 +85,10 @@ class Py2XML():
 
         # create XML string for attributes
         for k, v in sorted(attributes.items()):
-            attrStr += " %s=\"%s\"" % ( k, v )
+            if isinstance(v, float):
+                attrStr += " %s=\"%s\"" % ( k, round(v, self.digitCount) )
+            else:
+                attrStr += " %s=\"%s\"" % ( k, v )
 
         # let's assemble our tag string
         if childStr == "":
@@ -126,4 +135,4 @@ class Py2XML():
 
         tagStr += ("\n" + (INDENT_SPACE_SYMBOL * indent) + "<%(n)s>%(c)s" + "\n" + (INDENT_SPACE_SYMBOL * indent) + "</%(n)s>") % { 'n':objName, 'c':childStr }
 
-        return tagStr
+        return tagStr

+ 1 - 1
mpp/log.py

@@ -14,7 +14,7 @@ class Plugin(mpp.api.BasePlugin, mpp.api.IConfigurable):
     def declare_configuration(self, parser, default_value='INFO'):
         allowed_values = ['DEBUG','INFO','WARNING','ERROR']
         default_value_cur = default_value
-        if os.environ.has_key('METRIXPLUSPLUS_LOG_LEVEL') and os.environ['METRIXPLUSPLUS_LOG_LEVEL'] in allowed_values:
+        if '__import__' in os.environ and os.environ['METRIXPLUSPLUS_LOG_LEVEL'] in allowed_values:
             default_value_cur = os.environ['METRIXPLUSPLUS_LOG_LEVEL']
         parser.add_option("--log-level", "--ll", default=default_value_cur, choices=allowed_values,
                          help="Defines log level. Possible values are 'DEBUG','INFO','WARNING' or 'ERROR'. "

+ 4 - 4
mpp/utils.py

@@ -30,7 +30,7 @@ class FileRegionsMatcher(object):
                 self.names[each.get_name()].append((each.get_id(), each.get_checksum())) 
             
         def get_next_id_once_by_checksum(self, checksum):
-            if checksum not in self.checksums.keys():
+            if checksum not in list(self.checksums.keys()):
                 return None
     
             if len(self.checksums[checksum]) == 0:
@@ -44,7 +44,7 @@ class FileRegionsMatcher(object):
             return next_id
     
         def get_next_id_once_by_name(self, name):
-            if name not in self.names.keys():
+            if name not in list(self.names.keys()):
                 return None
             
             if len(self.names[name]) == 0:
@@ -97,8 +97,8 @@ def preprocess_path(path):
 def report_bad_path(path):
     logging.error("Specified path '" + path + "' is invalid: not found in the database records.")
 
-def serialize_to_xml(data, root_name = None):
-    serializer = mpp.internal.py2xml.Py2XML()
+def serialize_to_xml(data, root_name = None, digitCount = None):
+    serializer = mpp.internal.py2xml.Py2XML(digitCount)
     return serializer.parse(data, objName=root_name)
 
 def serialize_to_python(data, root_name = None):

+ 35 - 23
tests/common.py

@@ -12,6 +12,7 @@ import logging
 import difflib
 import unittest
 import shutil
+import ast
 
 class ToolRunner(object):
 
@@ -117,34 +118,45 @@ class ToolRunner(object):
             self.message += "\nGold file does not exist: " + gold_file
             return False
         
-        f = open(gold_file, 'rU');
+        f = open(gold_file, 'r');
         gold_text = f.read();
         f.close()
-
-        gold_to_compare = gold_text
-        text_to_compare = text
-        if lines != None:
-            gold_to_compare = ""
-            text_to_compare = ""
-            gold_lines = gold_text.splitlines(True)
-            text_lines = text.splitlines(True)
-            for each in lines:
-                gold_to_compare += "".join(gold_lines[each[0] : each[1]])
-                text_to_compare += "".join(text_lines[each[0] : each[1]])
         
-        gold_to_compare = gold_to_compare.replace('\r', '')
-        text_to_compare = text_to_compare.replace('\r', '')
-            
-        result = (gold_to_compare == text_to_compare)
+        # don't compare dictionaries as string - they are not in order... (test case failes sometimes)
+        try:
+            textDict = ast.literal_eval(str(text.decode('ascii')))
+            goldDict = ast.literal_eval(str(gold_text))
+        except:
+            textDict = text
+            goldDict = gold_text
+        
+        if isinstance(textDict, dict) and isinstance(goldDict, dict):    
+            result = (textDict == goldDict)
+        else:
+            gold_to_compare = gold_text
+            text_to_compare = str(text.decode('ascii'))
+            if lines != None:
+                gold_to_compare = ""
+                text_to_compare = ""
+                gold_lines = gold_text.splitlines(True)
+                text_lines = str(text.decode('ascii')).splitlines(True)
+                for each in lines:
+                    gold_to_compare += "".join(gold_lines[each[0] : each[1]])
+                    text_to_compare += "".join(text_lines[each[0] : each[1]])
+    
+            gold_to_compare = gold_to_compare.replace('\n', ' ').replace('\r', '').replace(" ", "")
+            text_to_compare = text_to_compare.replace('\n', ' ').replace('\r', '').replace(" ", "")
+    
+            result = (gold_to_compare == text_to_compare)
         
         if result == False:
-            f = open(real_file, 'wb');
-            f.write(text);
+            f = open(real_file, 'wb')
+            f.write(text)
             f.close()
             
-            diff_text = difflib.HtmlDiff().make_file(gold_to_compare.splitlines(), text_to_compare.splitlines(), "Gold file", "Real output")
-            f = open(diff_file, 'w');
-            f.write(diff_text);
+            diff_text = difflib.HtmlDiff().make_file(gold_text.splitlines(), text.decode('ascii').splitlines(), "Gold file", "Real output")
+            f = open(diff_file, 'w')
+            f.write(diff_text)
             f.close()
         else:
             if os.path.exists(real_file):
@@ -191,12 +203,12 @@ class TestCase(unittest.TestCase):
     
     def __init__(self, methodName='runTest'):
         unittest.TestCase.__init__(self, methodName=methodName)
-        if 'METRIXPLUSPLUS_LOG_LEVEL' not in os.environ.keys():
+        if 'METRIXPLUSPLUS_LOG_LEVEL' not in list(os.environ.keys()):
             # launch of individual unit test
             os.environ['METRIXPLUSPLUS_LOG_LEVEL'] = 'ERROR'
             os.environ['METRIXPLUSPLUS_INSTALL_DIR'] = os.path.dirname(os.path.dirname(__file__))
             os.environ['METRIXPLUSPLUS_TEST_MODE'] = str("True")
-            if 'METRIXPLUSPLUS_TEST_GENERATE_GOLDS' not in os.environ.keys():
+            if 'METRIXPLUSPLUS_TEST_GENERATE_GOLDS' not in list(os.environ.keys()):
                 os.environ['METRIXPLUSPLUS_TEST_GENERATE_GOLDS'] = str("False")
             os.chdir(os.environ['METRIXPLUSPLUS_INSTALL_DIR'])
 

+ 14 - 14
tests/general/test_basic/test_help_--help_default_stdout.gold.txt

@@ -1,14 +1,14 @@
-Usage: python metrix++.py --help
-       python metrix++.py <action> --help
-       python metrix++.py <action> [options] -- [path 1] ... [path N]
-
-Actions: 
-  collect
-  export
-  info
-  limit
-  test
-  view
-
-Options:
-  -h, --help  show this help message and exit
+Usage: python metrix++.py --help
+       python metrix++.py <action> --help
+       python metrix++.py <action> [options] -- [path 1] ... [path N]
+
+Actions: 
+  collect
+  export
+  info
+  limit
+  test
+  view
+
+Options:
+  -h, --help  show this help message and exit

+ 144 - 144
tests/general/test_basic/test_help_collect_default_stdout.gold.txt

@@ -1,144 +1,144 @@
-Usage: python metrix++.py --help
-       python metrix++.py collect --help
-       python metrix++.py collect [options] -- [path 1] ... [path N]
-
-Options:
-  -h, --help            show this help message and exit
-  --db-file=DB_FILE, --dbf=DB_FILE
-                        Path to a database file to create and write [default:
-                        ./metrixpp.db].
-  --db-file-prev=DB_FILE_PREV, --dbfp=DB_FILE_PREV
-                        Path to database file with data collected for the
-                        past/previous code revision. If it is set, the tool
-                        will do an incremental/iterative collection. It may
-                        reduce the time of processing significantly [default:
-                        none].
-  --log-level=LOG_LEVEL, --ll=LOG_LEVEL
-                        Defines log level. Possible values are
-                        'DEBUG','INFO','WARNING' or 'ERROR'. Default value is
-                        inherited from environment variable
-                        'METRIXPLUSPLUS_LOG_LEVEL' if set. [default: INFO]
-  --std.code.complexity.cyclomatic, --sccc
-                        Enables collection of cyclomatic complexity metric
-                        (McCabe) [default: False]
-  --std.code.complexity.maxindent, --sccmi
-                        Enables collection of maximum indent level metric
-                        [default: False]
-  --std.code.cpp.files=STD.CODE.CPP.FILES
-                        Enumerates filename extensions to match C/C++ files
-                        [default: *.c,*.h,*.cpp,*.hpp,*.cc,*.hh,*.cxx,*.hxx]
-  --std.code.cs.files=STD.CODE.CS.FILES
-                        Enumerates filename extensions to match C# files
-                        [default: *.cs]
-  --std.code.filelines.code, --scflc
-                        Enables collection of lines of code metric (per file
-                        detalization) - number of non-empty lines of code,
-                        excluding comments [default: False]
-  --std.code.filelines.preprocessor, --scflp
-                        Enables collection of lines of preprocessor code
-                        metric (per file detalization) - number of non-empty
-                        lines of preprocessor code [default: False]
-  --std.code.filelines.comments, --scflcom
-                        Enables collection of lines of comments metric (per
-                        file detalization) - number of non-empty lines of
-                        comments [default: False]
-  --std.code.filelines.total, --scflt
-                        Enables collection of total lines metric (per file
-                        detalization) - number of any type of lines (blank,
-                        code, comments, etc.)[default: False]
-  --std.code.java.files=STD.CODE.JAVA.FILES
-                        Enumerates filename extensions to match Java files
-                        [default: *.java]
-  --std.code.length.total, --sclent
-                        Enables collection of size metric (in number of
-                        symbols per region) [default: False]
-  --std.code.lines.code, --sclc
-                        Enables collection of lines of code metric (per region
-                        detalization) - number of non-empty lines of code,
-                        excluding comments [default: False]
-  --std.code.lines.preprocessor, --sclp
-                        Enables collection of lines of preprocessor code
-                        metric (per region detalization) - number of non-empty
-                        lines of preprocessor code [default: False]
-  --std.code.lines.comments, --sclcom
-                        Enables collection of lines of comments metric (per
-                        region detalization) - number of non-empty lines of
-                        comments [default: False]
-  --std.code.lines.total, --sclt
-                        Enables collection of total lines metric (per region
-                        detalization) - number of any type of lines (blank,
-                        code, comments, etc.)[default: False]
-  --std.code.magic.numbers, --scmn
-                        Enables collection of magic numbers metric [default:
-                        False]
-  --std.code.magic.numbers.simplier, --scmns
-                        Is set, 0, -1 and 1 numbers are not counted in
-                        'std.code.magic.numbers' metric [default: False]
-  --std.code.member.fields, --scmf
-                        Enables collection of number of data members / fields
-                        per classes, structs and interfaces [default: False]
-  --std.code.member.globals, --scmg
-                        Enables collection of number of global variables /
-                        fields per global regions and namespaces [default:
-                        False]
-  --std.code.member.classes, --scmc
-                        Enables collection of number of classes defined per
-                        any region [default: False]
-  --std.code.member.structs, --scms
-                        Enables collection of number of structs defined per
-                        any region [default: False]
-  --std.code.member.interfaces, --scmi
-                        Enables collection of number of interfaces defined per
-                        any region [default: False]
-  --std.code.member.types, --scmt
-                        Enables collection of number of types (classes,
-                        structs or interface) defined per any region [default:
-                        False]
-  --std.code.member.methods, --scmm
-                        Enables collection of number of methods (functions)
-                        defined per any region [default: False]
-  --std.code.member.namespaces, --scmnss
-                        Enables collection of number of namespaces defined
-                        globally and enclosed (sub-namespaces) [default:
-                        False]
-  --std.code.maintindex.simple, --scmis
-                        Enables collection of simple maintainability index
-                        metric. It uses std.code.line:code,
-                        std.code.complexity:cyclomatic metrics to rank level
-                        of maintainability. Lower value of this metric
-                        indicates better maintainability. [default: False]
-  --std.code.todo.comments, --sctc
-                        Enables collection of number of todo/fixme/etc markers
-                        in comments [default: False]
-  --std.code.todo.strings, --scts
-                        Enables collection of number of todo/fixme/etc markers
-                        in strings [default: False]
-  --std.code.todo.tags=STD.CODE.TODO.TAGS, --sctt=STD.CODE.TODO.TAGS
-                        A list of typical todo markers to search, separated by
-                        comma [default: TODO,ToDo,FIXME,FixMe,TBD,HACK,XXX]
-  --std.suppress, --ss  If set (True), suppression markers are collected from
-                        comments in code. Suppressions are used by post-
-                        processing tools, like limit, to remove false-positive
-                        warnings. Suppressions should be in the first comment
-                        block of a region (function/class/interface). Format
-                        of suppressions: 'metrix++: suppress metric-name'. For
-                        example: 'metrix++: suppress
-                        std.code.complexity:cyclomatic'.  [default: False]
-  --std.general.proctime, --sgpt
-                        If the option is set (True), the tool measures
-                        processing time per file [default: False]
-  --std.general.procerrors, --sgpe
-                        If the option is set (True), the tool counts number of
-                        processing/parsing errors per file [default: False]
-  --std.general.size, --sgs
-                        If the option is set (True), the tool collects file
-                        size metric (in bytes) [default: False]
-  --include-files=INCLUDE_FILES, --if=INCLUDE_FILES
-                        Defines the regular expression pattern to include
-                        files in processing [default: .*]
-  --exclude-files=EXCLUDE_FILES, --ef=EXCLUDE_FILES
-                        Defines the regular expression pattern to exclude
-                        files from processing [default: ^[.]]
-  --non-recursively, --nr
-                        If the option is set (True), sub-directories are not
-                        processed [default: False]
+Usage: python metrix++.py --help
+       python metrix++.py collect --help
+       python metrix++.py collect [options] -- [path 1] ... [path N]
+
+Options:
+  -h, --help            show this help message and exit
+  --db-file=DB_FILE, --dbf=DB_FILE
+                        Path to a database file to create and write [default:
+                        ./metrixpp.db].
+  --db-file-prev=DB_FILE_PREV, --dbfp=DB_FILE_PREV
+                        Path to database file with data collected for the
+                        past/previous code revision. If it is set, the tool
+                        will do an incremental/iterative collection. It may
+                        reduce the time of processing significantly [default:
+                        none].
+  --log-level=LOG_LEVEL, --ll=LOG_LEVEL
+                        Defines log level. Possible values are
+                        'DEBUG','INFO','WARNING' or 'ERROR'. Default value is
+                        inherited from environment variable
+                        'METRIXPLUSPLUS_LOG_LEVEL' if set. [default: INFO]
+  --std.code.complexity.cyclomatic, --sccc
+                        Enables collection of cyclomatic complexity metric
+                        (McCabe) [default: False]
+  --std.code.complexity.maxindent, --sccmi
+                        Enables collection of maximum indent level metric
+                        [default: False]
+  --std.code.cpp.files=STD.CODE.CPP.FILES
+                        Enumerates filename extensions to match C/C++ files
+                        [default: *.c,*.h,*.cpp,*.hpp,*.cc,*.hh,*.cxx,*.hxx]
+  --std.code.cs.files=STD.CODE.CS.FILES
+                        Enumerates filename extensions to match C# files
+                        [default: *.cs]
+  --std.code.filelines.code, --scflc
+                        Enables collection of lines of code metric (per file
+                        detalization) - number of non-empty lines of code,
+                        excluding comments [default: False]
+  --std.code.filelines.preprocessor, --scflp
+                        Enables collection of lines of preprocessor code
+                        metric (per file detalization) - number of non-empty
+                        lines of preprocessor code [default: False]
+  --std.code.filelines.comments, --scflcom
+                        Enables collection of lines of comments metric (per
+                        file detalization) - number of non-empty lines of
+                        comments [default: False]
+  --std.code.filelines.total, --scflt
+                        Enables collection of total lines metric (per file
+                        detalization) - number of any type of lines (blank,
+                        code, comments, etc.)[default: False]
+  --std.code.java.files=STD.CODE.JAVA.FILES
+                        Enumerates filename extensions to match Java files
+                        [default: *.java]
+  --std.code.length.total, --sclent
+                        Enables collection of size metric (in number of
+                        symbols per region) [default: False]
+  --std.code.lines.code, --sclc
+                        Enables collection of lines of code metric (per region
+                        detalization) - number of non-empty lines of code,
+                        excluding comments [default: False]
+  --std.code.lines.preprocessor, --sclp
+                        Enables collection of lines of preprocessor code
+                        metric (per region detalization) - number of non-empty
+                        lines of preprocessor code [default: False]
+  --std.code.lines.comments, --sclcom
+                        Enables collection of lines of comments metric (per
+                        region detalization) - number of non-empty lines of
+                        comments [default: False]
+  --std.code.lines.total, --sclt
+                        Enables collection of total lines metric (per region
+                        detalization) - number of any type of lines (blank,
+                        code, comments, etc.)[default: False]
+  --std.code.magic.numbers, --scmn
+                        Enables collection of magic numbers metric [default:
+                        False]
+  --std.code.magic.numbers.simplier, --scmns
+                        Is set, 0, -1 and 1 numbers are not counted in
+                        'std.code.magic.numbers' metric [default: False]
+  --std.code.member.fields, --scmf
+                        Enables collection of number of data members / fields
+                        per classes, structs and interfaces [default: False]
+  --std.code.member.globals, --scmg
+                        Enables collection of number of global variables /
+                        fields per global regions and namespaces [default:
+                        False]
+  --std.code.member.classes, --scmc
+                        Enables collection of number of classes defined per
+                        any region [default: False]
+  --std.code.member.structs, --scms
+                        Enables collection of number of structs defined per
+                        any region [default: False]
+  --std.code.member.interfaces, --scmi
+                        Enables collection of number of interfaces defined per
+                        any region [default: False]
+  --std.code.member.types, --scmt
+                        Enables collection of number of types (classes,
+                        structs or interface) defined per any region [default:
+                        False]
+  --std.code.member.methods, --scmm
+                        Enables collection of number of methods (functions)
+                        defined per any region [default: False]
+  --std.code.member.namespaces, --scmnss
+                        Enables collection of number of namespaces defined
+                        globally and enclosed (sub-namespaces) [default:
+                        False]
+  --std.code.maintindex.simple, --scmis
+                        Enables collection of simple maintainability index
+                        metric. It uses std.code.line:code,
+                        std.code.complexity:cyclomatic metrics to rank level
+                        of maintainability. Lower value of this metric
+                        indicates better maintainability. [default: False]
+  --std.code.todo.comments, --sctc
+                        Enables collection of number of todo/fixme/etc markers
+                        in comments [default: False]
+  --std.code.todo.strings, --scts
+                        Enables collection of number of todo/fixme/etc markers
+                        in strings [default: False]
+  --std.code.todo.tags=STD.CODE.TODO.TAGS, --sctt=STD.CODE.TODO.TAGS
+                        A list of typical todo markers to search, separated by
+                        comma [default: TODO,ToDo,FIXME,FixMe,TBD,HACK,XXX]
+  --std.suppress, --ss  If set (True), suppression markers are collected from
+                        comments in code. Suppressions are used by post-
+                        processing tools, like limit, to remove false-positive
+                        warnings. Suppressions should be in the first comment
+                        block of a region (function/class/interface). Format
+                        of suppressions: 'metrix++: suppress metric-name'. For
+                        example: 'metrix++: suppress
+                        std.code.complexity:cyclomatic'.  [default: False]
+  --std.general.proctime, --sgpt
+                        If the option is set (True), the tool measures
+                        processing time per file [default: False]
+  --std.general.procerrors, --sgpe
+                        If the option is set (True), the tool counts number of
+                        processing/parsing errors per file [default: False]
+  --std.general.size, --sgs
+                        If the option is set (True), the tool collects file
+                        size metric (in bytes) [default: False]
+  --include-files=INCLUDE_FILES, --if=INCLUDE_FILES
+                        Defines the regular expression pattern to include
+                        files in processing [default: .*]
+  --exclude-files=EXCLUDE_FILES, --ef=EXCLUDE_FILES
+                        Defines the regular expression pattern to exclude
+                        files from processing [default: ^[.]]
+  --non-recursively, --nr
+                        If the option is set (True), sub-directories are not
+                        processed [default: False]

+ 18 - 18
tests/general/test_basic/test_help_export_default_stdout.gold.txt

@@ -1,18 +1,18 @@
-Usage: python metrix++.py --help
-       python metrix++.py export --help
-       python metrix++.py export [options] -- [path 1] ... [path N]
-
-Options:
-  -h, --help            show this help message and exit
-  --db-file=DB_FILE, --dbf=DB_FILE
-                        Path to a database file to read and process [default:
-                        ./metrixpp.db].
-  --db-file-prev=DB_FILE_PREV, --dbfp=DB_FILE_PREV
-                        Path to database file with data collected for the
-                        past/previous code revision. It is used to identify
-                        and evaluate/analyze change trends. [default: none].
-  --log-level=LOG_LEVEL, --ll=LOG_LEVEL
-                        Defines log level. Possible values are
-                        'DEBUG','INFO','WARNING' or 'ERROR'. Default value is
-                        inherited from environment variable
-                        'METRIXPLUSPLUS_LOG_LEVEL' if set. [default: INFO]
+Usage: python metrix++.py --help
+       python metrix++.py export --help
+       python metrix++.py export [options] -- [path 1] ... [path N]
+
+Options:
+  -h, --help            show this help message and exit
+  --db-file=DB_FILE, --dbf=DB_FILE
+                        Path to a database file to read and process [default:
+                        ./metrixpp.db].
+  --db-file-prev=DB_FILE_PREV, --dbfp=DB_FILE_PREV
+                        Path to database file with data collected for the
+                        past/previous code revision. It is used to identify
+                        and evaluate/analyze change trends. [default: none].
+  --log-level=LOG_LEVEL, --ll=LOG_LEVEL
+                        Defines log level. Possible values are
+                        'DEBUG','INFO','WARNING' or 'ERROR'. Default value is
+                        inherited from environment variable
+                        'METRIXPLUSPLUS_LOG_LEVEL' if set. [default: INFO]

+ 18 - 18
tests/general/test_basic/test_help_info_default_stdout.gold.txt

@@ -1,18 +1,18 @@
-Usage: python metrix++.py --help
-       python metrix++.py info --help
-       python metrix++.py info [options] -- [path 1] ... [path N]
-
-Options:
-  -h, --help            show this help message and exit
-  --db-file=DB_FILE, --dbf=DB_FILE
-                        Path to a database file to read and process [default:
-                        ./metrixpp.db].
-  --db-file-prev=DB_FILE_PREV, --dbfp=DB_FILE_PREV
-                        Path to database file with data collected for the
-                        past/previous code revision. It is used to identify
-                        and evaluate/analyze change trends. [default: none].
-  --log-level=LOG_LEVEL, --ll=LOG_LEVEL
-                        Defines log level. Possible values are
-                        'DEBUG','INFO','WARNING' or 'ERROR'. Default value is
-                        inherited from environment variable
-                        'METRIXPLUSPLUS_LOG_LEVEL' if set. [default: INFO]
+Usage: python metrix++.py --help
+       python metrix++.py info --help
+       python metrix++.py info [options] -- [path 1] ... [path N]
+
+Options:
+  -h, --help            show this help message and exit
+  --db-file=DB_FILE, --dbf=DB_FILE
+                        Path to a database file to read and process [default:
+                        ./metrixpp.db].
+  --db-file-prev=DB_FILE_PREV, --dbfp=DB_FILE_PREV
+                        Path to database file with data collected for the
+                        past/previous code revision. It is used to identify
+                        and evaluate/analyze change trends. [default: none].
+  --log-level=LOG_LEVEL, --ll=LOG_LEVEL
+                        Defines log level. Possible values are
+                        'DEBUG','INFO','WARNING' or 'ERROR'. Default value is
+                        inherited from environment variable
+                        'METRIXPLUSPLUS_LOG_LEVEL' if set. [default: INFO]

+ 56 - 54
tests/general/test_basic/test_help_limit_default_stdout.gold.txt

@@ -1,54 +1,56 @@
-Usage: python metrix++.py --help
-       python metrix++.py limit --help
-       python metrix++.py limit [options] -- [path 1] ... [path N]
-
-Options:
-  -h, --help            show this help message and exit
-  --db-file=DB_FILE, --dbf=DB_FILE
-                        Path to a database file to read and process [default:
-                        ./metrixpp.db].
-  --db-file-prev=DB_FILE_PREV, --dbfp=DB_FILE_PREV
-                        Path to database file with data collected for the
-                        past/previous code revision. It is used to identify
-                        and evaluate/analyze change trends. [default: none].
-  --log-level=LOG_LEVEL, --ll=LOG_LEVEL
-                        Defines log level. Possible values are
-                        'DEBUG','INFO','WARNING' or 'ERROR'. Default value is
-                        inherited from environment variable
-                        'METRIXPLUSPLUS_LOG_LEVEL' if set. [default: INFO]
-  --hotspots=HOTSPOTS, --hs=HOTSPOTS
-                        If not set (none), all exceeded limits are printed. If
-                        set, exceeded limits are sorted (the worst is the
-                        first) and only first HOTSPOTS limits are printed.
-                        [default: none]
-  --disable-suppressions, --ds
-                        If not set (none), all suppressions are ignored and
-                        associated warnings are printed. [default: False]
-  --warn-mode=WARN_MODE, --wm=WARN_MODE
-                        Defines the warnings mode. 'all' - all warnings
-                        active, 'new' - warnings for new regions/files only,
-                        'trend' - warnings for new regions/files and for bad
-                        trend of modified regions/files, 'touched' - warnings
-                        for new and modified regions/files [default: all]
-  --min-limit=MIN_LIMIT, --min=MIN_LIMIT
-                        A threshold per 'namespace:field' metric in order to
-                        select regions, which have got metric value less than
-                        the specified limit. This option can be specified
-                        multiple times, if it is necessary to apply several
-                        limits. Should be in the format: <namespace>:<field
-                        >:<limit-value>[:region_type[,region_type]], for
-                        example: 'std.code.lines:comments:1', or
-                        'std.code.lines:comments:1:function,class'. Region
-                        types is optional specifier, and if not defined the
-                        limit is applied to regions of all types.
-  --max-limit=MAX_LIMIT, --max=MAX_LIMIT
-                        A threshold per 'namespace:field' metric in order to
-                        select regions, which have got metric value more than
-                        the specified limit. This option can be specified
-                        multiple times, if it is necessary to apply several
-                        limits. Should be in the format: <namespace>:<field
-                        >:<limit-value>[:region_type[,region_type]], for
-                        example: 'std.code.complexity:cyclomatic:7', or
-                        'std.code.complexity:maxdepth:5:function'. Region
-                        types is optional specifier, and if not defined the
-                        limit is applied to regions of all types.
+Usage: python metrix++.py --help
+       python metrix++.py limit --help
+       python metrix++.py limit [options] -- [path 1] ... [path N]
+
+Options:
+  -h, --help            show this help message and exit
+  --db-file=DB_FILE, --dbf=DB_FILE
+                        Path to a database file to read and process [default:
+                        ./metrixpp.db].
+  --db-file-prev=DB_FILE_PREV, --dbfp=DB_FILE_PREV
+                        Path to database file with data collected for the
+                        past/previous code revision. It is used to identify
+                        and evaluate/analyze change trends. [default: none].
+  --log-level=LOG_LEVEL, --ll=LOG_LEVEL
+                        Defines log level. Possible values are
+                        'DEBUG','INFO','WARNING' or 'ERROR'. Default value is
+                        inherited from environment variable
+                        'METRIXPLUSPLUS_LOG_LEVEL' if set. [default: INFO]
+  --hotspots=HOTSPOTS, --hs=HOTSPOTS
+                        If not set (none), all exceeded limits are printed. If
+                        set, exceeded limits are sorted (the worst is the
+                        first) and only first HOTSPOTS limits are printed.
+                        [default: none]
+  --disable-suppressions, --ds
+                        If not set (none), all suppressions are ignored and
+                        associated warnings are printed. [default: False]
+  --warn-mode=WARN_MODE, --wm=WARN_MODE
+                        Defines the warnings mode. 'all' - all warnings
+                        active, 'new' - warnings for new regions/files only,
+                        'trend' - warnings for new regions/files and for bad
+                        trend of modified regions/files, 'touched' - warnings
+                        for new and modified regions/files [default: all]
+  --min-limit=MIN_LIMIT, --min=MIN_LIMIT
+                        A threshold per 'namespace:field' metric in order to
+                        select regions, which have got metric value less than
+                        the specified limit. This option can be specified
+                        multiple times, if it is necessary to apply several
+                        limits. Should be in the format:
+                        <namespace>:<field>:<limit-
+                        value>[:region_type[,region_type]], for example:
+                        'std.code.lines:comments:1', or
+                        'std.code.lines:comments:1:function,class'. Region
+                        types is optional specifier, and if not defined the
+                        limit is applied to regions of all types.
+  --max-limit=MAX_LIMIT, --max=MAX_LIMIT
+                        A threshold per 'namespace:field' metric in order to
+                        select regions, which have got metric value more than
+                        the specified limit. This option can be specified
+                        multiple times, if it is necessary to apply several
+                        limits. Should be in the format:
+                        <namespace>:<field>:<limit-
+                        value>[:region_type[,region_type]], for example:
+                        'std.code.complexity:cyclomatic:7', or
+                        'std.code.complexity:maxdepth:5:function'. Region
+                        types is optional specifier, and if not defined the
+                        limit is applied to regions of all types.

+ 36 - 36
tests/general/test_basic/test_help_view_default_stdout.gold.txt

@@ -1,36 +1,36 @@
-Usage: python metrix++.py --help
-       python metrix++.py view --help
-       python metrix++.py view [options] -- [path 1] ... [path N]
-
-Options:
-  -h, --help            show this help message and exit
-  --db-file=DB_FILE, --dbf=DB_FILE
-                        Path to a database file to read and process [default:
-                        ./metrixpp.db].
-  --db-file-prev=DB_FILE_PREV, --dbfp=DB_FILE_PREV
-                        Path to database file with data collected for the
-                        past/previous code revision. It is used to identify
-                        and evaluate/analyze change trends. [default: none].
-  --log-level=LOG_LEVEL, --ll=LOG_LEVEL
-                        Defines log level. Possible values are
-                        'DEBUG','INFO','WARNING' or 'ERROR'. Default value is
-                        inherited from environment variable
-                        'METRIXPLUSPLUS_LOG_LEVEL' if set. [default: INFO]
-  --format=FORMAT, --ft=FORMAT
-                        Format of the output data. Possible values are 'xml',
-                        'txt' or 'python' [default: txt]
-  --nest-regions, --nr  If the option is set (True), data for regions is
-                        exported in the form of a tree. Otherwise, all regions
-                        are exported in plain list. [default: False]
-  --max-distribution-rows=MAX_DISTRIBUTION_ROWS, --mdr=MAX_DISTRIBUTION_ROWS
-                        Maximum number of rows in distribution tables. If it
-                        is set to 0, the tool does not optimize the size of
-                        distribution tables [default: 20]
-  --scope-mode=SCOPE_MODE, --sm=SCOPE_MODE
-                        Defines the analysis scope mode. 'all' - all available
-                        regions and files are taken into account, 'new' - only
-                        new regions and files are taken into account,
-                        'touched' - only new and modified regions and files
-                        are taken into account. Modes 'new' and 'touched' may
-                        require more time for processing than mode 'all'
-                        [default: all]
+Usage: python metrix++.py --help
+       python metrix++.py view --help
+       python metrix++.py view [options] -- [path 1] ... [path N]
+
+Options:
+  -h, --help            show this help message and exit
+  --db-file=DB_FILE, --dbf=DB_FILE
+                        Path to a database file to read and process [default:
+                        ./metrixpp.db].
+  --db-file-prev=DB_FILE_PREV, --dbfp=DB_FILE_PREV
+                        Path to database file with data collected for the
+                        past/previous code revision. It is used to identify
+                        and evaluate/analyze change trends. [default: none].
+  --log-level=LOG_LEVEL, --ll=LOG_LEVEL
+                        Defines log level. Possible values are
+                        'DEBUG','INFO','WARNING' or 'ERROR'. Default value is
+                        inherited from environment variable
+                        'METRIXPLUSPLUS_LOG_LEVEL' if set. [default: INFO]
+  --format=FORMAT, --ft=FORMAT
+                        Format of the output data. Possible values are 'xml',
+                        'txt' or 'python' [default: txt]
+  --nest-regions, --nr  If the option is set (True), data for regions is
+                        exported in the form of a tree. Otherwise, all regions
+                        are exported in plain list. [default: False]
+  --max-distribution-rows=MAX_DISTRIBUTION_ROWS, --mdr=MAX_DISTRIBUTION_ROWS
+                        Maximum number of rows in distribution tables. If it
+                        is set to 0, the tool does not optimize the size of
+                        distribution tables [default: 20]
+  --scope-mode=SCOPE_MODE, --sm=SCOPE_MODE
+                        Defines the analysis scope mode. 'all' - all available
+                        regions and files are taken into account, 'new' - only
+                        new regions and files are taken into account,
+                        'touched' - only new and modified regions and files
+                        are taken into account. Modes 'new' and 'touched' may
+                        require more time for processing than mode 'all'
+                        [default: all]

+ 16 - 16
tests/general/test_basic/test_std_code_magic_view_default_stdout.gold.txt

@@ -1,16 +1,16 @@
-./:: info: Overall metrics for 'std.code.magic:numbers' metric
-	Average        : 1.55555555556 (excluding zero metric values)
-	Minimum        : 1
-	Maximum        : 4
-	Total          : 14.0
-	Distribution   : 9 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 0.667 : 0.667 : 6	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.222 : 0.889 : 2	||||||||||||||||||||||
-	             4 : 0.111 : 1.000 : 1	|||||||||||
-
-./:: info: Directory content:
-	File           : file_deleted_in_new_sources.cpp
-	File           : simple.cpp
-
-
+./:: info: Overall metrics for 'std.code.magic:numbers' metric
+	Average        : 1.55555556 (excluding zero metric values)
+	Minimum        : 1
+	Maximum        : 4
+	Total          : 14.0
+	Distribution   : 9 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 0.667 : 0.667 : 6	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             2 : 0.222 : 0.889 : 2	||||||||||||||||||||||
+	             4 : 0.111 : 1.000 : 1	|||||||||||
+
+./:: info: Directory content:
+	File           : file_deleted_in_new_sources.cpp
+	File           : simple.cpp
+
+

+ 96 - 96
tests/general/test_basic/test_std_code_magic_view_nest_per_file_stdout.gold.txt

@@ -1,96 +1,96 @@
-./simple.cpp:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-697
-	Line numbers   : 1-71
-	Modified       : None
-
-.   ./simple.cpp:4: info: Metrics per 'hmm' region
-    	Region name    : hmm
-    	Region type    : namespace
-    	Offsets        : 2-696
-    	Line numbers   : 3-70
-    	Modified       : None
-
-.   .   ./simple.cpp:9: info: Metrics per 'A' region
-        	Region name    : A
-        	Region type    : class
-        	Offsets        : 94-692
-        	Line numbers   : 9-68
-        	Modified       : None
-        	std.code.magic:numbers: 1
-
-.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
-            	Region name    : A
-            	Region type    : function
-            	Offsets        : 106-252
-            	Line numbers   : 12-23
-            	Modified       : None
-            	std.code.magic:numbers: 4
-
-.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
-            	Region name    : func
-            	Region type    : function
-            	Offsets        : 256-405
-            	Line numbers   : 26-40
-            	Modified       : None
-            	std.code.magic:numbers: 1
-
-.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 285-391
-                	Line numbers   : 28-38
-                	Modified       : None
-
-.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 306-387
-                    	Line numbers   : 30-37
-                    	Modified       : None
-                    	std.code.magic:numbers: 1
-
-.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
-            	Region name    : func_to_be_removed_in_new_sources
-            	Region type    : function
-            	Offsets        : 408-596
-            	Line numbers   : 42-56
-            	Modified       : None
-            	std.code.magic:numbers: 1
-
-.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 466-577
-                	Line numbers   : 44-54
-                	Modified       : None
-
-.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 487-573
-                    	Line numbers   : 46-53
-                    	Modified       : None
-                    	std.code.magic:numbers: 1
-
-.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
-            	Region name    : never
-            	Region type    : function
-            	Offsets        : 599-669
-            	Line numbers   : 58-65
-            	Modified       : None
-            	std.code.magic:numbers: 2
-
-./simple.cpp:: info: Overall metrics for 'std.code.magic:numbers' metric
-	Average        : 1.57142857143 (excluding zero metric values)
-	Minimum        : 1
-	Maximum        : 4
-	Total          : 11.0
-	Distribution   : 7 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 0.714 : 0.714 : 5	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.143 : 0.857 : 1	||||||||||||||
-	             4 : 0.143 : 1.000 : 1	||||||||||||||
-
-
+./simple.cpp:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-697
+	Line numbers   : 1-71
+	Modified       : None
+
+.   ./simple.cpp:4: info: Metrics per 'hmm' region
+    	Region name    : hmm
+    	Region type    : namespace
+    	Offsets        : 2-696
+    	Line numbers   : 3-70
+    	Modified       : None
+
+.   .   ./simple.cpp:9: info: Metrics per 'A' region
+        	Region name    : A
+        	Region type    : class
+        	Offsets        : 94-692
+        	Line numbers   : 9-68
+        	Modified       : None
+        	std.code.magic:numbers: 1
+
+.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
+            	Region name    : A
+            	Region type    : function
+            	Offsets        : 106-252
+            	Line numbers   : 12-23
+            	Modified       : None
+            	std.code.magic:numbers: 4
+
+.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
+            	Region name    : func
+            	Region type    : function
+            	Offsets        : 256-405
+            	Line numbers   : 26-40
+            	Modified       : None
+            	std.code.magic:numbers: 1
+
+.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 285-391
+                	Line numbers   : 28-38
+                	Modified       : None
+
+.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 306-387
+                    	Line numbers   : 30-37
+                    	Modified       : None
+                    	std.code.magic:numbers: 1
+
+.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
+            	Region name    : func_to_be_removed_in_new_sources
+            	Region type    : function
+            	Offsets        : 408-596
+            	Line numbers   : 42-56
+            	Modified       : None
+            	std.code.magic:numbers: 1
+
+.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 466-577
+                	Line numbers   : 44-54
+                	Modified       : None
+
+.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 487-573
+                    	Line numbers   : 46-53
+                    	Modified       : None
+                    	std.code.magic:numbers: 1
+
+.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
+            	Region name    : never
+            	Region type    : function
+            	Offsets        : 599-669
+            	Line numbers   : 58-65
+            	Modified       : None
+            	std.code.magic:numbers: 2
+
+./simple.cpp:: info: Overall metrics for 'std.code.magic:numbers' metric
+	Average        : 1.57142857 (excluding zero metric values)
+	Minimum        : 1
+	Maximum        : 4
+	Total          : 11.0
+	Distribution   : 7 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 0.714 : 0.714 : 5	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             2 : 0.143 : 0.857 : 1	||||||||||||||
+	             4 : 0.143 : 1.000 : 1	||||||||||||||
+
+

+ 94 - 94
tests/general/test_basic/test_std_code_magic_view_nozeros_nest_per_file_stdout.gold.txt

@@ -1,94 +1,94 @@
-./simple.cpp:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-697
-	Line numbers   : 1-71
-	Modified       : None
-
-.   ./simple.cpp:4: info: Metrics per 'hmm' region
-    	Region name    : hmm
-    	Region type    : namespace
-    	Offsets        : 2-696
-    	Line numbers   : 3-70
-    	Modified       : None
-
-.   .   ./simple.cpp:9: info: Metrics per 'A' region
-        	Region name    : A
-        	Region type    : class
-        	Offsets        : 94-692
-        	Line numbers   : 9-68
-        	Modified       : None
-        	std.code.magic:numbers: 1
-
-.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
-            	Region name    : A
-            	Region type    : function
-            	Offsets        : 106-252
-            	Line numbers   : 12-23
-            	Modified       : None
-            	std.code.magic:numbers: 1
-
-.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
-            	Region name    : func
-            	Region type    : function
-            	Offsets        : 256-405
-            	Line numbers   : 26-40
-            	Modified       : None
-            	std.code.magic:numbers: 1
-
-.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 285-391
-                	Line numbers   : 28-38
-                	Modified       : None
-
-.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 306-387
-                    	Line numbers   : 30-37
-                    	Modified       : None
-                    	std.code.magic:numbers: 1
-
-.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
-            	Region name    : func_to_be_removed_in_new_sources
-            	Region type    : function
-            	Offsets        : 408-596
-            	Line numbers   : 42-56
-            	Modified       : None
-            	std.code.magic:numbers: 1
-
-.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 466-577
-                	Line numbers   : 44-54
-                	Modified       : None
-
-.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 487-573
-                    	Line numbers   : 46-53
-                    	Modified       : None
-                    	std.code.magic:numbers: 1
-
-.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
-            	Region name    : never
-            	Region type    : function
-            	Offsets        : 599-669
-            	Line numbers   : 58-65
-            	Modified       : None
-            	std.code.magic:numbers: 1
-
-./simple.cpp:: info: Overall metrics for 'std.code.magic:numbers' metric
-	Average        : 1.0 (excluding zero metric values)
-	Minimum        : 1
-	Maximum        : 1
-	Total          : 7.0
-	Distribution   : 7 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 7	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-
+./simple.cpp:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-697
+	Line numbers   : 1-71
+	Modified       : None
+
+.   ./simple.cpp:4: info: Metrics per 'hmm' region
+    	Region name    : hmm
+    	Region type    : namespace
+    	Offsets        : 2-696
+    	Line numbers   : 3-70
+    	Modified       : None
+
+.   .   ./simple.cpp:9: info: Metrics per 'A' region
+        	Region name    : A
+        	Region type    : class
+        	Offsets        : 94-692
+        	Line numbers   : 9-68
+        	Modified       : None
+        	std.code.magic:numbers: 1
+
+.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
+            	Region name    : A
+            	Region type    : function
+            	Offsets        : 106-252
+            	Line numbers   : 12-23
+            	Modified       : None
+            	std.code.magic:numbers: 1
+
+.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
+            	Region name    : func
+            	Region type    : function
+            	Offsets        : 256-405
+            	Line numbers   : 26-40
+            	Modified       : None
+            	std.code.magic:numbers: 1
+
+.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 285-391
+                	Line numbers   : 28-38
+                	Modified       : None
+
+.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 306-387
+                    	Line numbers   : 30-37
+                    	Modified       : None
+                    	std.code.magic:numbers: 1
+
+.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
+            	Region name    : func_to_be_removed_in_new_sources
+            	Region type    : function
+            	Offsets        : 408-596
+            	Line numbers   : 42-56
+            	Modified       : None
+            	std.code.magic:numbers: 1
+
+.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 466-577
+                	Line numbers   : 44-54
+                	Modified       : None
+
+.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 487-573
+                    	Line numbers   : 46-53
+                    	Modified       : None
+                    	std.code.magic:numbers: 1
+
+.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
+            	Region name    : never
+            	Region type    : function
+            	Offsets        : 599-669
+            	Line numbers   : 58-65
+            	Modified       : None
+            	std.code.magic:numbers: 1
+
+./simple.cpp:: info: Overall metrics for 'std.code.magic:numbers' metric
+	Average        : 1.0 (excluding zero metric values)
+	Minimum        : 1
+	Maximum        : 1
+	Total          : 7.0
+	Distribution   : 7 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 7	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+

+ 14 - 14
tests/general/test_basic/test_std_code_magic_view_nozeros_stdout.gold.txt

@@ -1,14 +1,14 @@
-./:: info: Overall metrics for 'std.code.magic:numbers' metric
-	Average        : 1.0 (excluding zero metric values)
-	Minimum        : 1
-	Maximum        : 1
-	Total          : 9.0
-	Distribution   : 9 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 9	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Directory content:
-	File           : file_deleted_in_new_sources.cpp
-	File           : simple.cpp
-
-
+./:: info: Overall metrics for 'std.code.magic:numbers' metric
+	Average        : 1.0 (excluding zero metric values)
+	Minimum        : 1
+	Maximum        : 1
+	Total          : 9.0
+	Distribution   : 9 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 9	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Directory content:
+	File           : file_deleted_in_new_sources.cpp
+	File           : simple.cpp
+
+

+ 16 - 16
tests/general/test_basic/test_std_complexity_maxindent_view_default_stdout.gold.txt

@@ -1,16 +1,16 @@
-./:: info: Overall metrics for 'std.code.complexity:maxindent' metric
-	Average        : 1.875
-	Minimum        : 1
-	Maximum        : 3
-	Total          : 15.0
-	Distribution   : 8 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 0.250 : 0.250 : 2	|||||||||||||||||||||||||
-	             2 : 0.625 : 0.875 : 5	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             3 : 0.125 : 1.000 : 1	|||||||||||||
-
-./:: info: Directory content:
-	File           : file_deleted_in_new_sources.cpp
-	File           : simple.cpp
-
-
+./:: info: Overall metrics for 'std.code.complexity:maxindent' metric
+	Average        : 1.875
+	Minimum        : 1
+	Maximum        : 3
+	Total          : 15.0
+	Distribution   : 8 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 0.250 : 0.250 : 2	|||||||||||||||||||||||||
+	             2 : 0.625 : 0.875 : 5	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             3 : 0.125 : 1.000 : 1	||||||||||||
+
+./:: info: Directory content:
+	File           : file_deleted_in_new_sources.cpp
+	File           : simple.cpp
+
+

+ 95 - 95
tests/general/test_basic/test_std_complexity_maxindent_view_nest_per_file_stdout.gold.txt

@@ -1,95 +1,95 @@
-./simple.cpp:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-697
-	Line numbers   : 1-71
-	Modified       : None
-
-.   ./simple.cpp:4: info: Metrics per 'hmm' region
-    	Region name    : hmm
-    	Region type    : namespace
-    	Offsets        : 2-696
-    	Line numbers   : 3-70
-    	Modified       : None
-
-.   .   ./simple.cpp:9: info: Metrics per 'A' region
-        	Region name    : A
-        	Region type    : class
-        	Offsets        : 94-692
-        	Line numbers   : 9-68
-        	Modified       : None
-
-.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
-            	Region name    : A
-            	Region type    : function
-            	Offsets        : 106-252
-            	Line numbers   : 12-23
-            	Modified       : None
-            	std.code.complexity:maxindent: 3
-
-.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
-            	Region name    : func
-            	Region type    : function
-            	Offsets        : 256-405
-            	Line numbers   : 26-40
-            	Modified       : None
-            	std.code.complexity:maxindent: 1
-
-.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 285-391
-                	Line numbers   : 28-38
-                	Modified       : None
-
-.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 306-387
-                    	Line numbers   : 30-37
-                    	Modified       : None
-                    	std.code.complexity:maxindent: 2
-
-.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
-            	Region name    : func_to_be_removed_in_new_sources
-            	Region type    : function
-            	Offsets        : 408-596
-            	Line numbers   : 42-56
-            	Modified       : None
-            	std.code.complexity:maxindent: 1
-
-.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 466-577
-                	Line numbers   : 44-54
-                	Modified       : None
-
-.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 487-573
-                    	Line numbers   : 46-53
-                    	Modified       : None
-                    	std.code.complexity:maxindent: 2
-
-.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
-            	Region name    : never
-            	Region type    : function
-            	Offsets        : 599-669
-            	Line numbers   : 58-65
-            	Modified       : None
-            	std.code.complexity:maxindent: 2
-
-./simple.cpp:: info: Overall metrics for 'std.code.complexity:maxindent' metric
-	Average        : 1.83333333333
-	Minimum        : 1
-	Maximum        : 3
-	Total          : 11.0
-	Distribution   : 6 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 0.333 : 0.333 : 2	|||||||||||||||||||||||||||||||||
-	             2 : 0.500 : 0.833 : 3	||||||||||||||||||||||||||||||||||||||||||||||||||
-	             3 : 0.167 : 1.000 : 1	|||||||||||||||||
-
-
+./simple.cpp:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-697
+	Line numbers   : 1-71
+	Modified       : None
+
+.   ./simple.cpp:4: info: Metrics per 'hmm' region
+    	Region name    : hmm
+    	Region type    : namespace
+    	Offsets        : 2-696
+    	Line numbers   : 3-70
+    	Modified       : None
+
+.   .   ./simple.cpp:9: info: Metrics per 'A' region
+        	Region name    : A
+        	Region type    : class
+        	Offsets        : 94-692
+        	Line numbers   : 9-68
+        	Modified       : None
+
+.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
+            	Region name    : A
+            	Region type    : function
+            	Offsets        : 106-252
+            	Line numbers   : 12-23
+            	Modified       : None
+            	std.code.complexity:maxindent: 3
+
+.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
+            	Region name    : func
+            	Region type    : function
+            	Offsets        : 256-405
+            	Line numbers   : 26-40
+            	Modified       : None
+            	std.code.complexity:maxindent: 1
+
+.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 285-391
+                	Line numbers   : 28-38
+                	Modified       : None
+
+.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 306-387
+                    	Line numbers   : 30-37
+                    	Modified       : None
+                    	std.code.complexity:maxindent: 2
+
+.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
+            	Region name    : func_to_be_removed_in_new_sources
+            	Region type    : function
+            	Offsets        : 408-596
+            	Line numbers   : 42-56
+            	Modified       : None
+            	std.code.complexity:maxindent: 1
+
+.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 466-577
+                	Line numbers   : 44-54
+                	Modified       : None
+
+.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 487-573
+                    	Line numbers   : 46-53
+                    	Modified       : None
+                    	std.code.complexity:maxindent: 2
+
+.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
+            	Region name    : never
+            	Region type    : function
+            	Offsets        : 599-669
+            	Line numbers   : 58-65
+            	Modified       : None
+            	std.code.complexity:maxindent: 2
+
+./simple.cpp:: info: Overall metrics for 'std.code.complexity:maxindent' metric
+	Average        : 1.83333333
+	Minimum        : 1
+	Maximum        : 3
+	Total          : 11.0
+	Distribution   : 6 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 0.333 : 0.333 : 2	|||||||||||||||||||||||||||||||||
+	             2 : 0.500 : 0.833 : 3	||||||||||||||||||||||||||||||||||||||||||||||||||
+	             3 : 0.167 : 1.000 : 1	||||||||||||||||
+
+

+ 120 - 120
tests/general/test_basic/test_std_filelines_metrics_view_nest_per_file_stdout.gold.txt

@@ -1,120 +1,120 @@
-./simple.cpp:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-697
-	Line numbers   : 1-71
-	Modified       : None
-
-.   ./simple.cpp:4: info: Metrics per 'hmm' region
-    	Region name    : hmm
-    	Region type    : namespace
-    	Offsets        : 2-696
-    	Line numbers   : 3-70
-    	Modified       : None
-
-.   .   ./simple.cpp:9: info: Metrics per 'A' region
-        	Region name    : A
-        	Region type    : class
-        	Offsets        : 94-692
-        	Line numbers   : 9-68
-        	Modified       : None
-
-.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
-            	Region name    : A
-            	Region type    : function
-            	Offsets        : 106-252
-            	Line numbers   : 12-23
-            	Modified       : None
-
-.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
-            	Region name    : func
-            	Region type    : function
-            	Offsets        : 256-405
-            	Line numbers   : 26-40
-            	Modified       : None
-
-.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 285-391
-                	Line numbers   : 28-38
-                	Modified       : None
-
-.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 306-387
-                    	Line numbers   : 30-37
-                    	Modified       : None
-
-.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
-            	Region name    : func_to_be_removed_in_new_sources
-            	Region type    : function
-            	Offsets        : 408-596
-            	Line numbers   : 42-56
-            	Modified       : None
-
-.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 466-577
-                	Line numbers   : 44-54
-                	Modified       : None
-
-.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 487-573
-                    	Line numbers   : 46-53
-                    	Modified       : None
-
-.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
-            	Region name    : never
-            	Region type    : function
-            	Offsets        : 599-669
-            	Line numbers   : 58-65
-            	Modified       : None
-
-./simple.cpp:0: info: Metrics per file
-	std.code.filelines:code: 53
-	std.code.filelines:total: 58
-	std.code.filelines:preprocessor: 1
-	std.code.filelines:comments: 5
-
-./simple.cpp:: info: Overall metrics for 'std.code.filelines:total' metric
-	Average        : 58.0
-	Minimum        : 58
-	Maximum        : 58
-	Total          : 58.0
-	Distribution   : 1 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-	            58 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.filelines:code' metric
-	Average        : 53.0
-	Minimum        : 53
-	Maximum        : 53
-	Total          : 53.0
-	Distribution   : 1 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-	            53 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.filelines:preprocessor' metric
-	Average        : 1.0
-	Minimum        : 1
-	Maximum        : 1
-	Total          : 1.0
-	Distribution   : 1 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-	             1 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.filelines:comments' metric
-	Average        : 5.0
-	Minimum        : 5
-	Maximum        : 5
-	Total          : 5.0
-	Distribution   : 1 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-	             5 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-
+./simple.cpp:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-697
+	Line numbers   : 1-71
+	Modified       : None
+
+.   ./simple.cpp:4: info: Metrics per 'hmm' region
+    	Region name    : hmm
+    	Region type    : namespace
+    	Offsets        : 2-696
+    	Line numbers   : 3-70
+    	Modified       : None
+
+.   .   ./simple.cpp:9: info: Metrics per 'A' region
+        	Region name    : A
+        	Region type    : class
+        	Offsets        : 94-692
+        	Line numbers   : 9-68
+        	Modified       : None
+
+.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
+            	Region name    : A
+            	Region type    : function
+            	Offsets        : 106-252
+            	Line numbers   : 12-23
+            	Modified       : None
+
+.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
+            	Region name    : func
+            	Region type    : function
+            	Offsets        : 256-405
+            	Line numbers   : 26-40
+            	Modified       : None
+
+.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 285-391
+                	Line numbers   : 28-38
+                	Modified       : None
+
+.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 306-387
+                    	Line numbers   : 30-37
+                    	Modified       : None
+
+.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
+            	Region name    : func_to_be_removed_in_new_sources
+            	Region type    : function
+            	Offsets        : 408-596
+            	Line numbers   : 42-56
+            	Modified       : None
+
+.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 466-577
+                	Line numbers   : 44-54
+                	Modified       : None
+
+.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 487-573
+                    	Line numbers   : 46-53
+                    	Modified       : None
+
+.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
+            	Region name    : never
+            	Region type    : function
+            	Offsets        : 599-669
+            	Line numbers   : 58-65
+            	Modified       : None
+
+./simple.cpp:0: info: Metrics per file
+	std.code.filelines:code: 53
+	std.code.filelines:comments: 5
+	std.code.filelines:preprocessor: 1
+	std.code.filelines:total: 58
+
+./simple.cpp:: info: Overall metrics for 'std.code.filelines:code' metric
+	Average        : 53.0
+	Minimum        : 53
+	Maximum        : 53
+	Total          : 53.0
+	Distribution   : 1 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+	            53 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.filelines:comments' metric
+	Average        : 5.0
+	Minimum        : 5
+	Maximum        : 5
+	Total          : 5.0
+	Distribution   : 1 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+	             5 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.filelines:preprocessor' metric
+	Average        : 1.0
+	Minimum        : 1
+	Maximum        : 1
+	Total          : 1.0
+	Distribution   : 1 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+	             1 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.filelines:total' metric
+	Average        : 58.0
+	Minimum        : 58
+	Maximum        : 58
+	Total          : 58.0
+	Distribution   : 1 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+	            58 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+

+ 44 - 44
tests/general/test_basic/test_std_filelines_metrics_view_txt_stdout.gold.txt

@@ -1,44 +1,44 @@
-./:: info: Overall metrics for 'std.code.filelines:total' metric
-	Average        : 41.5
-	Minimum        : 25
-	Maximum        : 58
-	Total          : 83.0
-	Distribution   : 2 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-	            25 : 0.500 : 0.500 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
-	            58 : 0.500 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.code.filelines:code' metric
-	Average        : 37.0
-	Minimum        : 21
-	Maximum        : 53
-	Total          : 74.0
-	Distribution   : 2 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-	            21 : 0.500 : 0.500 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
-	            53 : 0.500 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.code.filelines:preprocessor' metric
-	Average        : 0.5
-	Minimum        : 0
-	Maximum        : 1
-	Total          : 1.0
-	Distribution   : 2 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-	             0 : 0.500 : 0.500 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.500 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.code.filelines:comments' metric
-	Average        : 5.0
-	Minimum        : 5
-	Maximum        : 5
-	Total          : 10.0
-	Distribution   : 2 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-	             5 : 1.000 : 1.000 : 2	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Directory content:
-	File           : file_deleted_in_new_sources.cpp
-	File           : simple.cpp
-
-
+./:: info: Overall metrics for 'std.code.filelines:code' metric
+	Average        : 37.0
+	Minimum        : 21
+	Maximum        : 53
+	Total          : 74.0
+	Distribution   : 2 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+	            21 : 0.500 : 0.500 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
+	            53 : 0.500 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.code.filelines:comments' metric
+	Average        : 5.0
+	Minimum        : 5
+	Maximum        : 5
+	Total          : 10.0
+	Distribution   : 2 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+	             5 : 1.000 : 1.000 : 2	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.code.filelines:preprocessor' metric
+	Average        : 0.5
+	Minimum        : 0
+	Maximum        : 1
+	Total          : 1.0
+	Distribution   : 2 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+	             0 : 0.500 : 0.500 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.500 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.code.filelines:total' metric
+	Average        : 41.5
+	Minimum        : 25
+	Maximum        : 58
+	Total          : 83.0
+	Distribution   : 2 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+	            25 : 0.500 : 0.500 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
+	            58 : 0.500 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Directory content:
+	File           : file_deleted_in_new_sources.cpp
+	File           : simple.cpp
+
+

+ 108 - 108
tests/general/test_basic/test_std_general_metrics_view_nest_per_file_stdout.gold.txt

@@ -1,108 +1,108 @@
-./simple.cpp:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-697
-	Line numbers   : 1-71
-	Modified       : None
-
-.   ./simple.cpp:4: info: Metrics per 'hmm' region
-    	Region name    : hmm
-    	Region type    : namespace
-    	Offsets        : 2-696
-    	Line numbers   : 3-70
-    	Modified       : None
-
-.   .   ./simple.cpp:9: info: Metrics per 'A' region
-        	Region name    : A
-        	Region type    : class
-        	Offsets        : 94-692
-        	Line numbers   : 9-68
-        	Modified       : None
-
-.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
-            	Region name    : A
-            	Region type    : function
-            	Offsets        : 106-252
-            	Line numbers   : 12-23
-            	Modified       : None
-
-.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
-            	Region name    : func
-            	Region type    : function
-            	Offsets        : 256-405
-            	Line numbers   : 26-40
-            	Modified       : None
-
-.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 285-391
-                	Line numbers   : 28-38
-                	Modified       : None
-
-.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 306-387
-                    	Line numbers   : 30-37
-                    	Modified       : None
-
-.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
-            	Region name    : func_to_be_removed_in_new_sources
-            	Region type    : function
-            	Offsets        : 408-596
-            	Line numbers   : 42-56
-            	Modified       : None
-
-.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 466-577
-                	Line numbers   : 44-54
-                	Modified       : None
-
-.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 487-573
-                    	Line numbers   : 46-53
-                    	Modified       : None
-
-.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
-            	Region name    : never
-            	Region type    : function
-            	Offsets        : 599-669
-            	Line numbers   : 58-65
-            	Modified       : None
-
-./simple.cpp:0: info: Metrics per file
-	std.general:proctime: 0.01
-	std.general:size: 697
-
-./simple.cpp:: info: Overall metrics for 'std.general:procerrors' metric
-	Average        : None
-	Minimum        : None
-	Maximum        : None
-	Total          : 0.0
-	Distribution   : 0 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-
-./simple.cpp:: info: Overall metrics for 'std.general:proctime' metric
-	Average        : 0.01
-	Minimum        : 0.01
-	Maximum        : 0.01
-	Total          : 0.01
-	Distribution   : 1 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-	        0.0100 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.general:size' metric
-	Average        : 697.0
-	Minimum        : 697
-	Maximum        : 697
-	Total          : 697.0
-	Distribution   : 1 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-	           697 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-
+./simple.cpp:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-697
+	Line numbers   : 1-71
+	Modified       : None
+
+.   ./simple.cpp:4: info: Metrics per 'hmm' region
+    	Region name    : hmm
+    	Region type    : namespace
+    	Offsets        : 2-696
+    	Line numbers   : 3-70
+    	Modified       : None
+
+.   .   ./simple.cpp:9: info: Metrics per 'A' region
+        	Region name    : A
+        	Region type    : class
+        	Offsets        : 94-692
+        	Line numbers   : 9-68
+        	Modified       : None
+
+.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
+            	Region name    : A
+            	Region type    : function
+            	Offsets        : 106-252
+            	Line numbers   : 12-23
+            	Modified       : None
+
+.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
+            	Region name    : func
+            	Region type    : function
+            	Offsets        : 256-405
+            	Line numbers   : 26-40
+            	Modified       : None
+
+.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 285-391
+                	Line numbers   : 28-38
+                	Modified       : None
+
+.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 306-387
+                    	Line numbers   : 30-37
+                    	Modified       : None
+
+.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
+            	Region name    : func_to_be_removed_in_new_sources
+            	Region type    : function
+            	Offsets        : 408-596
+            	Line numbers   : 42-56
+            	Modified       : None
+
+.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 466-577
+                	Line numbers   : 44-54
+                	Modified       : None
+
+.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 487-573
+                    	Line numbers   : 46-53
+                    	Modified       : None
+
+.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
+            	Region name    : never
+            	Region type    : function
+            	Offsets        : 599-669
+            	Line numbers   : 58-65
+            	Modified       : None
+
+./simple.cpp:0: info: Metrics per file
+	std.general:proctime: 0.01
+	std.general:size: 697
+
+./simple.cpp:: info: Overall metrics for 'std.general:procerrors' metric
+	Average        : None
+	Minimum        : None
+	Maximum        : None
+	Total          : 0.0
+	Distribution   : 0 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+
+./simple.cpp:: info: Overall metrics for 'std.general:proctime' metric
+	Average        : 0.01
+	Minimum        : 0.01
+	Maximum        : 0.01
+	Total          : 0.01
+	Distribution   : 1 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+	        0.0100 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.general:size' metric
+	Average        : 697.0
+	Minimum        : 697
+	Maximum        : 697
+	Total          : 697.0
+	Distribution   : 1 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+	           697 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+

+ 32 - 32
tests/general/test_basic/test_std_general_metrics_view_txt_stdout.gold.txt

@@ -1,32 +1,32 @@
-./:: info: Overall metrics for 'std.general:procerrors' metric
-	Average        : None
-	Minimum        : None
-	Maximum        : None
-	Total          : 0.0
-	Distribution   : 0 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-
-./:: info: Overall metrics for 'std.general:proctime' metric
-	Average        : 0.01
-	Minimum        : 0.01
-	Maximum        : 0.01
-	Total          : 0.02
-	Distribution   : 2 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-	        0.0100 : 1.000 : 1.000 : 2	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.general:size' metric
-	Average        : 488.0
-	Minimum        : 279
-	Maximum        : 697
-	Total          : 976.0
-	Distribution   : 2 files in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-	           279 : 0.500 : 0.500 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
-	           697 : 0.500 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Directory content:
-	File           : file_deleted_in_new_sources.cpp
-	File           : simple.cpp
-
-
+./:: info: Overall metrics for 'std.general:procerrors' metric
+	Average        : None
+	Minimum        : None
+	Maximum        : None
+	Total          : 0.0
+	Distribution   : 0 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+
+./:: info: Overall metrics for 'std.general:proctime' metric
+	Average        : 0.01
+	Minimum        : 0.01
+	Maximum        : 0.01
+	Total          : 0.02
+	Distribution   : 2 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+	        0.0100 : 1.000 : 1.000 : 2	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.general:size' metric
+	Average        : 488.0
+	Minimum        : 279
+	Maximum        : 697
+	Total          : 976.0
+	Distribution   : 2 files in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+	           279 : 0.500 : 0.500 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
+	           697 : 0.500 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Directory content:
+	File           : file_deleted_in_new_sources.cpp
+	File           : simple.cpp
+
+

+ 173 - 173
tests/general/test_basic/test_std_lines_metrics_view_nest_per_file_stdout.gold.txt

@@ -1,173 +1,173 @@
-./simple.cpp:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-697
-	Line numbers   : 1-71
-	Modified       : None
-	std.code.lines:code: 0
-	std.code.lines:total: 0
-	std.code.lines:preprocessor: 0
-	std.code.lines:comments: 0
-
-.   ./simple.cpp:4: info: Metrics per 'hmm' region
-    	Region name    : hmm
-    	Region type    : namespace
-    	Offsets        : 2-696
-    	Line numbers   : 3-70
-    	Modified       : None
-    	std.code.lines:code: 4
-    	std.code.lines:total: 6
-    	std.code.lines:preprocessor: 1
-    	std.code.lines:comments: 1
-
-.   .   ./simple.cpp:9: info: Metrics per 'A' region
-        	Region name    : A
-        	Region type    : class
-        	Offsets        : 94-692
-        	Line numbers   : 9-68
-        	Modified       : None
-        	std.code.lines:code: 4
-        	std.code.lines:total: 4
-        	std.code.lines:preprocessor: 0
-        	std.code.lines:comments: 0
-
-.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
-            	Region name    : A
-            	Region type    : function
-            	Offsets        : 106-252
-            	Line numbers   : 12-23
-            	Modified       : None
-            	std.code.lines:code: 11
-            	std.code.lines:total: 12
-            	std.code.lines:preprocessor: 0
-            	std.code.lines:comments: 2
-
-.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
-            	Region name    : func
-            	Region type    : function
-            	Offsets        : 256-405
-            	Line numbers   : 26-40
-            	Modified       : None
-            	std.code.lines:code: 5
-            	std.code.lines:total: 5
-            	std.code.lines:preprocessor: 0
-            	std.code.lines:comments: 0
-
-.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 285-391
-                	Line numbers   : 28-38
-                	Modified       : None
-                	std.code.lines:code: 3
-                	std.code.lines:total: 3
-                	std.code.lines:preprocessor: 0
-                	std.code.lines:comments: 0
-
-.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 306-387
-                    	Line numbers   : 30-37
-                    	Modified       : None
-                    	std.code.lines:code: 7
-                    	std.code.lines:total: 8
-                    	std.code.lines:preprocessor: 0
-                    	std.code.lines:comments: 1
-
-.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
-            	Region name    : func_to_be_removed_in_new_sources
-            	Region type    : function
-            	Offsets        : 408-596
-            	Line numbers   : 42-56
-            	Modified       : None
-            	std.code.lines:code: 5
-            	std.code.lines:total: 5
-            	std.code.lines:preprocessor: 0
-            	std.code.lines:comments: 0
-
-.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 466-577
-                	Line numbers   : 44-54
-                	Modified       : None
-                	std.code.lines:code: 3
-                	std.code.lines:total: 3
-                	std.code.lines:preprocessor: 0
-                	std.code.lines:comments: 0
-
-.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 487-573
-                    	Line numbers   : 46-53
-                    	Modified       : None
-                    	std.code.lines:code: 7
-                    	std.code.lines:total: 8
-                    	std.code.lines:preprocessor: 0
-                    	std.code.lines:comments: 1
-
-.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
-            	Region name    : never
-            	Region type    : function
-            	Offsets        : 599-669
-            	Line numbers   : 58-65
-            	Modified       : None
-            	std.code.lines:code: 7
-            	std.code.lines:total: 7
-            	std.code.lines:preprocessor: 0
-            	std.code.lines:comments: 0
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:total' metric
-	Average        : 5.54545454545
-	Minimum        : 0
-	Maximum        : 12
-	Total          : 61.0
-	Distribution   : 11 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.091 : 0.091 :  1	|||||||||
-	             3 : 0.182 : 0.273 :  2	||||||||||||||||||
-	             4 : 0.091 : 0.364 :  1	|||||||||
-	             5 : 0.182 : 0.545 :  2	||||||||||||||||||
-	             6 : 0.091 : 0.636 :  1	|||||||||
-	             7 : 0.091 : 0.727 :  1	|||||||||
-	             8 : 0.182 : 0.909 :  2	||||||||||||||||||
-	            12 : 0.091 : 1.000 :  1	|||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:code' metric
-	Average        : 5.09090909091
-	Minimum        : 0
-	Maximum        : 11
-	Total          : 56.0
-	Distribution   : 11 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.091 : 0.091 :  1	|||||||||
-	             3 : 0.182 : 0.273 :  2	||||||||||||||||||
-	             4 : 0.182 : 0.455 :  2	||||||||||||||||||
-	             5 : 0.182 : 0.636 :  2	||||||||||||||||||
-	             7 : 0.273 : 0.909 :  3	|||||||||||||||||||||||||||
-	            11 : 0.091 : 1.000 :  1	|||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:preprocessor' metric
-	Average        : 0.0909090909091
-	Minimum        : 0
-	Maximum        : 1
-	Total          : 1.0
-	Distribution   : 11 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.909 : 0.909 : 10	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.091 : 1.000 :  1	|||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:comments' metric
-	Average        : 0.454545454545
-	Minimum        : 0
-	Maximum        : 2
-	Total          : 5.0
-	Distribution   : 11 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.636 : 0.636 :  7	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.273 : 0.909 :  3	|||||||||||||||||||||||||||
-	             2 : 0.091 : 1.000 :  1	|||||||||
-
-
+./simple.cpp:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-697
+	Line numbers   : 1-71
+	Modified       : None
+	std.code.lines:code: 0
+	std.code.lines:comments: 0
+	std.code.lines:preprocessor: 0
+	std.code.lines:total: 0
+
+.   ./simple.cpp:4: info: Metrics per 'hmm' region
+    	Region name    : hmm
+    	Region type    : namespace
+    	Offsets        : 2-696
+    	Line numbers   : 3-70
+    	Modified       : None
+    	std.code.lines:code: 4
+    	std.code.lines:comments: 1
+    	std.code.lines:preprocessor: 1
+    	std.code.lines:total: 6
+
+.   .   ./simple.cpp:9: info: Metrics per 'A' region
+        	Region name    : A
+        	Region type    : class
+        	Offsets        : 94-692
+        	Line numbers   : 9-68
+        	Modified       : None
+        	std.code.lines:code: 4
+        	std.code.lines:comments: 0
+        	std.code.lines:preprocessor: 0
+        	std.code.lines:total: 4
+
+.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
+            	Region name    : A
+            	Region type    : function
+            	Offsets        : 106-252
+            	Line numbers   : 12-23
+            	Modified       : None
+            	std.code.lines:code: 11
+            	std.code.lines:comments: 2
+            	std.code.lines:preprocessor: 0
+            	std.code.lines:total: 12
+
+.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
+            	Region name    : func
+            	Region type    : function
+            	Offsets        : 256-405
+            	Line numbers   : 26-40
+            	Modified       : None
+            	std.code.lines:code: 5
+            	std.code.lines:comments: 0
+            	std.code.lines:preprocessor: 0
+            	std.code.lines:total: 5
+
+.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 285-391
+                	Line numbers   : 28-38
+                	Modified       : None
+                	std.code.lines:code: 3
+                	std.code.lines:comments: 0
+                	std.code.lines:preprocessor: 0
+                	std.code.lines:total: 3
+
+.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 306-387
+                    	Line numbers   : 30-37
+                    	Modified       : None
+                    	std.code.lines:code: 7
+                    	std.code.lines:comments: 1
+                    	std.code.lines:preprocessor: 0
+                    	std.code.lines:total: 8
+
+.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
+            	Region name    : func_to_be_removed_in_new_sources
+            	Region type    : function
+            	Offsets        : 408-596
+            	Line numbers   : 42-56
+            	Modified       : None
+            	std.code.lines:code: 5
+            	std.code.lines:comments: 0
+            	std.code.lines:preprocessor: 0
+            	std.code.lines:total: 5
+
+.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 466-577
+                	Line numbers   : 44-54
+                	Modified       : None
+                	std.code.lines:code: 3
+                	std.code.lines:comments: 0
+                	std.code.lines:preprocessor: 0
+                	std.code.lines:total: 3
+
+.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 487-573
+                    	Line numbers   : 46-53
+                    	Modified       : None
+                    	std.code.lines:code: 7
+                    	std.code.lines:comments: 1
+                    	std.code.lines:preprocessor: 0
+                    	std.code.lines:total: 8
+
+.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
+            	Region name    : never
+            	Region type    : function
+            	Offsets        : 599-669
+            	Line numbers   : 58-65
+            	Modified       : None
+            	std.code.lines:code: 7
+            	std.code.lines:comments: 0
+            	std.code.lines:preprocessor: 0
+            	std.code.lines:total: 7
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:code' metric
+	Average        : 5.09090909
+	Minimum        : 0
+	Maximum        : 11
+	Total          : 56.0
+	Distribution   : 11 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.091 : 0.091 :  1	|||||||||
+	             3 : 0.182 : 0.273 :  2	||||||||||||||||||
+	             4 : 0.182 : 0.455 :  2	||||||||||||||||||
+	             5 : 0.182 : 0.636 :  2	||||||||||||||||||
+	             7 : 0.273 : 0.909 :  3	|||||||||||||||||||||||||||
+	            11 : 0.091 : 1.000 :  1	|||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:comments' metric
+	Average        : 0.45454545
+	Minimum        : 0
+	Maximum        : 2
+	Total          : 5.0
+	Distribution   : 11 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.636 : 0.636 :  7	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.273 : 0.909 :  3	|||||||||||||||||||||||||||
+	             2 : 0.091 : 1.000 :  1	|||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:preprocessor' metric
+	Average        : 0.09090909
+	Minimum        : 0
+	Maximum        : 1
+	Total          : 1.0
+	Distribution   : 11 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.909 : 0.909 : 10	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.091 : 1.000 :  1	|||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:total' metric
+	Average        : 5.54545455
+	Minimum        : 0
+	Maximum        : 12
+	Total          : 61.0
+	Distribution   : 11 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.091 : 0.091 :  1	|||||||||
+	             3 : 0.182 : 0.273 :  2	||||||||||||||||||
+	             4 : 0.091 : 0.364 :  1	|||||||||
+	             5 : 0.182 : 0.545 :  2	||||||||||||||||||
+	             6 : 0.091 : 0.636 :  1	|||||||||
+	             7 : 0.091 : 0.727 :  1	|||||||||
+	             8 : 0.182 : 0.909 :  2	||||||||||||||||||
+	            12 : 0.091 : 1.000 :  1	|||||||||
+
+

+ 59 - 59
tests/general/test_basic/test_std_lines_metrics_view_txt_stdout.gold.txt

@@ -1,59 +1,59 @@
-./:: info: Overall metrics for 'std.code.lines:total' metric
-	Average        : 5.4375
-	Minimum        : 0
-	Maximum        : 12
-	Total          : 87.0
-	Distribution   : 16 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.125 : 0.125 :  2	|||||||||||||
-	             3 : 0.188 : 0.312 :  3	|||||||||||||||||||
-	             4 : 0.062 : 0.375 :  1	||||||
-	             5 : 0.125 : 0.500 :  2	|||||||||||||
-	             6 : 0.062 : 0.562 :  1	||||||
-	             7 : 0.188 : 0.750 :  3	|||||||||||||||||||
-	             8 : 0.125 : 0.875 :  2	|||||||||||||
-	             9 : 0.062 : 0.938 :  1	||||||
-	            12 : 0.062 : 1.000 :  1	||||||
-
-./:: info: Overall metrics for 'std.code.lines:code' metric
-	Average        : 4.875
-	Minimum        : 0
-	Maximum        : 11
-	Total          : 78.0
-	Distribution   : 16 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.125 : 0.125 :  2	|||||||||||||
-	             3 : 0.188 : 0.312 :  3	|||||||||||||||||||
-	             4 : 0.188 : 0.500 :  3	|||||||||||||||||||
-	             5 : 0.125 : 0.625 :  2	|||||||||||||
-	             7 : 0.250 : 0.875 :  4	|||||||||||||||||||||||||
-	             8 : 0.062 : 0.938 :  1	||||||
-	            11 : 0.062 : 1.000 :  1	||||||
-
-./:: info: Overall metrics for 'std.code.lines:preprocessor' metric
-	Average        : 0.0625
-	Minimum        : 0
-	Maximum        : 1
-	Total          : 1.0
-	Distribution   : 16 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.938 : 0.938 : 15	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.062 : 1.000 :  1	||||||
-
-./:: info: Overall metrics for 'std.code.lines:comments' metric
-	Average        : 0.625
-	Minimum        : 0
-	Maximum        : 3
-	Total          : 10.0
-	Distribution   : 16 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.625 : 0.625 : 10	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.188 : 0.812 :  3	|||||||||||||||||||
-	             2 : 0.125 : 0.938 :  2	|||||||||||||
-	             3 : 0.062 : 1.000 :  1	||||||
-
-./:: info: Directory content:
-	File           : file_deleted_in_new_sources.cpp
-	File           : simple.cpp
-
-
+./:: info: Overall metrics for 'std.code.lines:code' metric
+	Average        : 4.875
+	Minimum        : 0
+	Maximum        : 11
+	Total          : 78.0
+	Distribution   : 16 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.125 : 0.125 :  2	||||||||||||
+	             3 : 0.188 : 0.312 :  3	||||||||||||||||||
+	             4 : 0.188 : 0.500 :  3	||||||||||||||||||
+	             5 : 0.125 : 0.625 :  2	||||||||||||
+	             7 : 0.250 : 0.875 :  4	|||||||||||||||||||||||||
+	             8 : 0.062 : 0.938 :  1	||||||
+	            11 : 0.062 : 1.000 :  1	||||||
+
+./:: info: Overall metrics for 'std.code.lines:comments' metric
+	Average        : 0.625
+	Minimum        : 0
+	Maximum        : 3
+	Total          : 10.0
+	Distribution   : 16 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.625 : 0.625 : 10	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.188 : 0.812 :  3	||||||||||||||||||
+	             2 : 0.125 : 0.938 :  2	||||||||||||
+	             3 : 0.062 : 1.000 :  1	||||||
+
+./:: info: Overall metrics for 'std.code.lines:preprocessor' metric
+	Average        : 0.0625
+	Minimum        : 0
+	Maximum        : 1
+	Total          : 1.0
+	Distribution   : 16 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.938 : 0.938 : 15	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.062 : 1.000 :  1	||||||
+
+./:: info: Overall metrics for 'std.code.lines:total' metric
+	Average        : 5.4375
+	Minimum        : 0
+	Maximum        : 12
+	Total          : 87.0
+	Distribution   : 16 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.125 : 0.125 :  2	||||||||||||
+	             3 : 0.188 : 0.312 :  3	||||||||||||||||||
+	             4 : 0.062 : 0.375 :  1	||||||
+	             5 : 0.125 : 0.500 :  2	||||||||||||
+	             6 : 0.062 : 0.562 :  1	||||||
+	             7 : 0.188 : 0.750 :  3	||||||||||||||||||
+	             8 : 0.125 : 0.875 :  2	||||||||||||
+	             9 : 0.062 : 0.938 :  1	||||||
+	            12 : 0.062 : 1.000 :  1	||||||
+
+./:: info: Directory content:
+	File           : file_deleted_in_new_sources.cpp
+	File           : simple.cpp
+
+

+ 157 - 157
tests/general/test_basic/test_std_member_metrics_view_nest_per_file_stdout.gold.txt

@@ -1,157 +1,157 @@
-./simple.cpp:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-697
-	Line numbers   : 1-71
-	Modified       : None
-	std.code.member:namespaces: 1
-
-.   ./simple.cpp:4: info: Metrics per 'hmm' region
-    	Region name    : hmm
-    	Region type    : namespace
-    	Offsets        : 2-696
-    	Line numbers   : 3-70
-    	Modified       : None
-    	std.code.member:classes: 1
-    	std.code.member:types: 1
-
-.   .   ./simple.cpp:9: info: Metrics per 'A' region
-        	Region name    : A
-        	Region type    : class
-        	Offsets        : 94-692
-        	Line numbers   : 9-68
-        	Modified       : None
-        	std.code.member:methods: 4
-
-.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
-            	Region name    : A
-            	Region type    : function
-            	Offsets        : 106-252
-            	Line numbers   : 12-23
-            	Modified       : None
-
-.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
-            	Region name    : func
-            	Region type    : function
-            	Offsets        : 256-405
-            	Line numbers   : 26-40
-            	Modified       : None
-            	std.code.member:classes: 1
-            	std.code.member:types: 1
-
-.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 285-391
-                	Line numbers   : 28-38
-                	Modified       : None
-                	std.code.member:methods: 1
-
-.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 306-387
-                    	Line numbers   : 30-37
-                    	Modified       : None
-
-.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
-            	Region name    : func_to_be_removed_in_new_sources
-            	Region type    : function
-            	Offsets        : 408-596
-            	Line numbers   : 42-56
-            	Modified       : None
-            	std.code.member:classes: 1
-            	std.code.member:types: 1
-
-.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
-                	Region name    : embeded
-                	Region type    : class
-                	Offsets        : 466-577
-                	Line numbers   : 44-54
-                	Modified       : None
-                	std.code.member:methods: 1
-
-.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
-                    	Region name    : embeded
-                    	Region type    : function
-                    	Offsets        : 487-573
-                    	Line numbers   : 46-53
-                    	Modified       : None
-
-.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
-            	Region name    : never
-            	Region type    : function
-            	Offsets        : 599-669
-            	Line numbers   : 58-65
-            	Modified       : None
-
-./simple.cpp:: info: Overall metrics for 'std.code.member:methods' metric
-	Average        : 2.0 (excluding zero metric values)
-	Minimum        : 1
-	Maximum        : 4
-	Total          : 6.0
-	Distribution   : 3 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 0.667 : 0.667 : 2	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             4 : 0.333 : 1.000 : 1	|||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.member:globals' metric
-	Average        : None (excluding zero metric values)
-	Minimum        : None
-	Maximum        : None
-	Total          : 0.0
-	Distribution   : 0 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-
-./simple.cpp:: info: Overall metrics for 'std.code.member:fields' metric
-	Average        : None (excluding zero metric values)
-	Minimum        : None
-	Maximum        : None
-	Total          : 0.0
-	Distribution   : 0 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-
-./simple.cpp:: info: Overall metrics for 'std.code.member:interfaces' metric
-	Average        : None (excluding zero metric values)
-	Minimum        : None
-	Maximum        : None
-	Total          : 0.0
-	Distribution   : 0 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-
-./simple.cpp:: info: Overall metrics for 'std.code.member:classes' metric
-	Average        : 1.0 (excluding zero metric values)
-	Minimum        : 1
-	Maximum        : 1
-	Total          : 3.0
-	Distribution   : 3 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 3	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.member:namespaces' metric
-	Average        : 1.0 (excluding zero metric values)
-	Minimum        : 1
-	Maximum        : 1
-	Total          : 1.0
-	Distribution   : 1 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.member:structs' metric
-	Average        : None (excluding zero metric values)
-	Minimum        : None
-	Maximum        : None
-	Total          : 0.0
-	Distribution   : 0 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-
-./simple.cpp:: info: Overall metrics for 'std.code.member:types' metric
-	Average        : 1.0 (excluding zero metric values)
-	Minimum        : 1
-	Maximum        : 1
-	Total          : 3.0
-	Distribution   : 3 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 3	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-
+./simple.cpp:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-697
+	Line numbers   : 1-71
+	Modified       : None
+	std.code.member:namespaces: 1
+
+.   ./simple.cpp:4: info: Metrics per 'hmm' region
+    	Region name    : hmm
+    	Region type    : namespace
+    	Offsets        : 2-696
+    	Line numbers   : 3-70
+    	Modified       : None
+    	std.code.member:classes: 1
+    	std.code.member:types: 1
+
+.   .   ./simple.cpp:9: info: Metrics per 'A' region
+        	Region name    : A
+        	Region type    : class
+        	Offsets        : 94-692
+        	Line numbers   : 9-68
+        	Modified       : None
+        	std.code.member:methods: 4
+
+.   .   .   ./simple.cpp:12: info: Metrics per 'A' region
+            	Region name    : A
+            	Region type    : function
+            	Offsets        : 106-252
+            	Line numbers   : 12-23
+            	Modified       : None
+
+.   .   .   ./simple.cpp:26: info: Metrics per 'func' region
+            	Region name    : func
+            	Region type    : function
+            	Offsets        : 256-405
+            	Line numbers   : 26-40
+            	Modified       : None
+            	std.code.member:classes: 1
+            	std.code.member:types: 1
+
+.   .   .   .   ./simple.cpp:28: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 285-391
+                	Line numbers   : 28-38
+                	Modified       : None
+                	std.code.member:methods: 1
+
+.   .   .   .   .   ./simple.cpp:30: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 306-387
+                    	Line numbers   : 30-37
+                    	Modified       : None
+
+.   .   .   ./simple.cpp:42: info: Metrics per 'func_to_be_removed_in_new_sources' region
+            	Region name    : func_to_be_removed_in_new_sources
+            	Region type    : function
+            	Offsets        : 408-596
+            	Line numbers   : 42-56
+            	Modified       : None
+            	std.code.member:classes: 1
+            	std.code.member:types: 1
+
+.   .   .   .   ./simple.cpp:44: info: Metrics per 'embeded' region
+                	Region name    : embeded
+                	Region type    : class
+                	Offsets        : 466-577
+                	Line numbers   : 44-54
+                	Modified       : None
+                	std.code.member:methods: 1
+
+.   .   .   .   .   ./simple.cpp:46: info: Metrics per 'embeded' region
+                    	Region name    : embeded
+                    	Region type    : function
+                    	Offsets        : 487-573
+                    	Line numbers   : 46-53
+                    	Modified       : None
+
+.   .   .   ./simple.cpp:58: info: Metrics per 'never' region
+            	Region name    : never
+            	Region type    : function
+            	Offsets        : 599-669
+            	Line numbers   : 58-65
+            	Modified       : None
+
+./simple.cpp:: info: Overall metrics for 'std.code.member:classes' metric
+	Average        : 1.0 (excluding zero metric values)
+	Minimum        : 1
+	Maximum        : 1
+	Total          : 3.0
+	Distribution   : 3 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 3	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.member:fields' metric
+	Average        : None (excluding zero metric values)
+	Minimum        : None
+	Maximum        : None
+	Total          : 0.0
+	Distribution   : 0 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+
+./simple.cpp:: info: Overall metrics for 'std.code.member:globals' metric
+	Average        : None (excluding zero metric values)
+	Minimum        : None
+	Maximum        : None
+	Total          : 0.0
+	Distribution   : 0 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+
+./simple.cpp:: info: Overall metrics for 'std.code.member:interfaces' metric
+	Average        : None (excluding zero metric values)
+	Minimum        : None
+	Maximum        : None
+	Total          : 0.0
+	Distribution   : 0 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+
+./simple.cpp:: info: Overall metrics for 'std.code.member:methods' metric
+	Average        : 2.0 (excluding zero metric values)
+	Minimum        : 1
+	Maximum        : 4
+	Total          : 6.0
+	Distribution   : 3 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 0.667 : 0.667 : 2	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             4 : 0.333 : 1.000 : 1	|||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.member:namespaces' metric
+	Average        : 1.0 (excluding zero metric values)
+	Minimum        : 1
+	Maximum        : 1
+	Total          : 1.0
+	Distribution   : 1 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.member:structs' metric
+	Average        : None (excluding zero metric values)
+	Minimum        : None
+	Maximum        : None
+	Total          : 0.0
+	Distribution   : 0 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+
+./simple.cpp:: info: Overall metrics for 'std.code.member:types' metric
+	Average        : 1.0 (excluding zero metric values)
+	Minimum        : 1
+	Maximum        : 1
+	Total          : 3.0
+	Distribution   : 3 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 3	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+

+ 74 - 74
tests/general/test_basic/test_std_member_metrics_view_txt_stdout.gold.txt

@@ -1,74 +1,74 @@
-./:: info: Overall metrics for 'std.code.member:methods' metric
-	Average        : 1.6 (excluding zero metric values)
-	Minimum        : 1
-	Maximum        : 4
-	Total          : 8.0
-	Distribution   : 5 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 0.800 : 0.800 : 4	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             4 : 0.200 : 1.000 : 1	||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.code.member:globals' metric
-	Average        : None (excluding zero metric values)
-	Minimum        : None
-	Maximum        : None
-	Total          : 0.0
-	Distribution   : 0 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-
-./:: info: Overall metrics for 'std.code.member:fields' metric
-	Average        : None (excluding zero metric values)
-	Minimum        : None
-	Maximum        : None
-	Total          : 0.0
-	Distribution   : 0 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-
-./:: info: Overall metrics for 'std.code.member:interfaces' metric
-	Average        : None (excluding zero metric values)
-	Minimum        : None
-	Maximum        : None
-	Total          : 0.0
-	Distribution   : 0 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-
-./:: info: Overall metrics for 'std.code.member:classes' metric
-	Average        : 1.0 (excluding zero metric values)
-	Minimum        : 1
-	Maximum        : 1
-	Total          : 4.0
-	Distribution   : 4 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 4	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.code.member:namespaces' metric
-	Average        : 1.0 (excluding zero metric values)
-	Minimum        : 1
-	Maximum        : 1
-	Total          : 2.0
-	Distribution   : 2 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 2	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.code.member:structs' metric
-	Average        : None (excluding zero metric values)
-	Minimum        : None
-	Maximum        : None
-	Total          : 0.0
-	Distribution   : 0 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-
-./:: info: Overall metrics for 'std.code.member:types' metric
-	Average        : 1.0 (excluding zero metric values)
-	Minimum        : 1
-	Maximum        : 1
-	Total          : 4.0
-	Distribution   : 4 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 4	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Directory content:
-	File           : file_deleted_in_new_sources.cpp
-	File           : simple.cpp
-
-
+./:: info: Overall metrics for 'std.code.member:classes' metric
+	Average        : 1.0 (excluding zero metric values)
+	Minimum        : 1
+	Maximum        : 1
+	Total          : 4.0
+	Distribution   : 4 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 4	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.code.member:fields' metric
+	Average        : None (excluding zero metric values)
+	Minimum        : None
+	Maximum        : None
+	Total          : 0.0
+	Distribution   : 0 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+
+./:: info: Overall metrics for 'std.code.member:globals' metric
+	Average        : None (excluding zero metric values)
+	Minimum        : None
+	Maximum        : None
+	Total          : 0.0
+	Distribution   : 0 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+
+./:: info: Overall metrics for 'std.code.member:interfaces' metric
+	Average        : None (excluding zero metric values)
+	Minimum        : None
+	Maximum        : None
+	Total          : 0.0
+	Distribution   : 0 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+
+./:: info: Overall metrics for 'std.code.member:methods' metric
+	Average        : 1.6 (excluding zero metric values)
+	Minimum        : 1
+	Maximum        : 4
+	Total          : 8.0
+	Distribution   : 5 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 0.800 : 0.800 : 4	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             4 : 0.200 : 1.000 : 1	||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.code.member:namespaces' metric
+	Average        : 1.0 (excluding zero metric values)
+	Minimum        : 1
+	Maximum        : 1
+	Total          : 2.0
+	Distribution   : 2 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 2	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.code.member:structs' metric
+	Average        : None (excluding zero metric values)
+	Minimum        : None
+	Maximum        : None
+	Total          : 0.0
+	Distribution   : 0 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+
+./:: info: Overall metrics for 'std.code.member:types' metric
+	Average        : 1.0 (excluding zero metric values)
+	Minimum        : 1
+	Maximum        : 1
+	Total          : 4.0
+	Distribution   : 4 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 4	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Directory content:
+	File           : file_deleted_in_new_sources.cpp
+	File           : simple.cpp
+
+

+ 115 - 115
tests/general/test_basic/test_view_format_view_nest_per_file_stdout.gold.txt

@@ -1,115 +1,115 @@
-<view>
-
-    <data>
-        <info id="1" path="./simple.cpp" />
-        <file-data>
-            <regions>
-                <region>
-                    <info cursor="0" line_begin="1" line_end="78" modified="False" name="__global__" offset_begin="0" offset_end="836" type="global" />
-                    <data />
-                    <subregions>
-                        <subregion>
-                            <info cursor="4" line_begin="3" line_end="77" modified="True" name="hmm" offset_begin="2" offset_end="835" type="namespace" />
-                            <data />
-                            <subregions>
-                                <subregion>
-                                    <info cursor="10" line_begin="10" line_end="75" modified="True" name="A" offset_begin="111" offset_end="831" type="class" />
-                                    <data />
-                                    <subregions>
-                                        <subregion>
-                                            <info cursor="13" line_begin="13" line_end="24" modified="False" name="A" offset_begin="123" offset_end="269" type="function" />
-                                            <data>
-                                                <std.code.complexity cyclomatic="3">
-                                                    <__diff__ cyclomatic="0" />
-                                                </std.code.complexity>
-                                            </data>
-                                            <subregions>
-                                            </subregions>
-                                        </subregion>
-                                        <subregion>
-                                            <info cursor="26" line_begin="26" line_end="42" modified="False" name="func" offset_begin="272" offset_end="455" type="function" />
-                                            <data>
-                                                <std.code.complexity cyclomatic="1">
-                                                    <__diff__ cyclomatic="0" />
-                                                </std.code.complexity>
-                                            </data>
-                                            <subregions>
-                                                <subregion>
-                                                    <info cursor="28" line_begin="28" line_end="40" modified="False" name="embeded" offset_begin="301" offset_end="441" type="class" />
-                                                    <data />
-                                                    <subregions>
-                                                        <subregion>
-                                                            <info cursor="30" line_begin="30" line_end="39" modified="True" name="embeded" offset_begin="322" offset_end="437" type="function" />
-                                                            <data>
-                                                                <std.code.complexity cyclomatic="2">
-                                                                    <__diff__ cyclomatic="1" />
-                                                                </std.code.complexity>
-                                                            </data>
-                                                            <subregions>
-                                                            </subregions>
-                                                        </subregion>
-                                                    </subregions>
-                                                </subregion>
-                                            </subregions>
-                                        </subregion>
-                                        <subregion>
-                                            <info cursor="44" line_begin="44" line_end="51" modified="True" name="never" offset_begin="458" offset_end="549" type="function" />
-                                            <data>
-                                                <std.code.complexity cyclomatic="1">
-                                                    <__diff__ cyclomatic="0" />
-                                                </std.code.complexity>
-                                            </data>
-                                            <subregions>
-                                            </subregions>
-                                        </subregion>
-                                        <subregion>
-                                            <info cursor="53" line_begin="53" line_end="56" modified="None" name="new_func" offset_begin="552" offset_end="585" type="function" />
-                                            <data>
-                                                <std.code.complexity cyclomatic="0" />
-                                            </data>
-                                            <subregions>
-                                            </subregions>
-                                        </subregion>
-                                        <subregion>
-                                            <info cursor="58" line_begin="58" line_end="62" modified="None" name="new_func_complex" offset_begin="588" offset_end="646" type="function" />
-                                            <data>
-                                                <std.code.complexity cyclomatic="1" />
-                                            </data>
-                                            <subregions>
-                                            </subregions>
-                                        </subregion>
-                                        <subregion>
-                                            <info cursor="65" line_begin="64" line_end="72" modified="None" name="new_func_complex_but_suppressed" offset_begin="649" offset_end="808" type="function" />
-                                            <data>
-                                                <std.code.complexity cyclomatic="2" />
-                                            </data>
-                                            <subregions>
-                                            </subregions>
-                                        </subregion>
-                                    </subregions>
-                                </subregion>
-                            </subregions>
-                        </subregion>
-                    </subregions>
-                </region>
-            </regions>
-        </file-data>
-        <subfiles>
-        </subfiles>
-        <subdirs>
-        </subdirs>
-        <aggregated-data>
-            <std.code.complexity>
-                <cyclomatic avg="1.42857142857" count="7" max="3" min="0" nonzero="False" sup="0" total="10.0">
-                    <__diff__ avg="-0.0714285714286" count="1" max="0" min="-1" nonzero="0" sup="0" total="1.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="1" count="1" metric="0" ratio="0.142857142857" />
-                        <distribution-bar __diff__="-1" count="3" metric="1" ratio="0.428571428571" />
-                        <distribution-bar __diff__="1" count="2" metric="2" ratio="0.285714285714" />
-                        <distribution-bar __diff__="0" count="1" metric="3" ratio="0.142857142857" />
-                    </distribution-bars>
-                </cyclomatic>
-            </std.code.complexity>
-        </aggregated-data>
-    </data>
-</view>
+<view>
+
+    <data>
+        <aggregated-data>
+            <std.code.complexity>
+                <cyclomatic avg="1.42857143" count="7" max="3" min="0" nonzero="False" sup="0" total="10.0">
+                    <__diff__ avg="-0.07142857" count="1" max="0" min="-1" nonzero="0" sup="0" total="1.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="1" count="1" metric="0" ratio="0.14285714" />
+                        <distribution-bar __diff__="-1" count="3" metric="1" ratio="0.42857143" />
+                        <distribution-bar __diff__="1" count="2" metric="2" ratio="0.28571429" />
+                        <distribution-bar __diff__="0" count="1" metric="3" ratio="0.14285714" />
+                    </distribution-bars>
+                </cyclomatic>
+            </std.code.complexity>
+        </aggregated-data>
+        <file-data>
+            <regions>
+                <region>
+                    <data />
+                    <info cursor="0" line_begin="1" line_end="78" modified="False" name="__global__" offset_begin="0" offset_end="836" type="global" />
+                    <subregions>
+                        <subregion>
+                            <data />
+                            <info cursor="4" line_begin="3" line_end="77" modified="True" name="hmm" offset_begin="2" offset_end="835" type="namespace" />
+                            <subregions>
+                                <subregion>
+                                    <data />
+                                    <info cursor="10" line_begin="10" line_end="75" modified="True" name="A" offset_begin="111" offset_end="831" type="class" />
+                                    <subregions>
+                                        <subregion>
+                                            <data>
+                                                <std.code.complexity cyclomatic="3">
+                                                    <__diff__ cyclomatic="0" />
+                                                </std.code.complexity>
+                                            </data>
+                                            <info cursor="13" line_begin="13" line_end="24" modified="False" name="A" offset_begin="123" offset_end="269" type="function" />
+                                            <subregions>
+                                            </subregions>
+                                        </subregion>
+                                        <subregion>
+                                            <data>
+                                                <std.code.complexity cyclomatic="1">
+                                                    <__diff__ cyclomatic="0" />
+                                                </std.code.complexity>
+                                            </data>
+                                            <info cursor="26" line_begin="26" line_end="42" modified="False" name="func" offset_begin="272" offset_end="455" type="function" />
+                                            <subregions>
+                                                <subregion>
+                                                    <data />
+                                                    <info cursor="28" line_begin="28" line_end="40" modified="False" name="embeded" offset_begin="301" offset_end="441" type="class" />
+                                                    <subregions>
+                                                        <subregion>
+                                                            <data>
+                                                                <std.code.complexity cyclomatic="2">
+                                                                    <__diff__ cyclomatic="1" />
+                                                                </std.code.complexity>
+                                                            </data>
+                                                            <info cursor="30" line_begin="30" line_end="39" modified="True" name="embeded" offset_begin="322" offset_end="437" type="function" />
+                                                            <subregions>
+                                                            </subregions>
+                                                        </subregion>
+                                                    </subregions>
+                                                </subregion>
+                                            </subregions>
+                                        </subregion>
+                                        <subregion>
+                                            <data>
+                                                <std.code.complexity cyclomatic="1">
+                                                    <__diff__ cyclomatic="0" />
+                                                </std.code.complexity>
+                                            </data>
+                                            <info cursor="44" line_begin="44" line_end="51" modified="True" name="never" offset_begin="458" offset_end="549" type="function" />
+                                            <subregions>
+                                            </subregions>
+                                        </subregion>
+                                        <subregion>
+                                            <data>
+                                                <std.code.complexity cyclomatic="0" />
+                                            </data>
+                                            <info cursor="53" line_begin="53" line_end="56" modified="None" name="new_func" offset_begin="552" offset_end="585" type="function" />
+                                            <subregions>
+                                            </subregions>
+                                        </subregion>
+                                        <subregion>
+                                            <data>
+                                                <std.code.complexity cyclomatic="1" />
+                                            </data>
+                                            <info cursor="58" line_begin="58" line_end="62" modified="None" name="new_func_complex" offset_begin="588" offset_end="646" type="function" />
+                                            <subregions>
+                                            </subregions>
+                                        </subregion>
+                                        <subregion>
+                                            <data>
+                                                <std.code.complexity cyclomatic="2" />
+                                            </data>
+                                            <info cursor="65" line_begin="64" line_end="72" modified="None" name="new_func_complex_but_suppressed" offset_begin="649" offset_end="808" type="function" />
+                                            <subregions>
+                                            </subregions>
+                                        </subregion>
+                                    </subregions>
+                                </subregion>
+                            </subregions>
+                        </subregion>
+                    </subregions>
+                </region>
+            </regions>
+        </file-data>
+        <info id="1" path="./simple.cpp" />
+        <subdirs>
+        </subdirs>
+        <subfiles>
+        </subfiles>
+    </data>
+</view>

+ 27 - 27
tests/general/test_basic/test_view_format_view_nest_stdout.gold.txt

@@ -1,27 +1,27 @@
-<view>
-
-    <data>
-        <info id="1" path="./" />
-        <file-data />
-        <subfiles>
-            <subfile>file_deleted_in_new_sources.cpp</subfile>
-            <subfile>simple2.cpp</subfile>
-            <subfile>simple.cpp</subfile>
-        </subfiles>
-        <subdirs>
-        </subdirs>
-        <aggregated-data>
-            <std.code.complexity>
-                <cyclomatic avg="1.625" count="8" max="3" min="0" nonzero="False" sup="0" total="13.0">
-                    <__diff__ avg="0.25" count="0" max="0" min="-1" nonzero="0" sup="0" total="2.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="1" count="1" metric="0" ratio="0.125" />
-                        <distribution-bar __diff__="-3" count="3" metric="1" ratio="0.375" />
-                        <distribution-bar __diff__="1" count="2" metric="2" ratio="0.25" />
-                        <distribution-bar __diff__="1" count="2" metric="3" ratio="0.25" />
-                    </distribution-bars>
-                </cyclomatic>
-            </std.code.complexity>
-        </aggregated-data>
-    </data>
-</view>
+<view>
+
+    <data>
+        <aggregated-data>
+            <std.code.complexity>
+                <cyclomatic avg="1.625" count="8" max="3" min="0" nonzero="False" sup="0" total="13.0">
+                    <__diff__ avg="0.25" count="0" max="0" min="-1" nonzero="0" sup="0" total="2.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="1" count="1" metric="0" ratio="0.125" />
+                        <distribution-bar __diff__="-3" count="3" metric="1" ratio="0.375" />
+                        <distribution-bar __diff__="1" count="2" metric="2" ratio="0.25" />
+                        <distribution-bar __diff__="1" count="2" metric="3" ratio="0.25" />
+                    </distribution-bars>
+                </cyclomatic>
+            </std.code.complexity>
+        </aggregated-data>
+        <file-data />
+        <info id="1" path="./" />
+        <subdirs>
+        </subdirs>
+        <subfiles>
+            <subfile>file_deleted_in_new_sources.cpp</subfile>
+            <subfile>simple.cpp</subfile>
+            <subfile>simple2.cpp</subfile>
+        </subfiles>
+    </data>
+</view>

+ 1 - 1
tests/general/test_basic/test_view_format_view_python_stdout.gold.txt

@@ -1 +1 @@
-{'view': [{'data': {'info': {'path': './', 'id': 1}, 'file-data': {}, 'subfiles': [u'file_deleted_in_new_sources.cpp', u'simple.cpp'], 'subdirs': [], 'aggregated-data': {'std.code.complexity': {'cyclomatic': {'nonzero': False, 'count': 8, 'avg': 1.375, 'min': 1, 'max': 3, 'distribution-bars': [{'count': 6, 'ratio': 0.75, 'metric': '1'}, {'count': 1, 'ratio': 0.125, 'metric': '2'}, {'count': 1, 'ratio': 0.125, 'metric': '3'}], 'sup': 0, 'total': 11.0}}}}}]}
+{'view': [{'data': {'info': {'path': './', 'id': 1}, 'aggregated-data': {'std.code.complexity': {'cyclomatic': {'max': 3, 'min': 1, 'avg': 1.375, 'total': 11.0, 'count': 8, 'nonzero': False, 'distribution-bars': [{'count': 6, 'ratio': 0.75, 'metric': '1'}, {'count': 1, 'ratio': 0.125, 'metric': '2'}, {'count': 1, 'ratio': 0.125, 'metric': '3'}], 'sup': 0}}}, 'file-data': {}, 'subdirs': [], 'subfiles': ['file_deleted_in_new_sources.cpp', 'simple.cpp']}}]}

+ 16 - 16
tests/general/test_basic/test_view_format_view_txt_stdout.gold.txt

@@ -1,16 +1,16 @@
-./:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 1.375
-	Minimum        : 1
-	Maximum        : 3
-	Total          : 11.0
-	Distribution   : 8 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 0.750 : 0.750 : 6	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.125 : 0.875 : 1	|||||||||||||
-	             3 : 0.125 : 1.000 : 1	|||||||||||||
-
-./:: info: Directory content:
-	File           : file_deleted_in_new_sources.cpp
-	File           : simple.cpp
-
-
+./:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
+	Average        : 1.375
+	Minimum        : 1
+	Maximum        : 3
+	Total          : 11.0
+	Distribution   : 8 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 0.750 : 0.750 : 6	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             2 : 0.125 : 0.875 : 1	||||||||||||
+	             3 : 0.125 : 1.000 : 1	||||||||||||
+
+./:: info: Directory content:
+	File           : file_deleted_in_new_sources.cpp
+	File           : simple.cpp
+
+

+ 24 - 24
tests/general/test_basic/test_view_format_view_xml_stdout.gold.txt

@@ -1,24 +1,24 @@
-<view>
-
-    <data>
-        <info id="1" path="./" />
-        <file-data />
-        <subfiles>
-            <subfile>file_deleted_in_new_sources.cpp</subfile>
-            <subfile>simple.cpp</subfile>
-        </subfiles>
-        <subdirs>
-        </subdirs>
-        <aggregated-data>
-            <std.code.complexity>
-                <cyclomatic avg="1.375" count="8" max="3" min="1" nonzero="False" sup="0" total="11.0">
-                    <distribution-bars>
-                        <distribution-bar count="6" metric="1" ratio="0.75" />
-                        <distribution-bar count="1" metric="2" ratio="0.125" />
-                        <distribution-bar count="1" metric="3" ratio="0.125" />
-                    </distribution-bars>
-                </cyclomatic>
-            </std.code.complexity>
-        </aggregated-data>
-    </data>
-</view>
+<view>
+
+    <data>
+        <aggregated-data>
+            <std.code.complexity>
+                <cyclomatic avg="1.375" count="8" max="3" min="1" nonzero="False" sup="0" total="11.0">
+                    <distribution-bars>
+                        <distribution-bar count="6" metric="1" ratio="0.75" />
+                        <distribution-bar count="1" metric="2" ratio="0.125" />
+                        <distribution-bar count="1" metric="3" ratio="0.125" />
+                    </distribution-bars>
+                </cyclomatic>
+            </std.code.complexity>
+        </aggregated-data>
+        <file-data />
+        <info id="1" path="./" />
+        <subdirs>
+        </subdirs>
+        <subfiles>
+            <subfile>file_deleted_in_new_sources.cpp</subfile>
+            <subfile>simple.cpp</subfile>
+        </subfiles>
+    </data>
+</view>

+ 6 - 6
tests/general/test_basic/test_workflow_collect_default_stderr.gold.txt

@@ -1,6 +1,6 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Excluding: ./.unused.cpp
-[LOG]: INFO:	Skipping: ./dummy.txt
-[LOG]: INFO:	Processing: ./file_deleted_in_new_sources.cpp
-[LOG]: INFO:	Processing: ./simple.cpp
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Excluding: ./.unused.cpp
+[LOG]: INFO:	Skipping: ./dummy.txt
+[LOG]: INFO:	Processing: ./file_deleted_in_new_sources.cpp
+[LOG]: INFO:	Processing: ./simple.cpp
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 5 - 5
tests/general/test_basic/test_workflow_collect_second_stderr.gold.txt

@@ -1,5 +1,5 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Excluding: ./.unused.cpp
-[LOG]: INFO:	Processing: ./simple.cpp
-[LOG]: INFO:	Processing: ./simple2.cpp
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Excluding: ./.unused.cpp
+[LOG]: INFO:	Processing: ./simple.cpp
+[LOG]: INFO:	Processing: ./simple2.cpp
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 3 - 3
tests/general/test_basic/test_workflow_export_default_stderr.gold.txt

@@ -1,3 +1,3 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 19 - 19
tests/general/test_basic/test_workflow_export_default_stdout.gold.txt

@@ -1,19 +1,19 @@
-file,region,type,modified,line start,line end,std.code.complexity:cyclomatic,std.suppress.file:count,std.suppress.file:list,std.suppress:count,std.suppress:list,std.code.lines:code,std.code.lines:total,std.code.lines:preprocessor,std.code.lines:comments
-./file_deleted_in_new_sources.cpp,__global__,global,,1,34,,,,,,0,0,0,0
-./file_deleted_in_new_sources.cpp,hmm,namespace,,3,24,,,,,,4,7,0,3
-./file_deleted_in_new_sources.cpp,B,class,,9,22,,,,,,3,3,0,0
-./file_deleted_in_new_sources.cpp,B,function,,12,20,1,,,,,8,9,0,2
-./file_deleted_in_new_sources.cpp,never_old,function,,26,33,1,,,,,7,7,0,0
-./file_deleted_in_new_sources.cpp,,file,,1,34,,,,,,,,,
-./simple.cpp,__global__,global,,1,71,,,,,,0,0,0,0
-./simple.cpp,hmm,namespace,,3,70,,,,,,4,6,1,1
-./simple.cpp,A,class,,9,68,,,,,,4,4,0,0
-./simple.cpp,A,function,,12,23,3,,,,,11,12,0,2
-./simple.cpp,func,function,,26,40,1,,,,,5,5,0,0
-./simple.cpp,embeded,class,,28,38,,,,,,3,3,0,0
-./simple.cpp,embeded,function,,30,37,1,,,,,7,8,0,1
-./simple.cpp,func_to_be_removed_in_new_sources,function,,42,56,2,,,,,5,5,0,0
-./simple.cpp,embeded,class,,44,54,,,,,,3,3,0,0
-./simple.cpp,embeded,function,,46,53,1,,,,,7,8,0,1
-./simple.cpp,never,function,,58,65,1,,,,,7,7,0,0
-./simple.cpp,,file,,1,71,,,,,,,,,
+file,region,type,modified,line start,line end,std.code.complexity:cyclomatic,std.code.lines:code,std.code.lines:comments,std.code.lines:preprocessor,std.code.lines:total,std.suppress:count,std.suppress:list,std.suppress.file:count,std.suppress.file:list
+./file_deleted_in_new_sources.cpp,__global__,global,,1,34,,0,0,0,0,,,,
+./file_deleted_in_new_sources.cpp,hmm,namespace,,3,24,,4,3,0,7,,,,
+./file_deleted_in_new_sources.cpp,B,class,,9,22,,3,0,0,3,,,,
+./file_deleted_in_new_sources.cpp,B,function,,12,20,1,8,2,0,9,,,,
+./file_deleted_in_new_sources.cpp,never_old,function,,26,33,1,7,0,0,7,,,,
+./file_deleted_in_new_sources.cpp,,file,,1,34,,,,,,,,,
+./simple.cpp,__global__,global,,1,71,,0,0,0,0,,,,
+./simple.cpp,hmm,namespace,,3,70,,4,1,1,6,,,,
+./simple.cpp,A,class,,9,68,,4,0,0,4,,,,
+./simple.cpp,A,function,,12,23,3,11,2,0,12,,,,
+./simple.cpp,func,function,,26,40,1,5,0,0,5,,,,
+./simple.cpp,embeded,class,,28,38,,3,0,0,3,,,,
+./simple.cpp,embeded,function,,30,37,1,7,1,0,8,,,,
+./simple.cpp,func_to_be_removed_in_new_sources,function,,42,56,2,5,0,0,5,,,,
+./simple.cpp,embeded,class,,44,54,,3,0,0,3,,,,
+./simple.cpp,embeded,function,,46,53,1,7,1,0,8,,,,
+./simple.cpp,never,function,,58,65,1,7,0,0,7,,,,
+./simple.cpp,,file,,1,71,,,,,,,,,

+ 3 - 3
tests/general/test_basic/test_workflow_export_second_stderr.gold.txt

@@ -1,3 +1,3 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 18 - 18
tests/general/test_basic/test_workflow_export_second_stdout.gold.txt

@@ -1,18 +1,18 @@
-file,region,type,modified,line start,line end,std.code.complexity:cyclomatic,std.suppress.file:count,std.suppress.file:list,std.suppress:count,std.suppress:list,std.code.lines:code,std.code.lines:total,std.code.lines:preprocessor,std.code.lines:comments
-./simple.cpp,__global__,global,False,1,78,,,,,,0,0,0,0
-./simple.cpp,hmm,namespace,True,3,77,,,,,,4,7,2,1
-./simple.cpp,A,class,True,10,75,,,,,,4,4,0,0
-./simple.cpp,A,function,False,13,24,3,,,,,11,12,0,2
-./simple.cpp,func,function,False,26,42,1,,,,,5,5,0,0
-./simple.cpp,embeded,class,False,28,40,,,,,,3,3,0,0
-./simple.cpp,embeded,function,True,30,39,2,,,,,8,9,0,2
-./simple.cpp,never,function,True,44,51,1,,,,,7,7,0,1
-./simple.cpp,new_func,function,,53,56,0,,,,,3,4,0,1
-./simple.cpp,new_func_complex,function,,58,62,1,,,,,5,5,0,0
-./simple.cpp,new_func_complex_but_suppressed,function,,64,72,2,,,1,[std.code.complexity:cyclomatic],8,9,0,1
-./simple.cpp,,file,True,1,78,,,,,,,,,
-./simple2.cpp,__global__,global,,1,26,,,,,,0,0,0,0
-./simple2.cpp,hmm,namespace,,3,25,,,,,,4,5,0,1
-./simple2.cpp,New_A,class,,7,23,,,,,,3,3,0,0
-./simple2.cpp,New_A,function,,10,21,3,,,,,10,12,0,2
-./simple2.cpp,,file,,1,26,,,,,,,,,
+file,region,type,modified,line start,line end,std.code.complexity:cyclomatic,std.code.lines:code,std.code.lines:comments,std.code.lines:preprocessor,std.code.lines:total,std.suppress:count,std.suppress:list,std.suppress.file:count,std.suppress.file:list
+./simple.cpp,__global__,global,False,1,78,,0,0,0,0,,,,
+./simple.cpp,hmm,namespace,True,3,77,,4,1,2,7,,,,
+./simple.cpp,A,class,True,10,75,,4,0,0,4,,,,
+./simple.cpp,A,function,False,13,24,3,11,2,0,12,,,,
+./simple.cpp,func,function,False,26,42,1,5,0,0,5,,,,
+./simple.cpp,embeded,class,False,28,40,,3,0,0,3,,,,
+./simple.cpp,embeded,function,True,30,39,2,8,2,0,9,,,,
+./simple.cpp,never,function,True,44,51,1,7,1,0,7,,,,
+./simple.cpp,new_func,function,,53,56,0,3,1,0,4,,,,
+./simple.cpp,new_func_complex,function,,58,62,1,5,0,0,5,,,,
+./simple.cpp,new_func_complex_but_suppressed,function,,64,72,2,8,1,0,9,1,[std.code.complexity:cyclomatic],,
+./simple.cpp,,file,True,1,78,,,,,,,,,
+./simple2.cpp,__global__,global,,1,26,,0,0,0,0,,,,
+./simple2.cpp,hmm,namespace,,3,25,,4,1,0,5,,,,
+./simple2.cpp,New_A,class,,7,23,,3,0,0,3,,,,
+./simple2.cpp,New_A,function,,10,21,3,10,2,0,12,,,,
+./simple2.cpp,,file,,1,26,,,,,,,,,

+ 3 - 3
tests/general/test_basic/test_workflow_info_default_stderr.gold.txt

@@ -1,3 +1,3 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 31 - 31
tests/general/test_basic/test_workflow_info_default_stdout.gold.txt

@@ -1,31 +1,31 @@
-test_workflow.db:: info: Created using plugins and settings:
-	version        : 1.0
-	std.code.complexity:version: 1.1
-	std.code.cpp:version: 1.1
-	std.code.cpp:files: *.c,*.cc,*.cpp,*.cxx,*.h,*.hh,*.hpp,*.hxx
-	std.code.cs:version: 1.0
-	std.code.cs:files: *.cs
-	std.code.java:version: 1.1
-	std.code.java:files: *.java
-	std.code.lines:version: 1.1
-	std.code.magic:version: 1.2
-	std.code.magic:number.simplier: False
-	std.code.todo:version: 1.0
-	std.code.todo:tags: FIXME,FixMe,HACK,TBD,TODO,ToDo,XXX
-	std.suppress:version: 1.0
-
-test_workflow.db:: info: Collected metrics:
-	std.code.complexity:cyclomatic: 
-	std.code.lines:code: 
-	std.code.lines:comments: 
-	std.code.lines:preprocessor: 
-	std.code.lines:total: 
-	std.suppress:count: 
-	std.suppress:list: 
-	std.suppress.file:count: 
-	std.suppress.file:list: 
-
-./:: info: Processed files and checksums:
-	./file_deleted_in_new_sources.cpp: 0xfd51c243
-	./simple.cpp   : 0xcf51202e
-
+test_workflow.db:: info: Created using plugins and settings:
+	version        : 1.0
+	std.code.complexity:version: 1.1
+	std.code.cpp:version: 1.1
+	std.code.cpp:files: *.c,*.cc,*.cpp,*.cxx,*.h,*.hh,*.hpp,*.hxx
+	std.code.cs:version: 1.0
+	std.code.cs:files: *.cs
+	std.code.java:version: 1.1
+	std.code.java:files: *.java
+	std.code.lines:version: 1.1
+	std.code.magic:version: 1.2
+	std.code.magic:number.simplier: False
+	std.code.todo:version: 1.0
+	std.code.todo:tags: FIXME,FixMe,HACK,TBD,TODO,ToDo,XXX
+	std.suppress:version: 1.0
+
+test_workflow.db:: info: Collected metrics:
+	std.code.complexity:cyclomatic: 
+	std.code.lines:code: 
+	std.code.lines:comments: 
+	std.code.lines:preprocessor: 
+	std.code.lines:total: 
+	std.suppress:count: 
+	std.suppress:list: 
+	std.suppress.file:count: 
+	std.suppress.file:list: 
+
+./:: info: Processed files and checksums:
+	./file_deleted_in_new_sources.cpp: 0xfd51c243
+	./simple.cpp   : 0xcf51202e
+

+ 3 - 3
tests/general/test_basic/test_workflow_info_second_stderr.gold.txt

@@ -1,3 +1,3 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 31 - 31
tests/general/test_basic/test_workflow_info_second_stdout.gold.txt

@@ -1,31 +1,31 @@
-test_workflow.db:: info: Created using plugins and settings:
-	version        : 1.0
-	std.code.complexity:version: 1.1
-	std.code.cpp:version: 1.1
-	std.code.cpp:files: *.c,*.cc,*.cpp,*.cxx,*.h,*.hh,*.hpp,*.hxx
-	std.code.cs:version: 1.0
-	std.code.cs:files: *.cs
-	std.code.java:version: 1.1
-	std.code.java:files: *.java
-	std.code.lines:version: 1.1
-	std.code.magic:version: 1.2
-	std.code.magic:number.simplier: False
-	std.code.todo:version: 1.0
-	std.code.todo:tags: FIXME,FixMe,HACK,TBD,TODO,ToDo,XXX
-	std.suppress:version: 1.0
-
-test_workflow.db:: info: Collected metrics:
-	std.code.complexity:cyclomatic: 
-	std.code.lines:code: 
-	std.code.lines:comments: 
-	std.code.lines:preprocessor: 
-	std.code.lines:total: 
-	std.suppress:count: 
-	std.suppress:list: 
-	std.suppress.file:count: 
-	std.suppress.file:list: 
-
-./:: info: Processed files and checksums:
-	./simple.cpp   : 0xa0fb97eb [modified]
-	./simple2.cpp  : 0x44023f81 [new]
-
+test_workflow.db:: info: Created using plugins and settings:
+	version        : 1.0
+	std.code.complexity:version: 1.1
+	std.code.cpp:version: 1.1
+	std.code.cpp:files: *.c,*.cc,*.cpp,*.cxx,*.h,*.hh,*.hpp,*.hxx
+	std.code.cs:version: 1.0
+	std.code.cs:files: *.cs
+	std.code.java:version: 1.1
+	std.code.java:files: *.java
+	std.code.lines:version: 1.1
+	std.code.magic:version: 1.2
+	std.code.magic:number.simplier: False
+	std.code.todo:version: 1.0
+	std.code.todo:tags: FIXME,FixMe,HACK,TBD,TODO,ToDo,XXX
+	std.suppress:version: 1.0
+
+test_workflow.db:: info: Collected metrics:
+	std.code.complexity:cyclomatic: 
+	std.code.lines:code: 
+	std.code.lines:comments: 
+	std.code.lines:preprocessor: 
+	std.code.lines:total: 
+	std.suppress:count: 
+	std.suppress:list: 
+	std.suppress.file:count: 
+	std.suppress.file:list: 
+
+./:: info: Processed files and checksums:
+	./simple.cpp   : 0xa0fb97eb [modified]
+	./simple2.cpp  : 0x44023f81 [new]
+

+ 4 - 4
tests/general/test_basic/test_workflow_limit_default_stderr.gold.txt

@@ -1,4 +1,4 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./
-[LOG]: INFO:	Applying limit: 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-[LOG]: WARNING:	Done (1 seconds). Exit code: 8
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./
+[LOG]: INFO:	Applying limit: 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+[LOG]: WARNING:	Done (1 seconds). Exit code: 8

+ 74 - 74
tests/general/test_basic/test_workflow_limit_default_stdout.gold.txt

@@ -1,74 +1,74 @@
-./file_deleted_in_new_sources.cpp:12: warning: Metric 'std.code.complexity:cyclomatic' for region 'B' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : B
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./file_deleted_in_new_sources.cpp:26: warning: Metric 'std.code.complexity:cyclomatic' for region 'never_old' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : never_old
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:12: warning: Metric 'std.code.complexity:cyclomatic' for region 'A' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : A
-	Metric value   : 3
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:26: warning: Metric 'std.code.complexity:cyclomatic' for region 'func' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : func
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:30: warning: Metric 'std.code.complexity:cyclomatic' for region 'embeded' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : embeded
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:42: warning: Metric 'std.code.complexity:cyclomatic' for region 'func_to_be_removed_in_new_sources' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : func_to_be_removed_in_new_sources
-	Metric value   : 2
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:46: warning: Metric 'std.code.complexity:cyclomatic' for region 'embeded' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : embeded
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:58: warning: Metric 'std.code.complexity:cyclomatic' for region 'never' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : never
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./:: info: 8 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-
+./file_deleted_in_new_sources.cpp:12: warning: Metric 'std.code.complexity:cyclomatic' for region 'B' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : B
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./file_deleted_in_new_sources.cpp:26: warning: Metric 'std.code.complexity:cyclomatic' for region 'never_old' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : never_old
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:12: warning: Metric 'std.code.complexity:cyclomatic' for region 'A' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : A
+	Metric value   : 3
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:26: warning: Metric 'std.code.complexity:cyclomatic' for region 'func' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : func
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:30: warning: Metric 'std.code.complexity:cyclomatic' for region 'embeded' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : embeded
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:42: warning: Metric 'std.code.complexity:cyclomatic' for region 'func_to_be_removed_in_new_sources' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : func_to_be_removed_in_new_sources
+	Metric value   : 2
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:46: warning: Metric 'std.code.complexity:cyclomatic' for region 'embeded' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : embeded
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:58: warning: Metric 'std.code.complexity:cyclomatic' for region 'never' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : never
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./:: info: 8 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+

+ 4 - 4
tests/general/test_basic/test_workflow_limit_second_stderr.gold.txt

@@ -1,4 +1,4 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./
-[LOG]: INFO:	Applying limit: 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-[LOG]: WARNING:	Done (1 seconds). Exit code: 6
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./
+[LOG]: INFO:	Applying limit: 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+[LOG]: WARNING:	Done (1 seconds). Exit code: 6

+ 56 - 56
tests/general/test_basic/test_workflow_limit_second_stdout.gold.txt

@@ -1,56 +1,56 @@
-./simple.cpp:13: warning: Metric 'std.code.complexity:cyclomatic' for region 'A' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : A
-	Metric value   : 3
-	Modified       : False
-	Change trend   : 0
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:26: warning: Metric 'std.code.complexity:cyclomatic' for region 'func' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : func
-	Metric value   : 1
-	Modified       : False
-	Change trend   : 0
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:30: warning: Metric 'std.code.complexity:cyclomatic' for region 'embeded' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : embeded
-	Metric value   : 2
-	Modified       : True
-	Change trend   : +1
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:44: warning: Metric 'std.code.complexity:cyclomatic' for region 'never' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : never
-	Metric value   : 1
-	Modified       : True
-	Change trend   : 0
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:58: warning: Metric 'std.code.complexity:cyclomatic' for region 'new_func_complex' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : new_func_complex
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple2.cpp:10: warning: Metric 'std.code.complexity:cyclomatic' for region 'New_A' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : New_A
-	Metric value   : 3
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./:: info: 6 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-
+./simple.cpp:13: warning: Metric 'std.code.complexity:cyclomatic' for region 'A' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : A
+	Metric value   : 3
+	Modified       : False
+	Change trend   : 0
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:26: warning: Metric 'std.code.complexity:cyclomatic' for region 'func' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : func
+	Metric value   : 1
+	Modified       : False
+	Change trend   : 0
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:30: warning: Metric 'std.code.complexity:cyclomatic' for region 'embeded' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : embeded
+	Metric value   : 2
+	Modified       : True
+	Change trend   : +1
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:44: warning: Metric 'std.code.complexity:cyclomatic' for region 'never' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : never
+	Metric value   : 1
+	Modified       : True
+	Change trend   : 0
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:58: warning: Metric 'std.code.complexity:cyclomatic' for region 'new_func_complex' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : new_func_complex
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple2.cpp:10: warning: Metric 'std.code.complexity:cyclomatic' for region 'New_A' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : New_A
+	Metric value   : 3
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./:: info: 6 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+

+ 4 - 4
tests/general/test_basic/test_workflow_limit_second_warn_all_stderr.gold.txt

@@ -1,4 +1,4 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./
-[LOG]: INFO:	Applying limit: 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-[LOG]: WARNING:	Done (1 seconds). Exit code: 6
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./
+[LOG]: INFO:	Applying limit: 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+[LOG]: WARNING:	Done (1 seconds). Exit code: 6

+ 56 - 56
tests/general/test_basic/test_workflow_limit_second_warn_all_stdout.gold.txt

@@ -1,56 +1,56 @@
-./simple.cpp:13: warning: Metric 'std.code.complexity:cyclomatic' for region 'A' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : A
-	Metric value   : 3
-	Modified       : False
-	Change trend   : 0
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:26: warning: Metric 'std.code.complexity:cyclomatic' for region 'func' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : func
-	Metric value   : 1
-	Modified       : False
-	Change trend   : 0
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:30: warning: Metric 'std.code.complexity:cyclomatic' for region 'embeded' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : embeded
-	Metric value   : 2
-	Modified       : True
-	Change trend   : +1
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:44: warning: Metric 'std.code.complexity:cyclomatic' for region 'never' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : never
-	Metric value   : 1
-	Modified       : True
-	Change trend   : 0
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:58: warning: Metric 'std.code.complexity:cyclomatic' for region 'new_func_complex' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : new_func_complex
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple2.cpp:10: warning: Metric 'std.code.complexity:cyclomatic' for region 'New_A' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : New_A
-	Metric value   : 3
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./:: info: 6 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-
+./simple.cpp:13: warning: Metric 'std.code.complexity:cyclomatic' for region 'A' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : A
+	Metric value   : 3
+	Modified       : False
+	Change trend   : 0
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:26: warning: Metric 'std.code.complexity:cyclomatic' for region 'func' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : func
+	Metric value   : 1
+	Modified       : False
+	Change trend   : 0
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:30: warning: Metric 'std.code.complexity:cyclomatic' for region 'embeded' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : embeded
+	Metric value   : 2
+	Modified       : True
+	Change trend   : +1
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:44: warning: Metric 'std.code.complexity:cyclomatic' for region 'never' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : never
+	Metric value   : 1
+	Modified       : True
+	Change trend   : 0
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:58: warning: Metric 'std.code.complexity:cyclomatic' for region 'new_func_complex' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : new_func_complex
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple2.cpp:10: warning: Metric 'std.code.complexity:cyclomatic' for region 'New_A' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : New_A
+	Metric value   : 3
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./:: info: 6 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+

+ 5 - 5
tests/general/test_basic/test_workflow_limit_second_warn_new_stderr.gold.txt

@@ -1,5 +1,5 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Identifying changed files...
-[LOG]: INFO:	Processing: ./
-[LOG]: INFO:	Applying limit: 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-[LOG]: WARNING:	Done (1 seconds). Exit code: 2
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Identifying changed files...
+[LOG]: INFO:	Processing: ./
+[LOG]: INFO:	Applying limit: 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+[LOG]: WARNING:	Done (1 seconds). Exit code: 2

+ 20 - 20
tests/general/test_basic/test_workflow_limit_second_warn_new_stdout.gold.txt

@@ -1,20 +1,20 @@
-./simple.cpp:58: warning: Metric 'std.code.complexity:cyclomatic' for region 'new_func_complex' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : new_func_complex
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple2.cpp:10: warning: Metric 'std.code.complexity:cyclomatic' for region 'New_A' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : New_A
-	Metric value   : 3
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./:: info: 2 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-
+./simple.cpp:58: warning: Metric 'std.code.complexity:cyclomatic' for region 'new_func_complex' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : new_func_complex
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple2.cpp:10: warning: Metric 'std.code.complexity:cyclomatic' for region 'New_A' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : New_A
+	Metric value   : 3
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./:: info: 2 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+

+ 5 - 5
tests/general/test_basic/test_workflow_limit_second_warn_touched_stderr.gold.txt

@@ -1,5 +1,5 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Identifying changed files...
-[LOG]: INFO:	Processing: ./
-[LOG]: INFO:	Applying limit: 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-[LOG]: WARNING:	Done (1 seconds). Exit code: 4
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Identifying changed files...
+[LOG]: INFO:	Processing: ./
+[LOG]: INFO:	Applying limit: 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+[LOG]: WARNING:	Done (1 seconds). Exit code: 4

+ 38 - 38
tests/general/test_basic/test_workflow_limit_second_warn_touched_stdout.gold.txt

@@ -1,38 +1,38 @@
-./simple.cpp:30: warning: Metric 'std.code.complexity:cyclomatic' for region 'embeded' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : embeded
-	Metric value   : 2
-	Modified       : True
-	Change trend   : +1
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:44: warning: Metric 'std.code.complexity:cyclomatic' for region 'never' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : never
-	Metric value   : 1
-	Modified       : True
-	Change trend   : 0
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:58: warning: Metric 'std.code.complexity:cyclomatic' for region 'new_func_complex' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : new_func_complex
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple2.cpp:10: warning: Metric 'std.code.complexity:cyclomatic' for region 'New_A' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : New_A
-	Metric value   : 3
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./:: info: 4 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-
+./simple.cpp:30: warning: Metric 'std.code.complexity:cyclomatic' for region 'embeded' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : embeded
+	Metric value   : 2
+	Modified       : True
+	Change trend   : +1
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:44: warning: Metric 'std.code.complexity:cyclomatic' for region 'never' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : never
+	Metric value   : 1
+	Modified       : True
+	Change trend   : 0
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:58: warning: Metric 'std.code.complexity:cyclomatic' for region 'new_func_complex' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : new_func_complex
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple2.cpp:10: warning: Metric 'std.code.complexity:cyclomatic' for region 'New_A' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : New_A
+	Metric value   : 3
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./:: info: 4 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+

+ 5 - 5
tests/general/test_basic/test_workflow_limit_second_warn_trend_stderr.gold.txt

@@ -1,5 +1,5 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Identifying changed files...
-[LOG]: INFO:	Processing: ./
-[LOG]: INFO:	Applying limit: 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-[LOG]: WARNING:	Done (1 seconds). Exit code: 3
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Identifying changed files...
+[LOG]: INFO:	Processing: ./
+[LOG]: INFO:	Applying limit: 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+[LOG]: WARNING:	Done (1 seconds). Exit code: 3

+ 29 - 29
tests/general/test_basic/test_workflow_limit_second_warn_trend_stdout.gold.txt

@@ -1,29 +1,29 @@
-./simple.cpp:30: warning: Metric 'std.code.complexity:cyclomatic' for region 'embeded' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : embeded
-	Metric value   : 2
-	Modified       : True
-	Change trend   : +1
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple.cpp:58: warning: Metric 'std.code.complexity:cyclomatic' for region 'new_func_complex' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : new_func_complex
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./simple2.cpp:10: warning: Metric 'std.code.complexity:cyclomatic' for region 'New_A' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : New_A
-	Metric value   : 3
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./:: info: 3 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-
+./simple.cpp:30: warning: Metric 'std.code.complexity:cyclomatic' for region 'embeded' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : embeded
+	Metric value   : 2
+	Modified       : True
+	Change trend   : +1
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple.cpp:58: warning: Metric 'std.code.complexity:cyclomatic' for region 'new_func_complex' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : new_func_complex
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./simple2.cpp:10: warning: Metric 'std.code.complexity:cyclomatic' for region 'New_A' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : New_A
+	Metric value   : 3
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./:: info: 3 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+

+ 3 - 3
tests/general/test_basic/test_workflow_view_default_stderr.gold.txt

@@ -1,3 +1,3 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 76 - 76
tests/general/test_basic/test_workflow_view_default_stdout.gold.txt

@@ -1,76 +1,76 @@
-<view>
-
-    <data>
-        <info id="1" path="./" />
-        <file-data />
-        <subfiles>
-            <subfile>file_deleted_in_new_sources.cpp</subfile>
-            <subfile>simple.cpp</subfile>
-        </subfiles>
-        <subdirs>
-        </subdirs>
-        <aggregated-data>
-            <std.code.complexity>
-                <cyclomatic avg="1.375" count="8" max="3" min="1" nonzero="False" sup="0" total="11.0">
-                    <distribution-bars>
-                        <distribution-bar count="6" metric="1" ratio="0.75" />
-                        <distribution-bar count="1" metric="2" ratio="0.125" />
-                        <distribution-bar count="1" metric="3" ratio="0.125" />
-                    </distribution-bars>
-                </cyclomatic>
-            </std.code.complexity>
-            <std.suppress.file>
-                <count avg="None" count="0" max="None" min="None" nonzero="True" sup="0" total="0.0">
-                    <distribution-bars>
-                    </distribution-bars>
-                </count>
-            </std.suppress.file>
-            <std.suppress>
-                <count avg="None" count="0" max="None" min="None" nonzero="True" sup="0" total="0.0">
-                    <distribution-bars>
-                    </distribution-bars>
-                </count>
-            </std.suppress>
-            <std.code.lines>
-                <total avg="5.4375" count="16" max="12" min="0" nonzero="False" sup="0" total="87.0">
-                    <distribution-bars>
-                        <distribution-bar count="2" metric="0" ratio="0.125" />
-                        <distribution-bar count="3" metric="3" ratio="0.1875" />
-                        <distribution-bar count="1" metric="4" ratio="0.0625" />
-                        <distribution-bar count="2" metric="5" ratio="0.125" />
-                        <distribution-bar count="1" metric="6" ratio="0.0625" />
-                        <distribution-bar count="3" metric="7" ratio="0.1875" />
-                        <distribution-bar count="2" metric="8" ratio="0.125" />
-                        <distribution-bar count="1" metric="9" ratio="0.0625" />
-                        <distribution-bar count="1" metric="12" ratio="0.0625" />
-                    </distribution-bars>
-                </total>
-                <code avg="4.875" count="16" max="11" min="0" nonzero="False" sup="0" total="78.0">
-                    <distribution-bars>
-                        <distribution-bar count="2" metric="0" ratio="0.125" />
-                        <distribution-bar count="3" metric="3" ratio="0.1875" />
-                        <distribution-bar count="3" metric="4" ratio="0.1875" />
-                        <distribution-bar count="2" metric="5" ratio="0.125" />
-                        <distribution-bar count="4" metric="7" ratio="0.25" />
-                        <distribution-bar count="1" metric="8" ratio="0.0625" />
-                        <distribution-bar count="1" metric="11" ratio="0.0625" />
-                    </distribution-bars>
-                </code>
-                <preprocessor avg="0.0625" count="16" max="1" min="0" nonzero="False" sup="0" total="1.0">
-                    <distribution-bars>
-                        <distribution-bar count="15" metric="0" ratio="0.9375" />
-                        <distribution-bar count="1" metric="1" ratio="0.0625" />
-                    </distribution-bars>
-                </preprocessor>
-                <comments avg="0.625" count="16" max="3" min="0" nonzero="False" sup="0" total="10.0">
-                    <distribution-bars>
-                        <distribution-bar count="10" metric="0" ratio="0.625" />
-                        <distribution-bar count="3" metric="1" ratio="0.1875" />
-                        <distribution-bar count="2" metric="2" ratio="0.125" />
-                        <distribution-bar count="1" metric="3" ratio="0.0625" />
-                    </distribution-bars>
-                </comments>
-            </std.code.lines>
-        </aggregated-data>
-    </data>
-</view>
+<view>
+
+    <data>
+        <aggregated-data>
+            <std.code.complexity>
+                <cyclomatic avg="1.375" count="8" max="3" min="1" nonzero="False" sup="0" total="11.0">
+                    <distribution-bars>
+                        <distribution-bar count="6" metric="1" ratio="0.75" />
+                        <distribution-bar count="1" metric="2" ratio="0.125" />
+                        <distribution-bar count="1" metric="3" ratio="0.125" />
+                    </distribution-bars>
+                </cyclomatic>
+            </std.code.complexity>
+            <std.code.lines>
+                <code avg="4.875" count="16" max="11" min="0" nonzero="False" sup="0" total="78.0">
+                    <distribution-bars>
+                        <distribution-bar count="2" metric="0" ratio="0.125" />
+                        <distribution-bar count="3" metric="3" ratio="0.1875" />
+                        <distribution-bar count="3" metric="4" ratio="0.1875" />
+                        <distribution-bar count="2" metric="5" ratio="0.125" />
+                        <distribution-bar count="4" metric="7" ratio="0.25" />
+                        <distribution-bar count="1" metric="8" ratio="0.0625" />
+                        <distribution-bar count="1" metric="11" ratio="0.0625" />
+                    </distribution-bars>
+                </code>
+                <comments avg="0.625" count="16" max="3" min="0" nonzero="False" sup="0" total="10.0">
+                    <distribution-bars>
+                        <distribution-bar count="10" metric="0" ratio="0.625" />
+                        <distribution-bar count="3" metric="1" ratio="0.1875" />
+                        <distribution-bar count="2" metric="2" ratio="0.125" />
+                        <distribution-bar count="1" metric="3" ratio="0.0625" />
+                    </distribution-bars>
+                </comments>
+                <preprocessor avg="0.0625" count="16" max="1" min="0" nonzero="False" sup="0" total="1.0">
+                    <distribution-bars>
+                        <distribution-bar count="15" metric="0" ratio="0.9375" />
+                        <distribution-bar count="1" metric="1" ratio="0.0625" />
+                    </distribution-bars>
+                </preprocessor>
+                <total avg="5.4375" count="16" max="12" min="0" nonzero="False" sup="0" total="87.0">
+                    <distribution-bars>
+                        <distribution-bar count="2" metric="0" ratio="0.125" />
+                        <distribution-bar count="3" metric="3" ratio="0.1875" />
+                        <distribution-bar count="1" metric="4" ratio="0.0625" />
+                        <distribution-bar count="2" metric="5" ratio="0.125" />
+                        <distribution-bar count="1" metric="6" ratio="0.0625" />
+                        <distribution-bar count="3" metric="7" ratio="0.1875" />
+                        <distribution-bar count="2" metric="8" ratio="0.125" />
+                        <distribution-bar count="1" metric="9" ratio="0.0625" />
+                        <distribution-bar count="1" metric="12" ratio="0.0625" />
+                    </distribution-bars>
+                </total>
+            </std.code.lines>
+            <std.suppress>
+                <count avg="None" count="0" max="None" min="None" nonzero="True" sup="0" total="0.0">
+                    <distribution-bars>
+                    </distribution-bars>
+                </count>
+            </std.suppress>
+            <std.suppress.file>
+                <count avg="None" count="0" max="None" min="None" nonzero="True" sup="0" total="0.0">
+                    <distribution-bars>
+                    </distribution-bars>
+                </count>
+            </std.suppress.file>
+        </aggregated-data>
+        <file-data />
+        <info id="1" path="./" />
+        <subdirs>
+        </subdirs>
+        <subfiles>
+            <subfile>file_deleted_in_new_sources.cpp</subfile>
+            <subfile>simple.cpp</subfile>
+        </subfiles>
+    </data>
+</view>

+ 3 - 3
tests/general/test_basic/test_workflow_view_second_per_file_stderr.gold.txt

@@ -1,3 +1,3 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./simple.cpp
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./simple.cpp
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 184 - 184
tests/general/test_basic/test_workflow_view_second_per_file_stdout.gold.txt

@@ -1,184 +1,184 @@
-<view>
-
-    <data>
-        <info id="1" path="./simple.cpp" />
-        <file-data>
-            <regions>
-                <region>
-                    <info cursor="0" line_begin="1" line_end="78" modified="False" name="__global__" offset_begin="0" offset_end="836" type="global" />
-                    <data>
-                        <std.code.lines code="0" comments="0" preprocessor="0" total="0">
-                            <__diff__ code="0" comments="0" preprocessor="0" total="0" />
-                        </std.code.lines>
-                    </data>
-                </region>
-                <region>
-                    <info cursor="4" line_begin="3" line_end="77" modified="True" name="hmm" offset_begin="2" offset_end="835" type="namespace" />
-                    <data>
-                        <std.code.lines code="4" comments="1" preprocessor="2" total="7">
-                            <__diff__ code="0" comments="0" preprocessor="1" total="1" />
-                        </std.code.lines>
-                    </data>
-                </region>
-                <region>
-                    <info cursor="10" line_begin="10" line_end="75" modified="True" name="A" offset_begin="111" offset_end="831" type="class" />
-                    <data>
-                        <std.code.lines code="4" comments="0" preprocessor="0" total="4">
-                            <__diff__ code="0" comments="0" preprocessor="0" total="0" />
-                        </std.code.lines>
-                    </data>
-                </region>
-                <region>
-                    <info cursor="13" line_begin="13" line_end="24" modified="False" name="A" offset_begin="123" offset_end="269" type="function" />
-                    <data>
-                        <std.code.complexity cyclomatic="3">
-                            <__diff__ cyclomatic="0" />
-                        </std.code.complexity>
-                        <std.code.lines code="11" comments="2" preprocessor="0" total="12">
-                            <__diff__ code="0" comments="0" preprocessor="0" total="0" />
-                        </std.code.lines>
-                    </data>
-                </region>
-                <region>
-                    <info cursor="26" line_begin="26" line_end="42" modified="False" name="func" offset_begin="272" offset_end="455" type="function" />
-                    <data>
-                        <std.code.complexity cyclomatic="1">
-                            <__diff__ cyclomatic="0" />
-                        </std.code.complexity>
-                        <std.code.lines code="5" comments="0" preprocessor="0" total="5">
-                            <__diff__ code="0" comments="0" preprocessor="0" total="0" />
-                        </std.code.lines>
-                    </data>
-                </region>
-                <region>
-                    <info cursor="28" line_begin="28" line_end="40" modified="False" name="embeded" offset_begin="301" offset_end="441" type="class" />
-                    <data>
-                        <std.code.lines code="3" comments="0" preprocessor="0" total="3">
-                            <__diff__ code="0" comments="0" preprocessor="0" total="0" />
-                        </std.code.lines>
-                    </data>
-                </region>
-                <region>
-                    <info cursor="30" line_begin="30" line_end="39" modified="True" name="embeded" offset_begin="322" offset_end="437" type="function" />
-                    <data>
-                        <std.code.complexity cyclomatic="2">
-                            <__diff__ cyclomatic="1" />
-                        </std.code.complexity>
-                        <std.code.lines code="8" comments="2" preprocessor="0" total="9">
-                            <__diff__ code="1" comments="1" preprocessor="0" total="1" />
-                        </std.code.lines>
-                    </data>
-                </region>
-                <region>
-                    <info cursor="44" line_begin="44" line_end="51" modified="True" name="never" offset_begin="458" offset_end="549" type="function" />
-                    <data>
-                        <std.code.complexity cyclomatic="1">
-                            <__diff__ cyclomatic="0" />
-                        </std.code.complexity>
-                        <std.code.lines code="7" comments="1" preprocessor="0" total="7">
-                            <__diff__ code="0" comments="1" preprocessor="0" total="0" />
-                        </std.code.lines>
-                    </data>
-                </region>
-                <region>
-                    <info cursor="53" line_begin="53" line_end="56" modified="None" name="new_func" offset_begin="552" offset_end="585" type="function" />
-                    <data>
-                        <std.code.complexity cyclomatic="0" />
-                        <std.code.lines code="3" comments="1" preprocessor="0" total="4" />
-                    </data>
-                </region>
-                <region>
-                    <info cursor="58" line_begin="58" line_end="62" modified="None" name="new_func_complex" offset_begin="588" offset_end="646" type="function" />
-                    <data>
-                        <std.code.complexity cyclomatic="1" />
-                        <std.code.lines code="5" comments="0" preprocessor="0" total="5" />
-                    </data>
-                </region>
-                <region>
-                    <info cursor="65" line_begin="64" line_end="72" modified="None" name="new_func_complex_but_suppressed" offset_begin="649" offset_end="808" type="function" />
-                    <data>
-                        <std.code.complexity cyclomatic="2" />
-                        <std.suppress count="1" list="[std.code.complexity:cyclomatic]" />
-                        <std.code.lines code="8" comments="1" preprocessor="0" total="9" />
-                    </data>
-                </region>
-            </regions>
-        </file-data>
-        <subfiles>
-        </subfiles>
-        <subdirs>
-        </subdirs>
-        <aggregated-data>
-            <std.code.complexity>
-                <cyclomatic avg="1.42857142857" count="7" max="3" min="0" nonzero="False" sup="1" total="10.0">
-                    <__diff__ avg="-0.0714285714286" count="1" max="0" min="-1" nonzero="0" sup="1" total="1.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="1" count="1" metric="0" ratio="0.142857142857" />
-                        <distribution-bar __diff__="-1" count="3" metric="1" ratio="0.428571428571" />
-                        <distribution-bar __diff__="1" count="2" metric="2" ratio="0.285714285714" />
-                        <distribution-bar __diff__="0" count="1" metric="3" ratio="0.142857142857" />
-                    </distribution-bars>
-                </cyclomatic>
-            </std.code.complexity>
-            <std.suppress.file>
-                <count avg="None" count="0" max="None" min="None" nonzero="True" sup="0" total="0.0">
-                    <__diff__ avg="0" count="0" max="0" min="0" nonzero="0" sup="0" total="0.0" />
-                    <distribution-bars>
-                    </distribution-bars>
-                </count>
-            </std.suppress.file>
-            <std.suppress>
-                <count avg="1.0" count="1" max="1" min="1" nonzero="True" sup="0" total="1.0">
-                    <__diff__ avg="1.0" count="1" max="1" min="1" nonzero="0" sup="0" total="1.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="1" count="1" metric="1" ratio="1.0" />
-                    </distribution-bars>
-                </count>
-            </std.suppress>
-            <std.code.lines>
-                <total avg="5.90909090909" count="11" max="12" min="0" nonzero="False" sup="0" total="65.0">
-                    <__diff__ avg="0.363636363636" count="0" max="0" min="0" nonzero="0" sup="0" total="4.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="0" count="1" metric="0" ratio="0.0909090909091" />
-                        <distribution-bar __diff__="-1" count="1" metric="3" ratio="0.0909090909091" />
-                        <distribution-bar __diff__="1" count="2" metric="4" ratio="0.181818181818" />
-                        <distribution-bar __diff__="0" count="2" metric="5" ratio="0.181818181818" />
-                        <distribution-bar __diff__="-1" count="0" metric="6" ratio="0" />
-                        <distribution-bar __diff__="1" count="2" metric="7" ratio="0.181818181818" />
-                        <distribution-bar __diff__="-2" count="0" metric="8" ratio="0" />
-                        <distribution-bar __diff__="2" count="2" metric="9" ratio="0.181818181818" />
-                        <distribution-bar __diff__="0" count="1" metric="12" ratio="0.0909090909091" />
-                    </distribution-bars>
-                </total>
-                <code avg="5.27272727273" count="11" max="11" min="0" nonzero="False" sup="0" total="58.0">
-                    <__diff__ avg="0.181818181818" count="0" max="0" min="0" nonzero="0" sup="0" total="2.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="0" count="1" metric="0" ratio="0.0909090909091" />
-                        <distribution-bar __diff__="0" count="2" metric="3" ratio="0.181818181818" />
-                        <distribution-bar __diff__="0" count="2" metric="4" ratio="0.181818181818" />
-                        <distribution-bar __diff__="0" count="2" metric="5" ratio="0.181818181818" />
-                        <distribution-bar __diff__="-2" count="1" metric="7" ratio="0.0909090909091" />
-                        <distribution-bar __diff__="2" count="2" metric="8" ratio="0.181818181818" />
-                        <distribution-bar __diff__="0" count="1" metric="11" ratio="0.0909090909091" />
-                    </distribution-bars>
-                </code>
-                <preprocessor avg="0.181818181818" count="11" max="2" min="0" nonzero="False" sup="0" total="2.0">
-                    <__diff__ avg="0.0909090909091" count="0" max="1" min="0" nonzero="0" sup="0" total="1.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="0" count="10" metric="0" ratio="0.909090909091" />
-                        <distribution-bar __diff__="-1" count="0" metric="1" ratio="0" />
-                        <distribution-bar __diff__="1" count="1" metric="2" ratio="0.0909090909091" />
-                    </distribution-bars>
-                </preprocessor>
-                <comments avg="0.727272727273" count="11" max="2" min="0" nonzero="False" sup="0" total="8.0">
-                    <__diff__ avg="0.272727272727" count="0" max="0" min="0" nonzero="0" sup="0" total="3.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="-2" count="5" metric="0" ratio="0.454545454545" />
-                        <distribution-bar __diff__="1" count="4" metric="1" ratio="0.363636363636" />
-                        <distribution-bar __diff__="1" count="2" metric="2" ratio="0.181818181818" />
-                    </distribution-bars>
-                </comments>
-            </std.code.lines>
-        </aggregated-data>
-    </data>
-</view>
+<view>
+
+    <data>
+        <aggregated-data>
+            <std.code.complexity>
+                <cyclomatic avg="1.42857143" count="7" max="3" min="0" nonzero="False" sup="1" total="10.0">
+                    <__diff__ avg="-0.07142857" count="1" max="0" min="-1" nonzero="0" sup="1" total="1.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="1" count="1" metric="0" ratio="0.14285714" />
+                        <distribution-bar __diff__="-1" count="3" metric="1" ratio="0.42857143" />
+                        <distribution-bar __diff__="1" count="2" metric="2" ratio="0.28571429" />
+                        <distribution-bar __diff__="0" count="1" metric="3" ratio="0.14285714" />
+                    </distribution-bars>
+                </cyclomatic>
+            </std.code.complexity>
+            <std.code.lines>
+                <code avg="5.27272727" count="11" max="11" min="0" nonzero="False" sup="0" total="58.0">
+                    <__diff__ avg="0.18181818" count="0" max="0" min="0" nonzero="0" sup="0" total="2.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="0" count="1" metric="0" ratio="0.09090909" />
+                        <distribution-bar __diff__="0" count="2" metric="3" ratio="0.18181818" />
+                        <distribution-bar __diff__="0" count="2" metric="4" ratio="0.18181818" />
+                        <distribution-bar __diff__="0" count="2" metric="5" ratio="0.18181818" />
+                        <distribution-bar __diff__="-2" count="1" metric="7" ratio="0.09090909" />
+                        <distribution-bar __diff__="2" count="2" metric="8" ratio="0.18181818" />
+                        <distribution-bar __diff__="0" count="1" metric="11" ratio="0.09090909" />
+                    </distribution-bars>
+                </code>
+                <comments avg="0.72727273" count="11" max="2" min="0" nonzero="False" sup="0" total="8.0">
+                    <__diff__ avg="0.27272727" count="0" max="0" min="0" nonzero="0" sup="0" total="3.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="-2" count="5" metric="0" ratio="0.45454545" />
+                        <distribution-bar __diff__="1" count="4" metric="1" ratio="0.36363636" />
+                        <distribution-bar __diff__="1" count="2" metric="2" ratio="0.18181818" />
+                    </distribution-bars>
+                </comments>
+                <preprocessor avg="0.18181818" count="11" max="2" min="0" nonzero="False" sup="0" total="2.0">
+                    <__diff__ avg="0.09090909" count="0" max="1" min="0" nonzero="0" sup="0" total="1.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="0" count="10" metric="0" ratio="0.90909091" />
+                        <distribution-bar __diff__="-1" count="0" metric="1" ratio="0" />
+                        <distribution-bar __diff__="1" count="1" metric="2" ratio="0.09090909" />
+                    </distribution-bars>
+                </preprocessor>
+                <total avg="5.90909091" count="11" max="12" min="0" nonzero="False" sup="0" total="65.0">
+                    <__diff__ avg="0.36363636" count="0" max="0" min="0" nonzero="0" sup="0" total="4.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="0" count="1" metric="0" ratio="0.09090909" />
+                        <distribution-bar __diff__="-1" count="1" metric="3" ratio="0.09090909" />
+                        <distribution-bar __diff__="1" count="2" metric="4" ratio="0.18181818" />
+                        <distribution-bar __diff__="0" count="2" metric="5" ratio="0.18181818" />
+                        <distribution-bar __diff__="-1" count="0" metric="6" ratio="0" />
+                        <distribution-bar __diff__="1" count="2" metric="7" ratio="0.18181818" />
+                        <distribution-bar __diff__="-2" count="0" metric="8" ratio="0" />
+                        <distribution-bar __diff__="2" count="2" metric="9" ratio="0.18181818" />
+                        <distribution-bar __diff__="0" count="1" metric="12" ratio="0.09090909" />
+                    </distribution-bars>
+                </total>
+            </std.code.lines>
+            <std.suppress>
+                <count avg="1.0" count="1" max="1" min="1" nonzero="True" sup="0" total="1.0">
+                    <__diff__ avg="1.0" count="1" max="1" min="1" nonzero="0" sup="0" total="1.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="1" count="1" metric="1" ratio="1.0" />
+                    </distribution-bars>
+                </count>
+            </std.suppress>
+            <std.suppress.file>
+                <count avg="None" count="0" max="None" min="None" nonzero="True" sup="0" total="0.0">
+                    <__diff__ avg="0" count="0" max="0" min="0" nonzero="0" sup="0" total="0.0" />
+                    <distribution-bars>
+                    </distribution-bars>
+                </count>
+            </std.suppress.file>
+        </aggregated-data>
+        <file-data>
+            <regions>
+                <region>
+                    <data>
+                        <std.code.lines code="0" comments="0" preprocessor="0" total="0">
+                            <__diff__ code="0" comments="0" preprocessor="0" total="0" />
+                        </std.code.lines>
+                    </data>
+                    <info cursor="0" line_begin="1" line_end="78" modified="False" name="__global__" offset_begin="0" offset_end="836" type="global" />
+                </region>
+                <region>
+                    <data>
+                        <std.code.lines code="4" comments="1" preprocessor="2" total="7">
+                            <__diff__ code="0" comments="0" preprocessor="1" total="1" />
+                        </std.code.lines>
+                    </data>
+                    <info cursor="4" line_begin="3" line_end="77" modified="True" name="hmm" offset_begin="2" offset_end="835" type="namespace" />
+                </region>
+                <region>
+                    <data>
+                        <std.code.lines code="4" comments="0" preprocessor="0" total="4">
+                            <__diff__ code="0" comments="0" preprocessor="0" total="0" />
+                        </std.code.lines>
+                    </data>
+                    <info cursor="10" line_begin="10" line_end="75" modified="True" name="A" offset_begin="111" offset_end="831" type="class" />
+                </region>
+                <region>
+                    <data>
+                        <std.code.complexity cyclomatic="3">
+                            <__diff__ cyclomatic="0" />
+                        </std.code.complexity>
+                        <std.code.lines code="11" comments="2" preprocessor="0" total="12">
+                            <__diff__ code="0" comments="0" preprocessor="0" total="0" />
+                        </std.code.lines>
+                    </data>
+                    <info cursor="13" line_begin="13" line_end="24" modified="False" name="A" offset_begin="123" offset_end="269" type="function" />
+                </region>
+                <region>
+                    <data>
+                        <std.code.complexity cyclomatic="1">
+                            <__diff__ cyclomatic="0" />
+                        </std.code.complexity>
+                        <std.code.lines code="5" comments="0" preprocessor="0" total="5">
+                            <__diff__ code="0" comments="0" preprocessor="0" total="0" />
+                        </std.code.lines>
+                    </data>
+                    <info cursor="26" line_begin="26" line_end="42" modified="False" name="func" offset_begin="272" offset_end="455" type="function" />
+                </region>
+                <region>
+                    <data>
+                        <std.code.lines code="3" comments="0" preprocessor="0" total="3">
+                            <__diff__ code="0" comments="0" preprocessor="0" total="0" />
+                        </std.code.lines>
+                    </data>
+                    <info cursor="28" line_begin="28" line_end="40" modified="False" name="embeded" offset_begin="301" offset_end="441" type="class" />
+                </region>
+                <region>
+                    <data>
+                        <std.code.complexity cyclomatic="2">
+                            <__diff__ cyclomatic="1" />
+                        </std.code.complexity>
+                        <std.code.lines code="8" comments="2" preprocessor="0" total="9">
+                            <__diff__ code="1" comments="1" preprocessor="0" total="1" />
+                        </std.code.lines>
+                    </data>
+                    <info cursor="30" line_begin="30" line_end="39" modified="True" name="embeded" offset_begin="322" offset_end="437" type="function" />
+                </region>
+                <region>
+                    <data>
+                        <std.code.complexity cyclomatic="1">
+                            <__diff__ cyclomatic="0" />
+                        </std.code.complexity>
+                        <std.code.lines code="7" comments="1" preprocessor="0" total="7">
+                            <__diff__ code="0" comments="1" preprocessor="0" total="0" />
+                        </std.code.lines>
+                    </data>
+                    <info cursor="44" line_begin="44" line_end="51" modified="True" name="never" offset_begin="458" offset_end="549" type="function" />
+                </region>
+                <region>
+                    <data>
+                        <std.code.complexity cyclomatic="0" />
+                        <std.code.lines code="3" comments="1" preprocessor="0" total="4" />
+                    </data>
+                    <info cursor="53" line_begin="53" line_end="56" modified="None" name="new_func" offset_begin="552" offset_end="585" type="function" />
+                </region>
+                <region>
+                    <data>
+                        <std.code.complexity cyclomatic="1" />
+                        <std.code.lines code="5" comments="0" preprocessor="0" total="5" />
+                    </data>
+                    <info cursor="58" line_begin="58" line_end="62" modified="None" name="new_func_complex" offset_begin="588" offset_end="646" type="function" />
+                </region>
+                <region>
+                    <data>
+                        <std.code.complexity cyclomatic="2" />
+                        <std.code.lines code="8" comments="1" preprocessor="0" total="9" />
+                        <std.suppress count="1" list="[std.code.complexity:cyclomatic]" />
+                    </data>
+                    <info cursor="65" line_begin="64" line_end="72" modified="None" name="new_func_complex_but_suppressed" offset_begin="649" offset_end="808" type="function" />
+                </region>
+            </regions>
+        </file-data>
+        <info id="1" path="./simple.cpp" />
+        <subdirs>
+        </subdirs>
+        <subfiles>
+        </subfiles>
+    </data>
+</view>

+ 3 - 3
tests/general/test_basic/test_workflow_view_second_per_file_txt_all_stderr.gold.txt

@@ -1,3 +1,3 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./simple.cpp
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./simple.cpp
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 214 - 214
tests/general/test_basic/test_workflow_view_second_per_file_txt_all_stdout.gold.txt

@@ -1,214 +1,214 @@
-./simple.cpp:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-836
-	Line numbers   : 1-78
-	Modified       : False
-	std.code.lines:code: 0 [+0]
-	std.code.lines:total: 0 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 0 [+0]
-
-./simple.cpp:4: info: Metrics per 'hmm' region
-	Region name    : hmm
-	Region type    : namespace
-	Offsets        : 2-835
-	Line numbers   : 3-77
-	Modified       : True
-	std.code.lines:code: 4 [+0]
-	std.code.lines:total: 7 [+1]
-	std.code.lines:preprocessor: 2 [+1]
-	std.code.lines:comments: 1 [+0]
-
-./simple.cpp:10: info: Metrics per 'A' region
-	Region name    : A
-	Region type    : class
-	Offsets        : 111-831
-	Line numbers   : 10-75
-	Modified       : True
-	std.code.lines:code: 4 [+0]
-	std.code.lines:total: 4 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 0 [+0]
-
-./simple.cpp:13: info: Metrics per 'A' region
-	Region name    : A
-	Region type    : function
-	Offsets        : 123-269
-	Line numbers   : 13-24
-	Modified       : False
-	std.code.complexity:cyclomatic: 3 [+0]
-	std.code.lines:code: 11 [+0]
-	std.code.lines:total: 12 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 2 [+0]
-
-./simple.cpp:26: info: Metrics per 'func' region
-	Region name    : func
-	Region type    : function
-	Offsets        : 272-455
-	Line numbers   : 26-42
-	Modified       : False
-	std.code.complexity:cyclomatic: 1 [+0]
-	std.code.lines:code: 5 [+0]
-	std.code.lines:total: 5 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 0 [+0]
-
-./simple.cpp:28: info: Metrics per 'embeded' region
-	Region name    : embeded
-	Region type    : class
-	Offsets        : 301-441
-	Line numbers   : 28-40
-	Modified       : False
-	std.code.lines:code: 3 [+0]
-	std.code.lines:total: 3 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 0 [+0]
-
-./simple.cpp:30: info: Metrics per 'embeded' region
-	Region name    : embeded
-	Region type    : function
-	Offsets        : 322-437
-	Line numbers   : 30-39
-	Modified       : True
-	std.code.complexity:cyclomatic: 2 [+1]
-	std.code.lines:code: 8 [+1]
-	std.code.lines:total: 9 [+1]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 2 [+1]
-
-./simple.cpp:44: info: Metrics per 'never' region
-	Region name    : never
-	Region type    : function
-	Offsets        : 458-549
-	Line numbers   : 44-51
-	Modified       : True
-	std.code.complexity:cyclomatic: 1 [+0]
-	std.code.lines:code: 7 [+0]
-	std.code.lines:total: 7 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 1 [+1]
-
-./simple.cpp:53: info: Metrics per 'new_func' region
-	Region name    : new_func
-	Region type    : function
-	Offsets        : 552-585
-	Line numbers   : 53-56
-	Modified       : None
-	std.code.complexity:cyclomatic: 0
-	std.code.lines:code: 3
-	std.code.lines:total: 4
-	std.code.lines:preprocessor: 0
-	std.code.lines:comments: 1
-
-./simple.cpp:58: info: Metrics per 'new_func_complex' region
-	Region name    : new_func_complex
-	Region type    : function
-	Offsets        : 588-646
-	Line numbers   : 58-62
-	Modified       : None
-	std.code.complexity:cyclomatic: 1
-	std.code.lines:code: 5
-	std.code.lines:total: 5
-	std.code.lines:preprocessor: 0
-	std.code.lines:comments: 0
-
-./simple.cpp:65: info: Metrics per 'new_func_complex_but_suppressed' region
-	Region name    : new_func_complex_but_suppressed
-	Region type    : function
-	Offsets        : 649-808
-	Line numbers   : 64-72
-	Modified       : None
-	std.code.complexity:cyclomatic: 2
-	std.suppress:count: 1
-	std.suppress:list: [std.code.complexity:cyclomatic]
-	std.code.lines:code: 8
-	std.code.lines:total: 9
-	std.code.lines:preprocessor: 0
-	std.code.lines:comments: 1
-
-./simple.cpp:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 1.42857142857 [-0.0714285714286]
-	Minimum        : 0 [-1]
-	Maximum        : 3 [+0]
-	Total          : 10.0 [+1.0]
-	Distribution   : 7 [+1] regions in total (including 1 [+1] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.143 : 0.143 : 1 [+1]	||||||||||||||
-	             1 : 0.429 : 0.571 : 3 [-1]	|||||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.286 : 0.857 : 2 [+1]	|||||||||||||||||||||||||||||
-	             3 : 0.143 : 1.000 : 1 [+0]	||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.suppress.file:count' metric
-	Average        : None [+0] (excluding zero metric values)
-	Minimum        : None [+0]
-	Maximum        : None [+0]
-	Total          : 0.0 [+0.0]
-	Distribution   : 0 [+0] files in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-
-./simple.cpp:: info: Overall metrics for 'std.suppress:count' metric
-	Average        : 1.0 [+1.0] (excluding zero metric values)
-	Minimum        : 1 [+1]
-	Maximum        : 1 [+1]
-	Total          : 1.0 [+1.0]
-	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:total' metric
-	Average        : 5.90909090909 [+0.363636363636]
-	Minimum        : 0 [+0]
-	Maximum        : 12 [+0]
-	Total          : 65.0 [+4.0]
-	Distribution   : 11 [+0] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.091 : 0.091 :  1 [+0 ]	|||||||||
-	             3 : 0.091 : 0.182 :  1 [-1 ]	|||||||||
-	             4 : 0.182 : 0.364 :  2 [+1 ]	||||||||||||||||||
-	             5 : 0.182 : 0.545 :  2 [+0 ]	||||||||||||||||||
-	             6 : 0.000 : 0.545 :  0 [-1 ]	
-	             7 : 0.182 : 0.727 :  2 [+1 ]	||||||||||||||||||
-	             8 : 0.000 : 0.727 :  0 [-2 ]	
-	             9 : 0.182 : 0.909 :  2 [+2 ]	||||||||||||||||||
-	            12 : 0.091 : 1.000 :  1 [+0 ]	|||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:code' metric
-	Average        : 5.27272727273 [+0.181818181818]
-	Minimum        : 0 [+0]
-	Maximum        : 11 [+0]
-	Total          : 58.0 [+2.0]
-	Distribution   : 11 [+0] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.091 : 0.091 :  1 [+0 ]	|||||||||
-	             3 : 0.182 : 0.273 :  2 [+0 ]	||||||||||||||||||
-	             4 : 0.182 : 0.455 :  2 [+0 ]	||||||||||||||||||
-	             5 : 0.182 : 0.636 :  2 [+0 ]	||||||||||||||||||
-	             7 : 0.091 : 0.727 :  1 [-2 ]	|||||||||
-	             8 : 0.182 : 0.909 :  2 [+2 ]	||||||||||||||||||
-	            11 : 0.091 : 1.000 :  1 [+0 ]	|||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:preprocessor' metric
-	Average        : 0.181818181818 [+0.0909090909091]
-	Minimum        : 0 [+0]
-	Maximum        : 2 [+1]
-	Total          : 2.0 [+1.0]
-	Distribution   : 11 [+0] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.909 : 0.909 : 10 [+0 ]	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.000 : 0.909 :  0 [-1 ]	
-	             2 : 0.091 : 1.000 :  1 [+1 ]	|||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:comments' metric
-	Average        : 0.727272727273 [+0.272727272727]
-	Minimum        : 0 [+0]
-	Maximum        : 2 [+0]
-	Total          : 8.0 [+3.0]
-	Distribution   : 11 [+0] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.455 : 0.455 :  5 [-2 ]	|||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.364 : 0.818 :  4 [+1 ]	||||||||||||||||||||||||||||||||||||
-	             2 : 0.182 : 1.000 :  2 [+1 ]	||||||||||||||||||
-
-
+./simple.cpp:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-836
+	Line numbers   : 1-78
+	Modified       : False
+	std.code.lines:code: 0 [+0]
+	std.code.lines:comments: 0 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 0 [+0]
+
+./simple.cpp:4: info: Metrics per 'hmm' region
+	Region name    : hmm
+	Region type    : namespace
+	Offsets        : 2-835
+	Line numbers   : 3-77
+	Modified       : True
+	std.code.lines:code: 4 [+0]
+	std.code.lines:comments: 1 [+0]
+	std.code.lines:preprocessor: 2 [+1]
+	std.code.lines:total: 7 [+1]
+
+./simple.cpp:10: info: Metrics per 'A' region
+	Region name    : A
+	Region type    : class
+	Offsets        : 111-831
+	Line numbers   : 10-75
+	Modified       : True
+	std.code.lines:code: 4 [+0]
+	std.code.lines:comments: 0 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 4 [+0]
+
+./simple.cpp:13: info: Metrics per 'A' region
+	Region name    : A
+	Region type    : function
+	Offsets        : 123-269
+	Line numbers   : 13-24
+	Modified       : False
+	std.code.complexity:cyclomatic: 3 [+0]
+	std.code.lines:code: 11 [+0]
+	std.code.lines:comments: 2 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 12 [+0]
+
+./simple.cpp:26: info: Metrics per 'func' region
+	Region name    : func
+	Region type    : function
+	Offsets        : 272-455
+	Line numbers   : 26-42
+	Modified       : False
+	std.code.complexity:cyclomatic: 1 [+0]
+	std.code.lines:code: 5 [+0]
+	std.code.lines:comments: 0 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 5 [+0]
+
+./simple.cpp:28: info: Metrics per 'embeded' region
+	Region name    : embeded
+	Region type    : class
+	Offsets        : 301-441
+	Line numbers   : 28-40
+	Modified       : False
+	std.code.lines:code: 3 [+0]
+	std.code.lines:comments: 0 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 3 [+0]
+
+./simple.cpp:30: info: Metrics per 'embeded' region
+	Region name    : embeded
+	Region type    : function
+	Offsets        : 322-437
+	Line numbers   : 30-39
+	Modified       : True
+	std.code.complexity:cyclomatic: 2 [+1]
+	std.code.lines:code: 8 [+1]
+	std.code.lines:comments: 2 [+1]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 9 [+1]
+
+./simple.cpp:44: info: Metrics per 'never' region
+	Region name    : never
+	Region type    : function
+	Offsets        : 458-549
+	Line numbers   : 44-51
+	Modified       : True
+	std.code.complexity:cyclomatic: 1 [+0]
+	std.code.lines:code: 7 [+0]
+	std.code.lines:comments: 1 [+1]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 7 [+0]
+
+./simple.cpp:53: info: Metrics per 'new_func' region
+	Region name    : new_func
+	Region type    : function
+	Offsets        : 552-585
+	Line numbers   : 53-56
+	Modified       : None
+	std.code.complexity:cyclomatic: 0
+	std.code.lines:code: 3
+	std.code.lines:comments: 1
+	std.code.lines:preprocessor: 0
+	std.code.lines:total: 4
+
+./simple.cpp:58: info: Metrics per 'new_func_complex' region
+	Region name    : new_func_complex
+	Region type    : function
+	Offsets        : 588-646
+	Line numbers   : 58-62
+	Modified       : None
+	std.code.complexity:cyclomatic: 1
+	std.code.lines:code: 5
+	std.code.lines:comments: 0
+	std.code.lines:preprocessor: 0
+	std.code.lines:total: 5
+
+./simple.cpp:65: info: Metrics per 'new_func_complex_but_suppressed' region
+	Region name    : new_func_complex_but_suppressed
+	Region type    : function
+	Offsets        : 649-808
+	Line numbers   : 64-72
+	Modified       : None
+	std.code.complexity:cyclomatic: 2
+	std.code.lines:code: 8
+	std.code.lines:comments: 1
+	std.code.lines:preprocessor: 0
+	std.code.lines:total: 9
+	std.suppress:count: 1
+	std.suppress:list: [std.code.complexity:cyclomatic]
+
+./simple.cpp:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
+	Average        : 1.42857143 [-0.07142857]
+	Minimum        : 0 [-1]
+	Maximum        : 3 [+0]
+	Total          : 10.0 [+1.0]
+	Distribution   : 7 [+1] regions in total (including 1 [+1] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.143 : 0.143 : 1 [+1]	||||||||||||||
+	             1 : 0.429 : 0.571 : 3 [-1]	||||||||||||||||||||||||||||||||||||||||||
+	             2 : 0.286 : 0.857 : 2 [+1]	||||||||||||||||||||||||||||
+	             3 : 0.143 : 1.000 : 1 [+0]	||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:code' metric
+	Average        : 5.27272727 [+0.18181818]
+	Minimum        : 0 [+0]
+	Maximum        : 11 [+0]
+	Total          : 58.0 [+2.0]
+	Distribution   : 11 [+0] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.091 : 0.091 :  1 [+0 ]	|||||||||
+	             3 : 0.182 : 0.273 :  2 [+0 ]	||||||||||||||||||
+	             4 : 0.182 : 0.455 :  2 [+0 ]	||||||||||||||||||
+	             5 : 0.182 : 0.636 :  2 [+0 ]	||||||||||||||||||
+	             7 : 0.091 : 0.727 :  1 [-2 ]	|||||||||
+	             8 : 0.182 : 0.909 :  2 [+2 ]	||||||||||||||||||
+	            11 : 0.091 : 1.000 :  1 [+0 ]	|||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:comments' metric
+	Average        : 0.72727273 [+0.27272727]
+	Minimum        : 0 [+0]
+	Maximum        : 2 [+0]
+	Total          : 8.0 [+3.0]
+	Distribution   : 11 [+0] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.455 : 0.455 :  5 [-2 ]	|||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.364 : 0.818 :  4 [+1 ]	||||||||||||||||||||||||||||||||||||
+	             2 : 0.182 : 1.000 :  2 [+1 ]	||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:preprocessor' metric
+	Average        : 0.18181818 [+0.09090909]
+	Minimum        : 0 [+0]
+	Maximum        : 2 [+1]
+	Total          : 2.0 [+1.0]
+	Distribution   : 11 [+0] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.909 : 0.909 : 10 [+0 ]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.000 : 0.909 :  0 [-1 ]	
+	             2 : 0.091 : 1.000 :  1 [+1 ]	|||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:total' metric
+	Average        : 5.90909091 [+0.36363636]
+	Minimum        : 0 [+0]
+	Maximum        : 12 [+0]
+	Total          : 65.0 [+4.0]
+	Distribution   : 11 [+0] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.091 : 0.091 :  1 [+0 ]	|||||||||
+	             3 : 0.091 : 0.182 :  1 [-1 ]	|||||||||
+	             4 : 0.182 : 0.364 :  2 [+1 ]	||||||||||||||||||
+	             5 : 0.182 : 0.545 :  2 [+0 ]	||||||||||||||||||
+	             6 : 0.000 : 0.545 :  0 [-1 ]	
+	             7 : 0.182 : 0.727 :  2 [+1 ]	||||||||||||||||||
+	             8 : 0.000 : 0.727 :  0 [-2 ]	
+	             9 : 0.182 : 0.909 :  2 [+2 ]	||||||||||||||||||
+	            12 : 0.091 : 1.000 :  1 [+0 ]	|||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.suppress:count' metric
+	Average        : 1.0 [+1.0] (excluding zero metric values)
+	Minimum        : 1 [+1]
+	Maximum        : 1 [+1]
+	Total          : 1.0 [+1.0]
+	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.suppress.file:count' metric
+	Average        : None [+0] (excluding zero metric values)
+	Minimum        : None [+0]
+	Maximum        : None [+0]
+	Total          : 0.0 [+0.0]
+	Distribution   : 0 [+0] files in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+
+

+ 4 - 4
tests/general/test_basic/test_workflow_view_second_per_file_txt_new_stderr.gold.txt

@@ -1,4 +1,4 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./simple.cpp
-[LOG]: INFO:	Processing: ./simple.cpp [modified]
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./simple.cpp
+[LOG]: INFO:	Processing: ./simple.cpp [modified]
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 200 - 200
tests/general/test_basic/test_workflow_view_second_per_file_txt_new_stdout.gold.txt

@@ -1,200 +1,200 @@
-./simple.cpp:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-836
-	Line numbers   : 1-78
-	Modified       : False
-	std.code.lines:code: 0 [+0]
-	std.code.lines:total: 0 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 0 [+0]
-
-./simple.cpp:4: info: Metrics per 'hmm' region
-	Region name    : hmm
-	Region type    : namespace
-	Offsets        : 2-835
-	Line numbers   : 3-77
-	Modified       : True
-	std.code.lines:code: 4 [+0]
-	std.code.lines:total: 7 [+1]
-	std.code.lines:preprocessor: 2 [+1]
-	std.code.lines:comments: 1 [+0]
-
-./simple.cpp:10: info: Metrics per 'A' region
-	Region name    : A
-	Region type    : class
-	Offsets        : 111-831
-	Line numbers   : 10-75
-	Modified       : True
-	std.code.lines:code: 4 [+0]
-	std.code.lines:total: 4 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 0 [+0]
-
-./simple.cpp:13: info: Metrics per 'A' region
-	Region name    : A
-	Region type    : function
-	Offsets        : 123-269
-	Line numbers   : 13-24
-	Modified       : False
-	std.code.complexity:cyclomatic: 3 [+0]
-	std.code.lines:code: 11 [+0]
-	std.code.lines:total: 12 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 2 [+0]
-
-./simple.cpp:26: info: Metrics per 'func' region
-	Region name    : func
-	Region type    : function
-	Offsets        : 272-455
-	Line numbers   : 26-42
-	Modified       : False
-	std.code.complexity:cyclomatic: 1 [+0]
-	std.code.lines:code: 5 [+0]
-	std.code.lines:total: 5 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 0 [+0]
-
-./simple.cpp:28: info: Metrics per 'embeded' region
-	Region name    : embeded
-	Region type    : class
-	Offsets        : 301-441
-	Line numbers   : 28-40
-	Modified       : False
-	std.code.lines:code: 3 [+0]
-	std.code.lines:total: 3 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 0 [+0]
-
-./simple.cpp:30: info: Metrics per 'embeded' region
-	Region name    : embeded
-	Region type    : function
-	Offsets        : 322-437
-	Line numbers   : 30-39
-	Modified       : True
-	std.code.complexity:cyclomatic: 2 [+1]
-	std.code.lines:code: 8 [+1]
-	std.code.lines:total: 9 [+1]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 2 [+1]
-
-./simple.cpp:44: info: Metrics per 'never' region
-	Region name    : never
-	Region type    : function
-	Offsets        : 458-549
-	Line numbers   : 44-51
-	Modified       : True
-	std.code.complexity:cyclomatic: 1 [+0]
-	std.code.lines:code: 7 [+0]
-	std.code.lines:total: 7 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 1 [+1]
-
-./simple.cpp:53: info: Metrics per 'new_func' region
-	Region name    : new_func
-	Region type    : function
-	Offsets        : 552-585
-	Line numbers   : 53-56
-	Modified       : None
-	std.code.complexity:cyclomatic: 0
-	std.code.lines:code: 3
-	std.code.lines:total: 4
-	std.code.lines:preprocessor: 0
-	std.code.lines:comments: 1
-
-./simple.cpp:58: info: Metrics per 'new_func_complex' region
-	Region name    : new_func_complex
-	Region type    : function
-	Offsets        : 588-646
-	Line numbers   : 58-62
-	Modified       : None
-	std.code.complexity:cyclomatic: 1
-	std.code.lines:code: 5
-	std.code.lines:total: 5
-	std.code.lines:preprocessor: 0
-	std.code.lines:comments: 0
-
-./simple.cpp:65: info: Metrics per 'new_func_complex_but_suppressed' region
-	Region name    : new_func_complex_but_suppressed
-	Region type    : function
-	Offsets        : 649-808
-	Line numbers   : 64-72
-	Modified       : None
-	std.code.complexity:cyclomatic: 2
-	std.suppress:count: 1
-	std.suppress:list: [std.code.complexity:cyclomatic]
-	std.code.lines:code: 8
-	std.code.lines:total: 9
-	std.code.lines:preprocessor: 0
-	std.code.lines:comments: 1
-
-./simple.cpp:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 1.0 [+1.0]
-	Minimum        : 0 [+0]
-	Maximum        : 2 [+2]
-	Total          : 3.0 [+3.0]
-	Distribution   : 3 [+3] regions in total (including 1 [+1] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.333 : 0.333 : 1 [+1]	|||||||||||||||||||||||||||||||||
-	             1 : 0.333 : 0.667 : 1 [+1]	|||||||||||||||||||||||||||||||||
-	             2 : 0.333 : 1.000 : 1 [+1]	|||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.suppress.file:count' metric
-	Average        : None [+0] (excluding zero metric values)
-	Minimum        : None [+0]
-	Maximum        : None [+0]
-	Total          : 0.0 [+0.0]
-	Distribution   : 0 [+0] files in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-
-./simple.cpp:: info: Overall metrics for 'std.suppress:count' metric
-	Average        : 1.0 [+1.0] (excluding zero metric values)
-	Minimum        : 1 [+1]
-	Maximum        : 1 [+1]
-	Total          : 1.0 [+1.0]
-	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:total' metric
-	Average        : 6.0 [+6.0]
-	Minimum        : 4 [+4]
-	Maximum        : 9 [+9]
-	Total          : 18.0 [+18.0]
-	Distribution   : 3 [+3] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             4 : 0.333 : 0.333 : 1 [+1]	|||||||||||||||||||||||||||||||||
-	             5 : 0.333 : 0.667 : 1 [+1]	|||||||||||||||||||||||||||||||||
-	             9 : 0.333 : 1.000 : 1 [+1]	|||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:code' metric
-	Average        : 5.33333333333 [+5.33333333333]
-	Minimum        : 3 [+3]
-	Maximum        : 8 [+8]
-	Total          : 16.0 [+16.0]
-	Distribution   : 3 [+3] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             3 : 0.333 : 0.333 : 1 [+1]	|||||||||||||||||||||||||||||||||
-	             5 : 0.333 : 0.667 : 1 [+1]	|||||||||||||||||||||||||||||||||
-	             8 : 0.333 : 1.000 : 1 [+1]	|||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:preprocessor' metric
-	Average        : 0.0 [+0.0]
-	Minimum        : 0 [+0]
-	Maximum        : 0 [+0]
-	Total          : 0.0 [+0.0]
-	Distribution   : 3 [+3] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 1.000 : 1.000 : 3 [+3]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:comments' metric
-	Average        : 0.666666666667 [+0.666666666667]
-	Minimum        : 0 [+0]
-	Maximum        : 1 [+1]
-	Total          : 2.0 [+2.0]
-	Distribution   : 3 [+3] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.333 : 0.333 : 1 [+1]	|||||||||||||||||||||||||||||||||
-	             1 : 0.667 : 1.000 : 2 [+2]	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-
+./simple.cpp:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-836
+	Line numbers   : 1-78
+	Modified       : False
+	std.code.lines:code: 0 [+0]
+	std.code.lines:comments: 0 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 0 [+0]
+
+./simple.cpp:4: info: Metrics per 'hmm' region
+	Region name    : hmm
+	Region type    : namespace
+	Offsets        : 2-835
+	Line numbers   : 3-77
+	Modified       : True
+	std.code.lines:code: 4 [+0]
+	std.code.lines:comments: 1 [+0]
+	std.code.lines:preprocessor: 2 [+1]
+	std.code.lines:total: 7 [+1]
+
+./simple.cpp:10: info: Metrics per 'A' region
+	Region name    : A
+	Region type    : class
+	Offsets        : 111-831
+	Line numbers   : 10-75
+	Modified       : True
+	std.code.lines:code: 4 [+0]
+	std.code.lines:comments: 0 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 4 [+0]
+
+./simple.cpp:13: info: Metrics per 'A' region
+	Region name    : A
+	Region type    : function
+	Offsets        : 123-269
+	Line numbers   : 13-24
+	Modified       : False
+	std.code.complexity:cyclomatic: 3 [+0]
+	std.code.lines:code: 11 [+0]
+	std.code.lines:comments: 2 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 12 [+0]
+
+./simple.cpp:26: info: Metrics per 'func' region
+	Region name    : func
+	Region type    : function
+	Offsets        : 272-455
+	Line numbers   : 26-42
+	Modified       : False
+	std.code.complexity:cyclomatic: 1 [+0]
+	std.code.lines:code: 5 [+0]
+	std.code.lines:comments: 0 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 5 [+0]
+
+./simple.cpp:28: info: Metrics per 'embeded' region
+	Region name    : embeded
+	Region type    : class
+	Offsets        : 301-441
+	Line numbers   : 28-40
+	Modified       : False
+	std.code.lines:code: 3 [+0]
+	std.code.lines:comments: 0 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 3 [+0]
+
+./simple.cpp:30: info: Metrics per 'embeded' region
+	Region name    : embeded
+	Region type    : function
+	Offsets        : 322-437
+	Line numbers   : 30-39
+	Modified       : True
+	std.code.complexity:cyclomatic: 2 [+1]
+	std.code.lines:code: 8 [+1]
+	std.code.lines:comments: 2 [+1]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 9 [+1]
+
+./simple.cpp:44: info: Metrics per 'never' region
+	Region name    : never
+	Region type    : function
+	Offsets        : 458-549
+	Line numbers   : 44-51
+	Modified       : True
+	std.code.complexity:cyclomatic: 1 [+0]
+	std.code.lines:code: 7 [+0]
+	std.code.lines:comments: 1 [+1]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 7 [+0]
+
+./simple.cpp:53: info: Metrics per 'new_func' region
+	Region name    : new_func
+	Region type    : function
+	Offsets        : 552-585
+	Line numbers   : 53-56
+	Modified       : None
+	std.code.complexity:cyclomatic: 0
+	std.code.lines:code: 3
+	std.code.lines:comments: 1
+	std.code.lines:preprocessor: 0
+	std.code.lines:total: 4
+
+./simple.cpp:58: info: Metrics per 'new_func_complex' region
+	Region name    : new_func_complex
+	Region type    : function
+	Offsets        : 588-646
+	Line numbers   : 58-62
+	Modified       : None
+	std.code.complexity:cyclomatic: 1
+	std.code.lines:code: 5
+	std.code.lines:comments: 0
+	std.code.lines:preprocessor: 0
+	std.code.lines:total: 5
+
+./simple.cpp:65: info: Metrics per 'new_func_complex_but_suppressed' region
+	Region name    : new_func_complex_but_suppressed
+	Region type    : function
+	Offsets        : 649-808
+	Line numbers   : 64-72
+	Modified       : None
+	std.code.complexity:cyclomatic: 2
+	std.code.lines:code: 8
+	std.code.lines:comments: 1
+	std.code.lines:preprocessor: 0
+	std.code.lines:total: 9
+	std.suppress:count: 1
+	std.suppress:list: [std.code.complexity:cyclomatic]
+
+./simple.cpp:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
+	Average        : 1.0 [+1.0]
+	Minimum        : 0 [+0]
+	Maximum        : 2 [+2]
+	Total          : 3.0 [+3.0]
+	Distribution   : 3 [+3] regions in total (including 1 [+1] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.333 : 0.333 : 1 [+1]	|||||||||||||||||||||||||||||||||
+	             1 : 0.333 : 0.667 : 1 [+1]	|||||||||||||||||||||||||||||||||
+	             2 : 0.333 : 1.000 : 1 [+1]	|||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:code' metric
+	Average        : 5.33333333 [+5.33333333]
+	Minimum        : 3 [+3]
+	Maximum        : 8 [+8]
+	Total          : 16.0 [+16.0]
+	Distribution   : 3 [+3] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             3 : 0.333 : 0.333 : 1 [+1]	|||||||||||||||||||||||||||||||||
+	             5 : 0.333 : 0.667 : 1 [+1]	|||||||||||||||||||||||||||||||||
+	             8 : 0.333 : 1.000 : 1 [+1]	|||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:comments' metric
+	Average        : 0.66666667 [+0.66666667]
+	Minimum        : 0 [+0]
+	Maximum        : 1 [+1]
+	Total          : 2.0 [+2.0]
+	Distribution   : 3 [+3] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.333 : 0.333 : 1 [+1]	|||||||||||||||||||||||||||||||||
+	             1 : 0.667 : 1.000 : 2 [+2]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:preprocessor' metric
+	Average        : 0.0 [+0.0]
+	Minimum        : 0 [+0]
+	Maximum        : 0 [+0]
+	Total          : 0.0 [+0.0]
+	Distribution   : 3 [+3] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 1.000 : 1.000 : 3 [+3]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:total' metric
+	Average        : 6.0 [+6.0]
+	Minimum        : 4 [+4]
+	Maximum        : 9 [+9]
+	Total          : 18.0 [+18.0]
+	Distribution   : 3 [+3] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             4 : 0.333 : 0.333 : 1 [+1]	|||||||||||||||||||||||||||||||||
+	             5 : 0.333 : 0.667 : 1 [+1]	|||||||||||||||||||||||||||||||||
+	             9 : 0.333 : 1.000 : 1 [+1]	|||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.suppress:count' metric
+	Average        : 1.0 [+1.0] (excluding zero metric values)
+	Minimum        : 1 [+1]
+	Maximum        : 1 [+1]
+	Total          : 1.0 [+1.0]
+	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.suppress.file:count' metric
+	Average        : None [+0] (excluding zero metric values)
+	Minimum        : None [+0]
+	Maximum        : None [+0]
+	Total          : 0.0 [+0.0]
+	Distribution   : 0 [+0] files in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+
+

+ 4 - 4
tests/general/test_basic/test_workflow_view_second_per_file_txt_touched_stderr.gold.txt

@@ -1,4 +1,4 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./simple.cpp
-[LOG]: INFO:	Processing: ./simple.cpp [modified]
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./simple.cpp
+[LOG]: INFO:	Processing: ./simple.cpp [modified]
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 209 - 209
tests/general/test_basic/test_workflow_view_second_per_file_txt_touched_stdout.gold.txt

@@ -1,209 +1,209 @@
-./simple.cpp:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-836
-	Line numbers   : 1-78
-	Modified       : False
-	std.code.lines:code: 0 [+0]
-	std.code.lines:total: 0 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 0 [+0]
-
-./simple.cpp:4: info: Metrics per 'hmm' region
-	Region name    : hmm
-	Region type    : namespace
-	Offsets        : 2-835
-	Line numbers   : 3-77
-	Modified       : True
-	std.code.lines:code: 4 [+0]
-	std.code.lines:total: 7 [+1]
-	std.code.lines:preprocessor: 2 [+1]
-	std.code.lines:comments: 1 [+0]
-
-./simple.cpp:10: info: Metrics per 'A' region
-	Region name    : A
-	Region type    : class
-	Offsets        : 111-831
-	Line numbers   : 10-75
-	Modified       : True
-	std.code.lines:code: 4 [+0]
-	std.code.lines:total: 4 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 0 [+0]
-
-./simple.cpp:13: info: Metrics per 'A' region
-	Region name    : A
-	Region type    : function
-	Offsets        : 123-269
-	Line numbers   : 13-24
-	Modified       : False
-	std.code.complexity:cyclomatic: 3 [+0]
-	std.code.lines:code: 11 [+0]
-	std.code.lines:total: 12 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 2 [+0]
-
-./simple.cpp:26: info: Metrics per 'func' region
-	Region name    : func
-	Region type    : function
-	Offsets        : 272-455
-	Line numbers   : 26-42
-	Modified       : False
-	std.code.complexity:cyclomatic: 1 [+0]
-	std.code.lines:code: 5 [+0]
-	std.code.lines:total: 5 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 0 [+0]
-
-./simple.cpp:28: info: Metrics per 'embeded' region
-	Region name    : embeded
-	Region type    : class
-	Offsets        : 301-441
-	Line numbers   : 28-40
-	Modified       : False
-	std.code.lines:code: 3 [+0]
-	std.code.lines:total: 3 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 0 [+0]
-
-./simple.cpp:30: info: Metrics per 'embeded' region
-	Region name    : embeded
-	Region type    : function
-	Offsets        : 322-437
-	Line numbers   : 30-39
-	Modified       : True
-	std.code.complexity:cyclomatic: 2 [+1]
-	std.code.lines:code: 8 [+1]
-	std.code.lines:total: 9 [+1]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 2 [+1]
-
-./simple.cpp:44: info: Metrics per 'never' region
-	Region name    : never
-	Region type    : function
-	Offsets        : 458-549
-	Line numbers   : 44-51
-	Modified       : True
-	std.code.complexity:cyclomatic: 1 [+0]
-	std.code.lines:code: 7 [+0]
-	std.code.lines:total: 7 [+0]
-	std.code.lines:preprocessor: 0 [+0]
-	std.code.lines:comments: 1 [+1]
-
-./simple.cpp:53: info: Metrics per 'new_func' region
-	Region name    : new_func
-	Region type    : function
-	Offsets        : 552-585
-	Line numbers   : 53-56
-	Modified       : None
-	std.code.complexity:cyclomatic: 0
-	std.code.lines:code: 3
-	std.code.lines:total: 4
-	std.code.lines:preprocessor: 0
-	std.code.lines:comments: 1
-
-./simple.cpp:58: info: Metrics per 'new_func_complex' region
-	Region name    : new_func_complex
-	Region type    : function
-	Offsets        : 588-646
-	Line numbers   : 58-62
-	Modified       : None
-	std.code.complexity:cyclomatic: 1
-	std.code.lines:code: 5
-	std.code.lines:total: 5
-	std.code.lines:preprocessor: 0
-	std.code.lines:comments: 0
-
-./simple.cpp:65: info: Metrics per 'new_func_complex_but_suppressed' region
-	Region name    : new_func_complex_but_suppressed
-	Region type    : function
-	Offsets        : 649-808
-	Line numbers   : 64-72
-	Modified       : None
-	std.code.complexity:cyclomatic: 2
-	std.suppress:count: 1
-	std.suppress:list: [std.code.complexity:cyclomatic]
-	std.code.lines:code: 8
-	std.code.lines:total: 9
-	std.code.lines:preprocessor: 0
-	std.code.lines:comments: 1
-
-./simple.cpp:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 1.2 [-0.05]
-	Minimum        : 0 [-1]
-	Maximum        : 2 [+0]
-	Total          : 6.0 [+1.0]
-	Distribution   : 5 [+1] regions in total (including 1 [+1] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.200 : 0.200 : 1 [+1]	||||||||||||||||||||
-	             1 : 0.400 : 0.600 : 2 [-1]	||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.400 : 1.000 : 2 [+1]	||||||||||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.suppress.file:count' metric
-	Average        : None [+0] (excluding zero metric values)
-	Minimum        : None [+0]
-	Maximum        : None [+0]
-	Total          : 0.0 [+0.0]
-	Distribution   : 0 [+0] files in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-
-./simple.cpp:: info: Overall metrics for 'std.suppress:count' metric
-	Average        : 1.0 [+1.0] (excluding zero metric values)
-	Minimum        : 1 [+1]
-	Maximum        : 1 [+1]
-	Total          : 1.0 [+1.0]
-	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:total' metric
-	Average        : 6.42857142857 [+0.571428571429]
-	Minimum        : 4 [+1]
-	Maximum        : 9 [+1]
-	Total          : 45.0 [+4.0]
-	Distribution   : 7 [+0] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             3 : 0.000 : 0.000 : 0 [-1]	
-	             4 : 0.286 : 0.286 : 2 [+1]	|||||||||||||||||||||||||||||
-	             5 : 0.143 : 0.429 : 1 [+0]	||||||||||||||
-	             6 : 0.000 : 0.429 : 0 [-1]	
-	             7 : 0.286 : 0.714 : 2 [+1]	|||||||||||||||||||||||||||||
-	             8 : 0.000 : 0.714 : 0 [-2]	
-	             9 : 0.286 : 1.000 : 2 [+2]	|||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:code' metric
-	Average        : 5.57142857143 [+0.285714285714]
-	Minimum        : 3 [+0]
-	Maximum        : 8 [+1]
-	Total          : 39.0 [+2.0]
-	Distribution   : 7 [+0] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             3 : 0.143 : 0.143 : 1 [+0]	||||||||||||||
-	             4 : 0.286 : 0.429 : 2 [+0]	|||||||||||||||||||||||||||||
-	             5 : 0.143 : 0.571 : 1 [+0]	||||||||||||||
-	             7 : 0.143 : 0.714 : 1 [-2]	||||||||||||||
-	             8 : 0.286 : 1.000 : 2 [+2]	|||||||||||||||||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:preprocessor' metric
-	Average        : 0.285714285714 [+0.142857142857]
-	Minimum        : 0 [+0]
-	Maximum        : 2 [+1]
-	Total          : 2.0 [+1.0]
-	Distribution   : 7 [+0] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.857 : 0.857 : 6 [+0]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.000 : 0.857 : 0 [-1]	
-	             2 : 0.143 : 1.000 : 1 [+1]	||||||||||||||
-
-./simple.cpp:: info: Overall metrics for 'std.code.lines:comments' metric
-	Average        : 0.857142857143 [+0.428571428571]
-	Minimum        : 0 [+0]
-	Maximum        : 2 [+1]
-	Total          : 6.0 [+3.0]
-	Distribution   : 7 [+0] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.286 : 0.286 : 2 [-2]	|||||||||||||||||||||||||||||
-	             1 : 0.571 : 0.857 : 4 [+1]	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.143 : 1.000 : 1 [+1]	||||||||||||||
-
-
+./simple.cpp:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-836
+	Line numbers   : 1-78
+	Modified       : False
+	std.code.lines:code: 0 [+0]
+	std.code.lines:comments: 0 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 0 [+0]
+
+./simple.cpp:4: info: Metrics per 'hmm' region
+	Region name    : hmm
+	Region type    : namespace
+	Offsets        : 2-835
+	Line numbers   : 3-77
+	Modified       : True
+	std.code.lines:code: 4 [+0]
+	std.code.lines:comments: 1 [+0]
+	std.code.lines:preprocessor: 2 [+1]
+	std.code.lines:total: 7 [+1]
+
+./simple.cpp:10: info: Metrics per 'A' region
+	Region name    : A
+	Region type    : class
+	Offsets        : 111-831
+	Line numbers   : 10-75
+	Modified       : True
+	std.code.lines:code: 4 [+0]
+	std.code.lines:comments: 0 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 4 [+0]
+
+./simple.cpp:13: info: Metrics per 'A' region
+	Region name    : A
+	Region type    : function
+	Offsets        : 123-269
+	Line numbers   : 13-24
+	Modified       : False
+	std.code.complexity:cyclomatic: 3 [+0]
+	std.code.lines:code: 11 [+0]
+	std.code.lines:comments: 2 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 12 [+0]
+
+./simple.cpp:26: info: Metrics per 'func' region
+	Region name    : func
+	Region type    : function
+	Offsets        : 272-455
+	Line numbers   : 26-42
+	Modified       : False
+	std.code.complexity:cyclomatic: 1 [+0]
+	std.code.lines:code: 5 [+0]
+	std.code.lines:comments: 0 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 5 [+0]
+
+./simple.cpp:28: info: Metrics per 'embeded' region
+	Region name    : embeded
+	Region type    : class
+	Offsets        : 301-441
+	Line numbers   : 28-40
+	Modified       : False
+	std.code.lines:code: 3 [+0]
+	std.code.lines:comments: 0 [+0]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 3 [+0]
+
+./simple.cpp:30: info: Metrics per 'embeded' region
+	Region name    : embeded
+	Region type    : function
+	Offsets        : 322-437
+	Line numbers   : 30-39
+	Modified       : True
+	std.code.complexity:cyclomatic: 2 [+1]
+	std.code.lines:code: 8 [+1]
+	std.code.lines:comments: 2 [+1]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 9 [+1]
+
+./simple.cpp:44: info: Metrics per 'never' region
+	Region name    : never
+	Region type    : function
+	Offsets        : 458-549
+	Line numbers   : 44-51
+	Modified       : True
+	std.code.complexity:cyclomatic: 1 [+0]
+	std.code.lines:code: 7 [+0]
+	std.code.lines:comments: 1 [+1]
+	std.code.lines:preprocessor: 0 [+0]
+	std.code.lines:total: 7 [+0]
+
+./simple.cpp:53: info: Metrics per 'new_func' region
+	Region name    : new_func
+	Region type    : function
+	Offsets        : 552-585
+	Line numbers   : 53-56
+	Modified       : None
+	std.code.complexity:cyclomatic: 0
+	std.code.lines:code: 3
+	std.code.lines:comments: 1
+	std.code.lines:preprocessor: 0
+	std.code.lines:total: 4
+
+./simple.cpp:58: info: Metrics per 'new_func_complex' region
+	Region name    : new_func_complex
+	Region type    : function
+	Offsets        : 588-646
+	Line numbers   : 58-62
+	Modified       : None
+	std.code.complexity:cyclomatic: 1
+	std.code.lines:code: 5
+	std.code.lines:comments: 0
+	std.code.lines:preprocessor: 0
+	std.code.lines:total: 5
+
+./simple.cpp:65: info: Metrics per 'new_func_complex_but_suppressed' region
+	Region name    : new_func_complex_but_suppressed
+	Region type    : function
+	Offsets        : 649-808
+	Line numbers   : 64-72
+	Modified       : None
+	std.code.complexity:cyclomatic: 2
+	std.code.lines:code: 8
+	std.code.lines:comments: 1
+	std.code.lines:preprocessor: 0
+	std.code.lines:total: 9
+	std.suppress:count: 1
+	std.suppress:list: [std.code.complexity:cyclomatic]
+
+./simple.cpp:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
+	Average        : 1.2 [-0.05]
+	Minimum        : 0 [-1]
+	Maximum        : 2 [+0]
+	Total          : 6.0 [+1.0]
+	Distribution   : 5 [+1] regions in total (including 1 [+1] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.200 : 0.200 : 1 [+1]	||||||||||||||||||||
+	             1 : 0.400 : 0.600 : 2 [-1]	||||||||||||||||||||||||||||||||||||||||
+	             2 : 0.400 : 1.000 : 2 [+1]	||||||||||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:code' metric
+	Average        : 5.57142857 [+0.28571429]
+	Minimum        : 3 [+0]
+	Maximum        : 8 [+1]
+	Total          : 39.0 [+2.0]
+	Distribution   : 7 [+0] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             3 : 0.143 : 0.143 : 1 [+0]	||||||||||||||
+	             4 : 0.286 : 0.429 : 2 [+0]	||||||||||||||||||||||||||||
+	             5 : 0.143 : 0.571 : 1 [+0]	||||||||||||||
+	             7 : 0.143 : 0.714 : 1 [-2]	||||||||||||||
+	             8 : 0.286 : 1.000 : 2 [+2]	||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:comments' metric
+	Average        : 0.85714286 [+0.42857143]
+	Minimum        : 0 [+0]
+	Maximum        : 2 [+1]
+	Total          : 6.0 [+3.0]
+	Distribution   : 7 [+0] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.286 : 0.286 : 2 [-2]	||||||||||||||||||||||||||||
+	             1 : 0.571 : 0.857 : 4 [+1]	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             2 : 0.143 : 1.000 : 1 [+1]	||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:preprocessor' metric
+	Average        : 0.28571429 [+0.14285714]
+	Minimum        : 0 [+0]
+	Maximum        : 2 [+1]
+	Total          : 2.0 [+1.0]
+	Distribution   : 7 [+0] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.857 : 0.857 : 6 [+0]	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.000 : 0.857 : 0 [-1]	
+	             2 : 0.143 : 1.000 : 1 [+1]	||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.code.lines:total' metric
+	Average        : 6.42857143 [+0.57142857]
+	Minimum        : 4 [+1]
+	Maximum        : 9 [+1]
+	Total          : 45.0 [+4.0]
+	Distribution   : 7 [+0] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             3 : 0.000 : 0.000 : 0 [-1]	
+	             4 : 0.286 : 0.286 : 2 [+1]	||||||||||||||||||||||||||||
+	             5 : 0.143 : 0.429 : 1 [+0]	||||||||||||||
+	             6 : 0.000 : 0.429 : 0 [-1]	
+	             7 : 0.286 : 0.714 : 2 [+1]	||||||||||||||||||||||||||||
+	             8 : 0.000 : 0.714 : 0 [-2]	
+	             9 : 0.286 : 1.000 : 2 [+2]	||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.suppress:count' metric
+	Average        : 1.0 [+1.0] (excluding zero metric values)
+	Minimum        : 1 [+1]
+	Maximum        : 1 [+1]
+	Total          : 1.0 [+1.0]
+	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./simple.cpp:: info: Overall metrics for 'std.suppress.file:count' metric
+	Average        : None [+0] (excluding zero metric values)
+	Minimum        : None [+0]
+	Maximum        : None [+0]
+	Total          : 0.0 [+0.0]
+	Distribution   : 0 [+0] files in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+
+

+ 3 - 3
tests/general/test_basic/test_workflow_view_second_stderr.gold.txt

@@ -1,3 +1,3 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 87 - 87
tests/general/test_basic/test_workflow_view_second_stdout.gold.txt

@@ -1,87 +1,87 @@
-<view>
-
-    <data>
-        <info id="1" path="./" />
-        <file-data />
-        <subfiles>
-            <subfile>file_deleted_in_new_sources.cpp</subfile>
-            <subfile>simple2.cpp</subfile>
-            <subfile>simple.cpp</subfile>
-        </subfiles>
-        <subdirs>
-        </subdirs>
-        <aggregated-data>
-            <std.code.complexity>
-                <cyclomatic avg="1.625" count="8" max="3" min="0" nonzero="False" sup="1" total="13.0">
-                    <__diff__ avg="0.25" count="0" max="0" min="-1" nonzero="0" sup="1" total="2.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="1" count="1" metric="0" ratio="0.125" />
-                        <distribution-bar __diff__="-3" count="3" metric="1" ratio="0.375" />
-                        <distribution-bar __diff__="1" count="2" metric="2" ratio="0.25" />
-                        <distribution-bar __diff__="1" count="2" metric="3" ratio="0.25" />
-                    </distribution-bars>
-                </cyclomatic>
-            </std.code.complexity>
-            <std.suppress.file>
-                <count avg="None" count="0" max="None" min="None" nonzero="True" sup="0" total="0.0">
-                    <__diff__ avg="0" count="0" max="0" min="0" nonzero="0" sup="0" total="0.0" />
-                    <distribution-bars>
-                    </distribution-bars>
-                </count>
-            </std.suppress.file>
-            <std.suppress>
-                <count avg="1.0" count="1" max="1" min="1" nonzero="True" sup="0" total="1.0">
-                    <__diff__ avg="1.0" count="1" max="1" min="1" nonzero="0" sup="0" total="1.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="1" count="1" metric="1" ratio="1.0" />
-                    </distribution-bars>
-                </count>
-            </std.suppress>
-            <std.code.lines>
-                <total avg="5.66666666667" count="15" max="12" min="0" nonzero="False" sup="0" total="85.0">
-                    <__diff__ avg="0.229166666667" count="-1" max="0" min="0" nonzero="0" sup="0" total="-2.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="0" count="2" metric="0" ratio="0.133333333333" />
-                        <distribution-bar __diff__="-1" count="2" metric="3" ratio="0.133333333333" />
-                        <distribution-bar __diff__="1" count="2" metric="4" ratio="0.133333333333" />
-                        <distribution-bar __diff__="1" count="3" metric="5" ratio="0.2" />
-                        <distribution-bar __diff__="-1" count="0" metric="6" ratio="0" />
-                        <distribution-bar __diff__="-1" count="2" metric="7" ratio="0.133333333333" />
-                        <distribution-bar __diff__="-2" count="0" metric="8" ratio="0" />
-                        <distribution-bar __diff__="1" count="2" metric="9" ratio="0.133333333333" />
-                        <distribution-bar __diff__="1" count="2" metric="12" ratio="0.133333333333" />
-                    </distribution-bars>
-                </total>
-                <code avg="5.0" count="15" max="11" min="0" nonzero="False" sup="0" total="75.0">
-                    <__diff__ avg="0.125" count="-1" max="0" min="0" nonzero="0" sup="0" total="-3.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="0" count="2" metric="0" ratio="0.133333333333" />
-                        <distribution-bar __diff__="0" count="3" metric="3" ratio="0.2" />
-                        <distribution-bar __diff__="0" count="3" metric="4" ratio="0.2" />
-                        <distribution-bar __diff__="0" count="2" metric="5" ratio="0.133333333333" />
-                        <distribution-bar __diff__="-3" count="1" metric="7" ratio="0.0666666666667" />
-                        <distribution-bar __diff__="1" count="2" metric="8" ratio="0.133333333333" />
-                        <distribution-bar __diff__="1" count="1" metric="10" ratio="0.0666666666667" />
-                        <distribution-bar __diff__="0" count="1" metric="11" ratio="0.0666666666667" />
-                    </distribution-bars>
-                </code>
-                <preprocessor avg="0.133333333333" count="15" max="2" min="0" nonzero="False" sup="0" total="2.0">
-                    <__diff__ avg="0.0708333333333" count="-1" max="1" min="0" nonzero="0" sup="0" total="1.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="-1" count="14" metric="0" ratio="0.933333333333" />
-                        <distribution-bar __diff__="-1" count="0" metric="1" ratio="0" />
-                        <distribution-bar __diff__="1" count="1" metric="2" ratio="0.0666666666667" />
-                    </distribution-bars>
-                </preprocessor>
-                <comments avg="0.733333333333" count="15" max="2" min="0" nonzero="False" sup="0" total="11.0">
-                    <__diff__ avg="0.108333333333" count="-1" max="-1" min="0" nonzero="0" sup="0" total="1.0" />
-                    <distribution-bars>
-                        <distribution-bar __diff__="-3" count="7" metric="0" ratio="0.466666666667" />
-                        <distribution-bar __diff__="2" count="5" metric="1" ratio="0.333333333333" />
-                        <distribution-bar __diff__="1" count="3" metric="2" ratio="0.2" />
-                    </distribution-bars>
-                </comments>
-            </std.code.lines>
-        </aggregated-data>
-    </data>
-</view>
+<view>
+
+    <data>
+        <aggregated-data>
+            <std.code.complexity>
+                <cyclomatic avg="1.625" count="8" max="3" min="0" nonzero="False" sup="1" total="13.0">
+                    <__diff__ avg="0.25" count="0" max="0" min="-1" nonzero="0" sup="1" total="2.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="1" count="1" metric="0" ratio="0.125" />
+                        <distribution-bar __diff__="-3" count="3" metric="1" ratio="0.375" />
+                        <distribution-bar __diff__="1" count="2" metric="2" ratio="0.25" />
+                        <distribution-bar __diff__="1" count="2" metric="3" ratio="0.25" />
+                    </distribution-bars>
+                </cyclomatic>
+            </std.code.complexity>
+            <std.code.lines>
+                <code avg="5.0" count="15" max="11" min="0" nonzero="False" sup="0" total="75.0">
+                    <__diff__ avg="0.125" count="-1" max="0" min="0" nonzero="0" sup="0" total="-3.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="0" count="2" metric="0" ratio="0.13333333" />
+                        <distribution-bar __diff__="0" count="3" metric="3" ratio="0.2" />
+                        <distribution-bar __diff__="0" count="3" metric="4" ratio="0.2" />
+                        <distribution-bar __diff__="0" count="2" metric="5" ratio="0.13333333" />
+                        <distribution-bar __diff__="-3" count="1" metric="7" ratio="0.06666667" />
+                        <distribution-bar __diff__="1" count="2" metric="8" ratio="0.13333333" />
+                        <distribution-bar __diff__="1" count="1" metric="10" ratio="0.06666667" />
+                        <distribution-bar __diff__="0" count="1" metric="11" ratio="0.06666667" />
+                    </distribution-bars>
+                </code>
+                <comments avg="0.73333333" count="15" max="2" min="0" nonzero="False" sup="0" total="11.0">
+                    <__diff__ avg="0.10833333" count="-1" max="-1" min="0" nonzero="0" sup="0" total="1.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="-3" count="7" metric="0" ratio="0.46666667" />
+                        <distribution-bar __diff__="2" count="5" metric="1" ratio="0.33333333" />
+                        <distribution-bar __diff__="1" count="3" metric="2" ratio="0.2" />
+                    </distribution-bars>
+                </comments>
+                <preprocessor avg="0.13333333" count="15" max="2" min="0" nonzero="False" sup="0" total="2.0">
+                    <__diff__ avg="0.07083333" count="-1" max="1" min="0" nonzero="0" sup="0" total="1.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="-1" count="14" metric="0" ratio="0.93333333" />
+                        <distribution-bar __diff__="-1" count="0" metric="1" ratio="0" />
+                        <distribution-bar __diff__="1" count="1" metric="2" ratio="0.06666667" />
+                    </distribution-bars>
+                </preprocessor>
+                <total avg="5.66666667" count="15" max="12" min="0" nonzero="False" sup="0" total="85.0">
+                    <__diff__ avg="0.22916667" count="-1" max="0" min="0" nonzero="0" sup="0" total="-2.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="0" count="2" metric="0" ratio="0.13333333" />
+                        <distribution-bar __diff__="-1" count="2" metric="3" ratio="0.13333333" />
+                        <distribution-bar __diff__="1" count="2" metric="4" ratio="0.13333333" />
+                        <distribution-bar __diff__="1" count="3" metric="5" ratio="0.2" />
+                        <distribution-bar __diff__="-1" count="0" metric="6" ratio="0" />
+                        <distribution-bar __diff__="-1" count="2" metric="7" ratio="0.13333333" />
+                        <distribution-bar __diff__="-2" count="0" metric="8" ratio="0" />
+                        <distribution-bar __diff__="1" count="2" metric="9" ratio="0.13333333" />
+                        <distribution-bar __diff__="1" count="2" metric="12" ratio="0.13333333" />
+                    </distribution-bars>
+                </total>
+            </std.code.lines>
+            <std.suppress>
+                <count avg="1.0" count="1" max="1" min="1" nonzero="True" sup="0" total="1.0">
+                    <__diff__ avg="1.0" count="1" max="1" min="1" nonzero="0" sup="0" total="1.0" />
+                    <distribution-bars>
+                        <distribution-bar __diff__="1" count="1" metric="1" ratio="1.0" />
+                    </distribution-bars>
+                </count>
+            </std.suppress>
+            <std.suppress.file>
+                <count avg="None" count="0" max="None" min="None" nonzero="True" sup="0" total="0.0">
+                    <__diff__ avg="0" count="0" max="0" min="0" nonzero="0" sup="0" total="0.0" />
+                    <distribution-bars>
+                    </distribution-bars>
+                </count>
+            </std.suppress.file>
+        </aggregated-data>
+        <file-data />
+        <info id="1" path="./" />
+        <subdirs>
+        </subdirs>
+        <subfiles>
+            <subfile>file_deleted_in_new_sources.cpp</subfile>
+            <subfile>simple.cpp</subfile>
+            <subfile>simple2.cpp</subfile>
+        </subfiles>
+    </data>
+</view>

+ 3 - 3
tests/general/test_basic/test_workflow_view_second_txt_all_stderr.gold.txt

@@ -1,3 +1,3 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 90 - 90
tests/general/test_basic/test_workflow_view_second_txt_all_stdout.gold.txt

@@ -1,90 +1,90 @@
-./:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 1.625 [+0.25]
-	Minimum        : 0 [-1]
-	Maximum        : 3 [+0]
-	Total          : 13.0 [+2.0]
-	Distribution   : 8 [+0] regions in total (including 1 [+1] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.125 : 0.125 : 1 [+1]	|||||||||||||
-	             1 : 0.375 : 0.500 : 3 [-3]	||||||||||||||||||||||||||||||||||||||
-	             2 : 0.250 : 0.750 : 2 [+1]	|||||||||||||||||||||||||
-	             3 : 0.250 : 1.000 : 2 [+1]	|||||||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.suppress.file:count' metric
-	Average        : None [+0] (excluding zero metric values)
-	Minimum        : None [+0]
-	Maximum        : None [+0]
-	Total          : 0.0 [+0.0]
-	Distribution   : 0 [+0] files in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-
-./:: info: Overall metrics for 'std.suppress:count' metric
-	Average        : 1.0 [+1.0] (excluding zero metric values)
-	Minimum        : 1 [+1]
-	Maximum        : 1 [+1]
-	Total          : 1.0 [+1.0]
-	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.code.lines:total' metric
-	Average        : 5.66666666667 [+0.229166666667]
-	Minimum        : 0 [+0]
-	Maximum        : 12 [+0]
-	Total          : 85.0 [-2.0]
-	Distribution   : 15 [-1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.133 : 0.133 :  2 [+0 ]	|||||||||||||
-	             3 : 0.133 : 0.267 :  2 [-1 ]	|||||||||||||
-	             4 : 0.133 : 0.400 :  2 [+1 ]	|||||||||||||
-	             5 : 0.200 : 0.600 :  3 [+1 ]	||||||||||||||||||||
-	             6 : 0.000 : 0.600 :  0 [-1 ]	
-	             7 : 0.133 : 0.733 :  2 [-1 ]	|||||||||||||
-	             8 : 0.000 : 0.733 :  0 [-2 ]	
-	             9 : 0.133 : 0.867 :  2 [+1 ]	|||||||||||||
-	            12 : 0.133 : 1.000 :  2 [+1 ]	|||||||||||||
-
-./:: info: Overall metrics for 'std.code.lines:code' metric
-	Average        : 5.0 [+0.125]
-	Minimum        : 0 [+0]
-	Maximum        : 11 [+0]
-	Total          : 75.0 [-3.0]
-	Distribution   : 15 [-1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.133 : 0.133 :  2 [+0 ]	|||||||||||||
-	             3 : 0.200 : 0.333 :  3 [+0 ]	||||||||||||||||||||
-	             4 : 0.200 : 0.533 :  3 [+0 ]	||||||||||||||||||||
-	             5 : 0.133 : 0.667 :  2 [+0 ]	|||||||||||||
-	             7 : 0.067 : 0.733 :  1 [-3 ]	|||||||
-	             8 : 0.133 : 0.867 :  2 [+1 ]	|||||||||||||
-	            10 : 0.067 : 0.933 :  1 [+1 ]	|||||||
-	            11 : 0.067 : 1.000 :  1 [+0 ]	|||||||
-
-./:: info: Overall metrics for 'std.code.lines:preprocessor' metric
-	Average        : 0.133333333333 [+0.0708333333333]
-	Minimum        : 0 [+0]
-	Maximum        : 2 [+1]
-	Total          : 2.0 [+1.0]
-	Distribution   : 15 [-1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.933 : 0.933 : 14 [-1 ]	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.000 : 0.933 :  0 [-1 ]	
-	             2 : 0.067 : 1.000 :  1 [+1 ]	|||||||
-
-./:: info: Overall metrics for 'std.code.lines:comments' metric
-	Average        : 0.733333333333 [+0.108333333333]
-	Minimum        : 0 [+0]
-	Maximum        : 2 [-1]
-	Total          : 11.0 [+1.0]
-	Distribution   : 15 [-1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.467 : 0.467 :  7 [-3 ]	|||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.333 : 0.800 :  5 [+2 ]	|||||||||||||||||||||||||||||||||
-	             2 : 0.200 : 1.000 :  3 [+1 ]	||||||||||||||||||||
-
-./:: info: Directory content:
-	File           : file_deleted_in_new_sources.cpp
-	File           : simple2.cpp
-	File           : simple.cpp
-
-
+./:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
+	Average        : 1.625 [+0.25]
+	Minimum        : 0 [-1]
+	Maximum        : 3 [+0]
+	Total          : 13.0 [+2.0]
+	Distribution   : 8 [+0] regions in total (including 1 [+1] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.125 : 0.125 : 1 [+1]	||||||||||||
+	             1 : 0.375 : 0.500 : 3 [-3]	|||||||||||||||||||||||||||||||||||||
+	             2 : 0.250 : 0.750 : 2 [+1]	|||||||||||||||||||||||||
+	             3 : 0.250 : 1.000 : 2 [+1]	|||||||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.code.lines:code' metric
+	Average        : 5.0 [+0.125]
+	Minimum        : 0 [+0]
+	Maximum        : 11 [+0]
+	Total          : 75.0 [-3.0]
+	Distribution   : 15 [-1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.133 : 0.133 :  2 [+0 ]	|||||||||||||
+	             3 : 0.200 : 0.333 :  3 [+0 ]	||||||||||||||||||||
+	             4 : 0.200 : 0.533 :  3 [+0 ]	||||||||||||||||||||
+	             5 : 0.133 : 0.667 :  2 [+0 ]	|||||||||||||
+	             7 : 0.067 : 0.733 :  1 [-3 ]	||||||
+	             8 : 0.133 : 0.867 :  2 [+1 ]	|||||||||||||
+	            10 : 0.067 : 0.933 :  1 [+1 ]	||||||
+	            11 : 0.067 : 1.000 :  1 [+0 ]	||||||
+
+./:: info: Overall metrics for 'std.code.lines:comments' metric
+	Average        : 0.73333333 [+0.10833333]
+	Minimum        : 0 [+0]
+	Maximum        : 2 [-1]
+	Total          : 11.0 [+1.0]
+	Distribution   : 15 [-1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.467 : 0.467 :  7 [-3 ]	||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.333 : 0.800 :  5 [+2 ]	|||||||||||||||||||||||||||||||||
+	             2 : 0.200 : 1.000 :  3 [+1 ]	||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.code.lines:preprocessor' metric
+	Average        : 0.13333333 [+0.07083333]
+	Minimum        : 0 [+0]
+	Maximum        : 2 [+1]
+	Total          : 2.0 [+1.0]
+	Distribution   : 15 [-1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.933 : 0.933 : 14 [-1 ]	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.000 : 0.933 :  0 [-1 ]	
+	             2 : 0.067 : 1.000 :  1 [+1 ]	||||||
+
+./:: info: Overall metrics for 'std.code.lines:total' metric
+	Average        : 5.66666667 [+0.22916667]
+	Minimum        : 0 [+0]
+	Maximum        : 12 [+0]
+	Total          : 85.0 [-2.0]
+	Distribution   : 15 [-1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.133 : 0.133 :  2 [+0 ]	|||||||||||||
+	             3 : 0.133 : 0.267 :  2 [-1 ]	|||||||||||||
+	             4 : 0.133 : 0.400 :  2 [+1 ]	|||||||||||||
+	             5 : 0.200 : 0.600 :  3 [+1 ]	||||||||||||||||||||
+	             6 : 0.000 : 0.600 :  0 [-1 ]	
+	             7 : 0.133 : 0.733 :  2 [-1 ]	|||||||||||||
+	             8 : 0.000 : 0.733 :  0 [-2 ]	
+	             9 : 0.133 : 0.867 :  2 [+1 ]	|||||||||||||
+	            12 : 0.133 : 1.000 :  2 [+1 ]	|||||||||||||
+
+./:: info: Overall metrics for 'std.suppress:count' metric
+	Average        : 1.0 [+1.0] (excluding zero metric values)
+	Minimum        : 1 [+1]
+	Maximum        : 1 [+1]
+	Total          : 1.0 [+1.0]
+	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.suppress.file:count' metric
+	Average        : None [+0] (excluding zero metric values)
+	Minimum        : None [+0]
+	Maximum        : None [+0]
+	Total          : 0.0 [+0.0]
+	Distribution   : 0 [+0] files in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+
+./:: info: Directory content:
+	File           : file_deleted_in_new_sources.cpp
+	File           : simple.cpp
+	File           : simple2.cpp
+
+

+ 5 - 5
tests/general/test_basic/test_workflow_view_second_txt_new_stderr.gold.txt

@@ -1,5 +1,5 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./
-[LOG]: INFO:	Processing: ./simple.cpp [modified]
-[LOG]: INFO:	Processing: ./simple2.cpp [new]
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./
+[LOG]: INFO:	Processing: ./simple.cpp [modified]
+[LOG]: INFO:	Processing: ./simple2.cpp [new]
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 83 - 83
tests/general/test_basic/test_workflow_view_second_txt_new_stdout.gold.txt

@@ -1,83 +1,83 @@
-./:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 1.5 [+1.5]
-	Minimum        : 0 [+0]
-	Maximum        : 3 [+3]
-	Total          : 6.0 [+6.0]
-	Distribution   : 4 [+4] regions in total (including 1 [+1] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.250 : 0.250 : 1 [+1]	|||||||||||||||||||||||||
-	             1 : 0.250 : 0.500 : 1 [+1]	|||||||||||||||||||||||||
-	             2 : 0.250 : 0.750 : 1 [+1]	|||||||||||||||||||||||||
-	             3 : 0.250 : 1.000 : 1 [+1]	|||||||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.suppress.file:count' metric
-	Average        : None [+0] (excluding zero metric values)
-	Minimum        : None [+0]
-	Maximum        : None [+0]
-	Total          : 0.0 [+0.0]
-	Distribution   : 0 [+0] files in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-
-./:: info: Overall metrics for 'std.suppress:count' metric
-	Average        : 1.0 [+1.0] (excluding zero metric values)
-	Minimum        : 1 [+1]
-	Maximum        : 1 [+1]
-	Total          : 1.0 [+1.0]
-	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.code.lines:total' metric
-	Average        : 5.42857142857 [+5.42857142857]
-	Minimum        : 0 [+0]
-	Maximum        : 12 [+12]
-	Total          : 38.0 [+38.0]
-	Distribution   : 7 [+7] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.143 : 0.143 : 1 [+1]	||||||||||||||
-	             3 : 0.143 : 0.286 : 1 [+1]	||||||||||||||
-	             4 : 0.143 : 0.429 : 1 [+1]	||||||||||||||
-	             5 : 0.286 : 0.714 : 2 [+2]	|||||||||||||||||||||||||||||
-	             9 : 0.143 : 0.857 : 1 [+1]	||||||||||||||
-	            12 : 0.143 : 1.000 : 1 [+1]	||||||||||||||
-
-./:: info: Overall metrics for 'std.code.lines:code' metric
-	Average        : 4.71428571429 [+4.71428571429]
-	Minimum        : 0 [+0]
-	Maximum        : 10 [+10]
-	Total          : 33.0 [+33.0]
-	Distribution   : 7 [+7] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.143 : 0.143 : 1 [+1]	||||||||||||||
-	             3 : 0.286 : 0.429 : 2 [+2]	|||||||||||||||||||||||||||||
-	             4 : 0.143 : 0.571 : 1 [+1]	||||||||||||||
-	             5 : 0.143 : 0.714 : 1 [+1]	||||||||||||||
-	             8 : 0.143 : 0.857 : 1 [+1]	||||||||||||||
-	            10 : 0.143 : 1.000 : 1 [+1]	||||||||||||||
-
-./:: info: Overall metrics for 'std.code.lines:preprocessor' metric
-	Average        : 0.0 [+0.0]
-	Minimum        : 0 [+0]
-	Maximum        : 0 [+0]
-	Total          : 0.0 [+0.0]
-	Distribution   : 7 [+7] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 1.000 : 1.000 : 7 [+7]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.code.lines:comments' metric
-	Average        : 0.714285714286 [+0.714285714286]
-	Minimum        : 0 [+0]
-	Maximum        : 2 [+2]
-	Total          : 5.0 [+5.0]
-	Distribution   : 7 [+7] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.429 : 0.429 : 3 [+3]	|||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.429 : 0.857 : 3 [+3]	|||||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.143 : 1.000 : 1 [+1]	||||||||||||||
-
-./:: info: Directory content:
-	File           : file_deleted_in_new_sources.cpp
-	File           : simple2.cpp
-	File           : simple.cpp
-
-
+./:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
+	Average        : 1.5 [+1.5]
+	Minimum        : 0 [+0]
+	Maximum        : 3 [+3]
+	Total          : 6.0 [+6.0]
+	Distribution   : 4 [+4] regions in total (including 1 [+1] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.250 : 0.250 : 1 [+1]	|||||||||||||||||||||||||
+	             1 : 0.250 : 0.500 : 1 [+1]	|||||||||||||||||||||||||
+	             2 : 0.250 : 0.750 : 1 [+1]	|||||||||||||||||||||||||
+	             3 : 0.250 : 1.000 : 1 [+1]	|||||||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.code.lines:code' metric
+	Average        : 4.71428571 [+4.71428571]
+	Minimum        : 0 [+0]
+	Maximum        : 10 [+10]
+	Total          : 33.0 [+33.0]
+	Distribution   : 7 [+7] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.143 : 0.143 : 1 [+1]	||||||||||||||
+	             3 : 0.286 : 0.429 : 2 [+2]	||||||||||||||||||||||||||||
+	             4 : 0.143 : 0.571 : 1 [+1]	||||||||||||||
+	             5 : 0.143 : 0.714 : 1 [+1]	||||||||||||||
+	             8 : 0.143 : 0.857 : 1 [+1]	||||||||||||||
+	            10 : 0.143 : 1.000 : 1 [+1]	||||||||||||||
+
+./:: info: Overall metrics for 'std.code.lines:comments' metric
+	Average        : 0.71428571 [+0.71428571]
+	Minimum        : 0 [+0]
+	Maximum        : 2 [+2]
+	Total          : 5.0 [+5.0]
+	Distribution   : 7 [+7] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.429 : 0.429 : 3 [+3]	||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.429 : 0.857 : 3 [+3]	||||||||||||||||||||||||||||||||||||||||||
+	             2 : 0.143 : 1.000 : 1 [+1]	||||||||||||||
+
+./:: info: Overall metrics for 'std.code.lines:preprocessor' metric
+	Average        : 0.0 [+0.0]
+	Minimum        : 0 [+0]
+	Maximum        : 0 [+0]
+	Total          : 0.0 [+0.0]
+	Distribution   : 7 [+7] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 1.000 : 1.000 : 7 [+7]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.code.lines:total' metric
+	Average        : 5.42857143 [+5.42857143]
+	Minimum        : 0 [+0]
+	Maximum        : 12 [+12]
+	Total          : 38.0 [+38.0]
+	Distribution   : 7 [+7] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.143 : 0.143 : 1 [+1]	||||||||||||||
+	             3 : 0.143 : 0.286 : 1 [+1]	||||||||||||||
+	             4 : 0.143 : 0.429 : 1 [+1]	||||||||||||||
+	             5 : 0.286 : 0.714 : 2 [+2]	||||||||||||||||||||||||||||
+	             9 : 0.143 : 0.857 : 1 [+1]	||||||||||||||
+	            12 : 0.143 : 1.000 : 1 [+1]	||||||||||||||
+
+./:: info: Overall metrics for 'std.suppress:count' metric
+	Average        : 1.0 [+1.0] (excluding zero metric values)
+	Minimum        : 1 [+1]
+	Maximum        : 1 [+1]
+	Total          : 1.0 [+1.0]
+	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.suppress.file:count' metric
+	Average        : None [+0] (excluding zero metric values)
+	Minimum        : None [+0]
+	Maximum        : None [+0]
+	Total          : 0.0 [+0.0]
+	Distribution   : 0 [+0] files in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+
+./:: info: Directory content:
+	File           : file_deleted_in_new_sources.cpp
+	File           : simple.cpp
+	File           : simple2.cpp
+
+

+ 6 - 6
tests/general/test_basic/test_workflow_view_second_txt_touched_stderr.gold.txt

@@ -1,6 +1,6 @@
-[LOG]: WARNING:	Logging enabled with INFO level
-[LOG]: INFO:	Processing: ./
-[LOG]: INFO:	Processing: ./simple.cpp [modified]
-[LOG]: INFO:	Processing: ./simple2.cpp [new]
-[LOG]: INFO:	Processing: ./file_deleted_in_new_sources.cpp [deleted]
-[LOG]: WARNING:	Done (1 seconds). Exit code: 0
+[LOG]: WARNING:	Logging enabled with INFO level
+[LOG]: INFO:	Processing: ./
+[LOG]: INFO:	Processing: ./simple.cpp [modified]
+[LOG]: INFO:	Processing: ./simple2.cpp [new]
+[LOG]: INFO:	Processing: ./file_deleted_in_new_sources.cpp [deleted]
+[LOG]: WARNING:	Done (1 seconds). Exit code: 0

+ 89 - 89
tests/general/test_basic/test_workflow_view_second_txt_touched_stdout.gold.txt

@@ -1,89 +1,89 @@
-./:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 1.5 [+0.333333333333]
-	Minimum        : 0 [-1]
-	Maximum        : 3 [+1]
-	Total          : 9.0 [+2.0]
-	Distribution   : 6 [+0] regions in total (including 1 [+1] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.167 : 0.167 : 1 [+1]	|||||||||||||||||
-	             1 : 0.333 : 0.500 : 2 [-3]	|||||||||||||||||||||||||||||||||
-	             2 : 0.333 : 0.833 : 2 [+1]	|||||||||||||||||||||||||||||||||
-	             3 : 0.167 : 1.000 : 1 [+1]	|||||||||||||||||
-
-./:: info: Overall metrics for 'std.suppress.file:count' metric
-	Average        : None [+0] (excluding zero metric values)
-	Minimum        : None [+0]
-	Maximum        : None [+0]
-	Total          : 0.0 [+0.0]
-	Distribution   : 0 [+0] files in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of files
-
-./:: info: Overall metrics for 'std.suppress:count' metric
-	Average        : 1.0 [+1.0] (excluding zero metric values)
-	Minimum        : 1 [+1]
-	Maximum        : 1 [+1]
-	Total          : 1.0 [+1.0]
-	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-./:: info: Overall metrics for 'std.code.lines:total' metric
-	Average        : 5.90909090909 [+0.325757575758]
-	Minimum        : 0 [+0]
-	Maximum        : 12 [+3]
-	Total          : 65.0 [-2.0]
-	Distribution   : 11 [-1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.091 : 0.091 :  1 [+0 ]	|||||||||
-	             3 : 0.091 : 0.182 :  1 [-1 ]	|||||||||
-	             4 : 0.182 : 0.364 :  2 [+1 ]	||||||||||||||||||
-	             5 : 0.182 : 0.545 :  2 [+1 ]	||||||||||||||||||
-	             6 : 0.000 : 0.545 :  0 [-1 ]	
-	             7 : 0.182 : 0.727 :  2 [-1 ]	||||||||||||||||||
-	             8 : 0.000 : 0.727 :  0 [-2 ]	
-	             9 : 0.182 : 0.909 :  2 [+1 ]	||||||||||||||||||
-	            12 : 0.091 : 1.000 :  1 [+1 ]	|||||||||
-
-./:: info: Overall metrics for 'std.code.lines:code' metric
-	Average        : 5.09090909091 [+0.174242424242]
-	Minimum        : 0 [+0]
-	Maximum        : 10 [+2]
-	Total          : 56.0 [-3.0]
-	Distribution   : 11 [-1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.091 : 0.091 :  1 [+0 ]	|||||||||
-	             3 : 0.182 : 0.273 :  2 [+0 ]	||||||||||||||||||
-	             4 : 0.273 : 0.545 :  3 [+0 ]	|||||||||||||||||||||||||||
-	             5 : 0.091 : 0.636 :  1 [+0 ]	|||||||||
-	             7 : 0.091 : 0.727 :  1 [-3 ]	|||||||||
-	             8 : 0.182 : 0.909 :  2 [+1 ]	||||||||||||||||||
-	            10 : 0.091 : 1.000 :  1 [+1 ]	|||||||||
-
-./:: info: Overall metrics for 'std.code.lines:preprocessor' metric
-	Average        : 0.181818181818 [+0.0984848484848]
-	Minimum        : 0 [+0]
-	Maximum        : 2 [+1]
-	Total          : 2.0 [+1.0]
-	Distribution   : 11 [-1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.909 : 0.909 : 10 [-1 ]	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.000 : 0.909 :  0 [-1 ]	
-	             2 : 0.091 : 1.000 :  1 [+1 ]	|||||||||
-
-./:: info: Overall metrics for 'std.code.lines:comments' metric
-	Average        : 0.818181818182 [+0.151515151515]
-	Minimum        : 0 [+0]
-	Maximum        : 2 [-1]
-	Total          : 9.0 [+1.0]
-	Distribution   : 11 [-1] regions in total (including 0 [+0] suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.364 : 0.364 :  4 [-3 ]	||||||||||||||||||||||||||||||||||||
-	             1 : 0.455 : 0.818 :  5 [+2 ]	|||||||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.182 : 1.000 :  2 [+1 ]	||||||||||||||||||
-
-./:: info: Directory content:
-	File           : file_deleted_in_new_sources.cpp
-	File           : simple2.cpp
-	File           : simple.cpp
-
-
+./:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
+	Average        : 1.5 [+0.33333333]
+	Minimum        : 0 [-1]
+	Maximum        : 3 [+1]
+	Total          : 9.0 [+2.0]
+	Distribution   : 6 [+0] regions in total (including 1 [+1] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.167 : 0.167 : 1 [+1]	||||||||||||||||
+	             1 : 0.333 : 0.500 : 2 [-3]	|||||||||||||||||||||||||||||||||
+	             2 : 0.333 : 0.833 : 2 [+1]	|||||||||||||||||||||||||||||||||
+	             3 : 0.167 : 1.000 : 1 [+1]	||||||||||||||||
+
+./:: info: Overall metrics for 'std.code.lines:code' metric
+	Average        : 5.09090909 [+0.17424242]
+	Minimum        : 0 [+0]
+	Maximum        : 10 [+2]
+	Total          : 56.0 [-3.0]
+	Distribution   : 11 [-1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.091 : 0.091 :  1 [+0 ]	|||||||||
+	             3 : 0.182 : 0.273 :  2 [+0 ]	||||||||||||||||||
+	             4 : 0.273 : 0.545 :  3 [+0 ]	|||||||||||||||||||||||||||
+	             5 : 0.091 : 0.636 :  1 [+0 ]	|||||||||
+	             7 : 0.091 : 0.727 :  1 [-3 ]	|||||||||
+	             8 : 0.182 : 0.909 :  2 [+1 ]	||||||||||||||||||
+	            10 : 0.091 : 1.000 :  1 [+1 ]	|||||||||
+
+./:: info: Overall metrics for 'std.code.lines:comments' metric
+	Average        : 0.81818182 [+0.15151515]
+	Minimum        : 0 [+0]
+	Maximum        : 2 [-1]
+	Total          : 9.0 [+1.0]
+	Distribution   : 11 [-1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.364 : 0.364 :  4 [-3 ]	||||||||||||||||||||||||||||||||||||
+	             1 : 0.455 : 0.818 :  5 [+2 ]	|||||||||||||||||||||||||||||||||||||||||||||
+	             2 : 0.182 : 1.000 :  2 [+1 ]	||||||||||||||||||
+
+./:: info: Overall metrics for 'std.code.lines:preprocessor' metric
+	Average        : 0.18181818 [+0.09848485]
+	Minimum        : 0 [+0]
+	Maximum        : 2 [+1]
+	Total          : 2.0 [+1.0]
+	Distribution   : 11 [-1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.909 : 0.909 : 10 [-1 ]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.000 : 0.909 :  0 [-1 ]	
+	             2 : 0.091 : 1.000 :  1 [+1 ]	|||||||||
+
+./:: info: Overall metrics for 'std.code.lines:total' metric
+	Average        : 5.90909091 [+0.32575758]
+	Minimum        : 0 [+0]
+	Maximum        : 12 [+3]
+	Total          : 65.0 [-2.0]
+	Distribution   : 11 [-1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.091 : 0.091 :  1 [+0 ]	|||||||||
+	             3 : 0.091 : 0.182 :  1 [-1 ]	|||||||||
+	             4 : 0.182 : 0.364 :  2 [+1 ]	||||||||||||||||||
+	             5 : 0.182 : 0.545 :  2 [+1 ]	||||||||||||||||||
+	             6 : 0.000 : 0.545 :  0 [-1 ]	
+	             7 : 0.182 : 0.727 :  2 [-1 ]	||||||||||||||||||
+	             8 : 0.000 : 0.727 :  0 [-2 ]	
+	             9 : 0.182 : 0.909 :  2 [+1 ]	||||||||||||||||||
+	            12 : 0.091 : 1.000 :  1 [+1 ]	|||||||||
+
+./:: info: Overall metrics for 'std.suppress:count' metric
+	Average        : 1.0 [+1.0] (excluding zero metric values)
+	Minimum        : 1 [+1]
+	Maximum        : 1 [+1]
+	Total          : 1.0 [+1.0]
+	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+./:: info: Overall metrics for 'std.suppress.file:count' metric
+	Average        : None [+0] (excluding zero metric values)
+	Minimum        : None [+0]
+	Maximum        : None [+0]
+	Total          : 0.0 [+0.0]
+	Distribution   : 0 [+0] files in total (including 0 [+0] suppressed)
+	  Metric value : Ratio : R-sum : Number of files
+
+./:: info: Directory content:
+	File           : file_deleted_in_new_sources.cpp
+	File           : simple.cpp
+	File           : simple2.cpp
+
+

+ 1 - 1
tests/general/test_std_code_cpp.py

@@ -20,7 +20,7 @@ class Test(tests.common.TestCase):
         runner = tests.common.ToolRunner('view', opts_list=['--format=xml'])
         self.assertExec(runner.run())
         
-        dirs_list = [os.path.join('.', each) for each in os.listdir(self.get_content_paths().cwd)]
+        dirs_list = [os.path.join('.', each) for each in sorted(os.listdir(self.get_content_paths().cwd))]
         runner = tests.common.ToolRunner('view', dirs_list=dirs_list, prefix='files')
         self.assertExec(runner.run())
 

+ 6 - 6
tests/general/test_std_code_cpp/test_parser_collect_default_stdout.gold.txt

@@ -1,6 +1,6 @@
-./test3.cpp:68: warning: Non-matching closing bracket '}' detected.
-
-./test3.cpp:88: warning: Non-matching closing bracket '}' detected.
-
-./test3.cpp:110: warning: Non-matching opening bracket '{' detected.
-
+./test3.cpp:68: warning: Non-matching closing bracket '}' detected.
+
+./test3.cpp:88: warning: Non-matching closing bracket '}' detected.
+
+./test3.cpp:110: warning: Non-matching opening bracket '{' detected.
+

+ 110 - 110
tests/general/test_std_code_cpp/test_parser_limit_default_stdout.gold.txt

@@ -1,110 +1,110 @@
-./operator_test.hpp:6: warning: Metric 'std.code.complexity:cyclomatic' for region 'policy_mcr' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : policy_mcr
-	Metric value   : 2
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./operator_test.hpp:71: warning: Metric 'std.code.complexity:cyclomatic' for region 'operator &&' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : operator &&
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./operator_test.hpp:72: warning: Metric 'std.code.complexity:cyclomatic' for region 'operator ||' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : operator ||
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./test.c:147: warning: Metric 'std.code.complexity:cyclomatic' for region 'uppercase' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : uppercase
-	Metric value   : 2
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./test.c:216: warning: Metric 'std.code.complexity:cyclomatic' for region 'reset' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : reset
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./test.c:296: warning: Metric 'std.code.complexity:cyclomatic' for region 'save' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : save
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./test.c:332: warning: Metric 'std.code.complexity:cyclomatic' for region 'main' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : main
-	Metric value   : 2
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./test2.cpp:7: warning: Metric 'std.code.complexity:cyclomatic' for region 'A' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : A
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./test2.cpp:23: warning: Metric 'std.code.complexity:cyclomatic' for region 'main' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : main
-	Metric value   : 2
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./test3.cpp:39: warning: Metric 'std.code.complexity:cyclomatic' for region 'doColor' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : doColor
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./test3.cpp:53: warning: Metric 'std.code.complexity:cyclomatic' for region 'doFont' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : doFont
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./test3.cpp:72: warning: Metric 'std.code.complexity:cyclomatic' for region 'doFont222' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : doFont222
-	Metric value   : 2
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./:: info: 12 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-
+./operator_test.hpp:6: warning: Metric 'std.code.complexity:cyclomatic' for region 'policy_mcr' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : policy_mcr
+	Metric value   : 2
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./operator_test.hpp:71: warning: Metric 'std.code.complexity:cyclomatic' for region 'operator &&' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : operator &&
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./operator_test.hpp:72: warning: Metric 'std.code.complexity:cyclomatic' for region 'operator ||' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : operator ||
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./test.c:147: warning: Metric 'std.code.complexity:cyclomatic' for region 'uppercase' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : uppercase
+	Metric value   : 2
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./test.c:216: warning: Metric 'std.code.complexity:cyclomatic' for region 'reset' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : reset
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./test.c:296: warning: Metric 'std.code.complexity:cyclomatic' for region 'save' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : save
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./test.c:332: warning: Metric 'std.code.complexity:cyclomatic' for region 'main' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : main
+	Metric value   : 2
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./test2.cpp:7: warning: Metric 'std.code.complexity:cyclomatic' for region 'A' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : A
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./test2.cpp:23: warning: Metric 'std.code.complexity:cyclomatic' for region 'main' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : main
+	Metric value   : 2
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./test3.cpp:39: warning: Metric 'std.code.complexity:cyclomatic' for region 'doColor' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : doColor
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./test3.cpp:53: warning: Metric 'std.code.complexity:cyclomatic' for region 'doFont' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : doFont
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./test3.cpp:72: warning: Metric 'std.code.complexity:cyclomatic' for region 'doFont222' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : doFont222
+	Metric value   : 2
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./:: info: 12 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+

+ 27 - 27
tests/general/test_std_code_cpp/test_parser_view_default_stdout.gold.txt

@@ -1,27 +1,27 @@
-<view>
-
-    <data>
-        <info id="1" path="./" />
-        <file-data />
-        <subfiles>
-            <subfile>operator_test.hpp</subfile>
-            <subfile>function_ends_on_class.cpp</subfile>
-            <subfile>test.c</subfile>
-            <subfile>test2.cpp</subfile>
-            <subfile>test3.cpp</subfile>
-        </subfiles>
-        <subdirs>
-        </subdirs>
-        <aggregated-data>
-            <std.code.complexity>
-                <cyclomatic avg="0.197674418605" count="86" max="2" min="0" nonzero="False" sup="0" total="17.0">
-                    <distribution-bars>
-                        <distribution-bar count="74" metric="0" ratio="0.860465116279" />
-                        <distribution-bar count="7" metric="1" ratio="0.0813953488372" />
-                        <distribution-bar count="5" metric="2" ratio="0.0581395348837" />
-                    </distribution-bars>
-                </cyclomatic>
-            </std.code.complexity>
-        </aggregated-data>
-    </data>
-</view>
+<view>
+
+    <data>
+        <aggregated-data>
+            <std.code.complexity>
+                <cyclomatic avg="0.19767442" count="86" max="2" min="0" nonzero="False" sup="0" total="17.0">
+                    <distribution-bars>
+                        <distribution-bar count="74" metric="0" ratio="0.86046512" />
+                        <distribution-bar count="7" metric="1" ratio="0.08139535" />
+                        <distribution-bar count="5" metric="2" ratio="0.05813953" />
+                    </distribution-bars>
+                </cyclomatic>
+            </std.code.complexity>
+        </aggregated-data>
+        <file-data />
+        <info id="1" path="./" />
+        <subdirs>
+        </subdirs>
+        <subfiles>
+            <subfile>function_ends_on_class.cpp</subfile>
+            <subfile>operator_test.hpp</subfile>
+            <subfile>test.c</subfile>
+            <subfile>test2.cpp</subfile>
+            <subfile>test3.cpp</subfile>
+        </subfiles>
+    </data>
+</view>

File diff ditekan karena terlalu besar
+ 889 - 889
tests/general/test_std_code_cpp/test_parser_view_files_stdout.gold.txt


+ 1 - 1
tests/general/test_std_code_cs.py

@@ -20,7 +20,7 @@ class Test(tests.common.TestCase):
         runner = tests.common.ToolRunner('view', ['--nest-regions', '--format=xml'])
         self.assertExec(runner.run())
 
-        dirs_list = [os.path.join('.', each) for each in os.listdir(self.get_content_paths().cwd)]
+        dirs_list = [os.path.join('.', each) for each in sorted(os.listdir(self.get_content_paths().cwd))]
         runner = tests.common.ToolRunner('view',
                                          opts_list=['--nest-regions', '--format=txt'],
                                          dirs_list=dirs_list,

+ 146 - 146
tests/general/test_std_code_cs/test_parser_limit_default_stdout.gold.txt

@@ -1,146 +1,146 @@
-./File.cs:74: warning: Metric 'std.code.complexity:cyclomatic' for region 'get' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : get
-	Metric value   : 3
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./File.cs:95: warning: Metric 'std.code.complexity:cyclomatic' for region 'get' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : get
-	Metric value   : 2
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./File.cs:120: warning: Metric 'std.code.complexity:cyclomatic' for region 'get' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : get
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./File.cs:134: warning: Metric 'std.code.complexity:cyclomatic' for region 'get' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : get
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./File.cs:148: warning: Metric 'std.code.complexity:cyclomatic' for region 'get' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : get
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./File.cs:160: warning: Metric 'std.code.complexity:cyclomatic' for region 'Close' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : Close
-	Metric value   : 4
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./File.cs:190: warning: Metric 'std.code.complexity:cyclomatic' for region 'SetRecord' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : SetRecord
-	Metric value   : 6
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./File.cs:245: warning: Metric 'std.code.complexity:cyclomatic' for region 'GetFile' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : GetFile
-	Metric value   : 5
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./File.cs:277: warning: Metric 'std.code.complexity:cyclomatic' for region 'GetFile' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : GetFile
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./File.cs:288: warning: Metric 'std.code.complexity:cyclomatic' for region 'AllocateFile' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : AllocateFile
-	Metric value   : 5
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./File.cs:327: warning: Metric 'std.code.complexity:cyclomatic' for region 'FindFreeFile' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : FindFreeFile
-	Metric value   : 5
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./File.cs:361: warning: Metric 'std.code.complexity:cyclomatic' for region 'CloseAll' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : CloseAll
-	Metric value   : 4
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./File.cs:426: warning: Metric 'std.code.complexity:cyclomatic' for region 'Unlock' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : Unlock
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./Generics.cs:50: warning: Metric 'std.code.complexity:cyclomatic' for region 'Grow' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : Grow
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./interface.cs:135: warning: Metric 'std.code.complexity:cyclomatic' for region 'Equals' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : Equals
-	Metric value   : 1
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./interface.cs:169: warning: Metric 'std.code.complexity:cyclomatic' for region 'ToTitleCase' exceeds the limit.
-	Metric name    : std.code.complexity:cyclomatic
-	Region name    : ToTitleCase
-	Metric value   : 4
-	Modified       : None
-	Change trend   : None
-	Limit          : 0.0
-	Suppressed     : False
-
-./:: info: 16 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
-
+./File.cs:74: warning: Metric 'std.code.complexity:cyclomatic' for region 'get' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : get
+	Metric value   : 3
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./File.cs:95: warning: Metric 'std.code.complexity:cyclomatic' for region 'get' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : get
+	Metric value   : 2
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./File.cs:120: warning: Metric 'std.code.complexity:cyclomatic' for region 'get' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : get
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./File.cs:134: warning: Metric 'std.code.complexity:cyclomatic' for region 'get' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : get
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./File.cs:148: warning: Metric 'std.code.complexity:cyclomatic' for region 'get' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : get
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./File.cs:160: warning: Metric 'std.code.complexity:cyclomatic' for region 'Close' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : Close
+	Metric value   : 4
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./File.cs:190: warning: Metric 'std.code.complexity:cyclomatic' for region 'SetRecord' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : SetRecord
+	Metric value   : 6
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./File.cs:245: warning: Metric 'std.code.complexity:cyclomatic' for region 'GetFile' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : GetFile
+	Metric value   : 5
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./File.cs:277: warning: Metric 'std.code.complexity:cyclomatic' for region 'GetFile' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : GetFile
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./File.cs:288: warning: Metric 'std.code.complexity:cyclomatic' for region 'AllocateFile' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : AllocateFile
+	Metric value   : 5
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./File.cs:327: warning: Metric 'std.code.complexity:cyclomatic' for region 'FindFreeFile' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : FindFreeFile
+	Metric value   : 5
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./File.cs:361: warning: Metric 'std.code.complexity:cyclomatic' for region 'CloseAll' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : CloseAll
+	Metric value   : 4
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./File.cs:426: warning: Metric 'std.code.complexity:cyclomatic' for region 'Unlock' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : Unlock
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./Generics.cs:50: warning: Metric 'std.code.complexity:cyclomatic' for region 'Grow' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : Grow
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./interface.cs:135: warning: Metric 'std.code.complexity:cyclomatic' for region 'Equals' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : Equals
+	Metric value   : 1
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./interface.cs:169: warning: Metric 'std.code.complexity:cyclomatic' for region 'ToTitleCase' exceeds the limit.
+	Metric name    : std.code.complexity:cyclomatic
+	Region name    : ToTitleCase
+	Metric value   : 4
+	Modified       : None
+	Change trend   : None
+	Limit          : 0.0
+	Suppressed     : False
+
+./:: info: 16 regions exceeded the limit 'std.code.complexity:cyclomatic' > 0.0 [applied to 'any' region type(s)]
+

+ 29 - 29
tests/general/test_std_code_cs/test_parser_view_default_stdout.gold.txt

@@ -1,29 +1,29 @@
-<view>
-
-    <data>
-        <info id="1" path="./" />
-        <file-data />
-        <subfiles>
-            <subfile>interface.cs</subfile>
-            <subfile>File.cs</subfile>
-            <subfile>Generics.cs</subfile>
-        </subfiles>
-        <subdirs>
-        </subdirs>
-        <aggregated-data>
-            <std.code.complexity>
-                <cyclomatic avg="1.15384615385" count="39" max="6" min="0" nonzero="False" sup="0" total="45.0">
-                    <distribution-bars>
-                        <distribution-bar count="23" metric="0" ratio="0.589743589744" />
-                        <distribution-bar count="7" metric="1" ratio="0.179487179487" />
-                        <distribution-bar count="1" metric="2" ratio="0.025641025641" />
-                        <distribution-bar count="1" metric="3" ratio="0.025641025641" />
-                        <distribution-bar count="3" metric="4" ratio="0.0769230769231" />
-                        <distribution-bar count="3" metric="5" ratio="0.0769230769231" />
-                        <distribution-bar count="1" metric="6" ratio="0.025641025641" />
-                    </distribution-bars>
-                </cyclomatic>
-            </std.code.complexity>
-        </aggregated-data>
-    </data>
-</view>
+<view>
+
+    <data>
+        <aggregated-data>
+            <std.code.complexity>
+                <cyclomatic avg="1.15384615" count="39" max="6" min="0" nonzero="False" sup="0" total="45.0">
+                    <distribution-bars>
+                        <distribution-bar count="23" metric="0" ratio="0.58974359" />
+                        <distribution-bar count="7" metric="1" ratio="0.17948718" />
+                        <distribution-bar count="1" metric="2" ratio="0.02564103" />
+                        <distribution-bar count="1" metric="3" ratio="0.02564103" />
+                        <distribution-bar count="3" metric="4" ratio="0.07692308" />
+                        <distribution-bar count="3" metric="5" ratio="0.07692308" />
+                        <distribution-bar count="1" metric="6" ratio="0.02564103" />
+                    </distribution-bars>
+                </cyclomatic>
+            </std.code.complexity>
+        </aggregated-data>
+        <file-data />
+        <info id="1" path="./" />
+        <subdirs>
+        </subdirs>
+        <subfiles>
+            <subfile>File.cs</subfile>
+            <subfile>Generics.cs</subfile>
+            <subfile>interface.cs</subfile>
+        </subfiles>
+    </data>
+</view>

+ 461 - 461
tests/general/test_std_code_cs/test_parser_view_files_stdout.gold.txt

@@ -1,461 +1,461 @@
-./File.cs:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-9141
-	Line numbers   : 1-448
-	Modified       : None
-
-.   ./File.cs:21: info: Metrics per 'Microsoft' region
-    	Region name    : Microsoft
-    	Region type    : namespace
-    	Offsets        : 855-9104
-    	Line numbers   : 21-447
-    	Modified       : None
-
-.   .   ./File.cs:30: info: Metrics per 'File' region
-        	Region name    : File
-        	Region type    : class
-        	Offsets        : 1012-9037
-        	Line numbers   : 30-437
-        	Modified       : None
-
-.   .   .   ./File.cs:74: info: Metrics per 'get' region
-            	Region name    : get
-            	Region type    : function
-            	Offsets        : 1961-2222
-            	Line numbers   : 74-89
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 3
-
-.   .   .   ./File.cs:95: info: Metrics per 'get' region
-            	Region name    : get
-            	Region type    : function
-            	Offsets        : 2295-2781
-            	Line numbers   : 95-114
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 2
-
-.   .   .   ./File.cs:120: info: Metrics per 'get' region
-            	Region name    : get
-            	Region type    : function
-            	Offsets        : 2888-3022
-            	Line numbers   : 120-128
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 1
-
-.   .   .   ./File.cs:134: info: Metrics per 'get' region
-            	Region name    : get
-            	Region type    : function
-            	Offsets        : 3129-3263
-            	Line numbers   : 134-142
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 1
-
-.   .   .   ./File.cs:148: info: Metrics per 'get' region
-            	Region name    : get
-            	Region type    : function
-            	Offsets        : 3355-3489
-            	Line numbers   : 148-156
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 1
-
-.   .   .   ./File.cs:160: info: Metrics per 'Close' region
-            	Region name    : Close
-            	Region type    : function
-            	Offsets        : 3497-4076
-            	Line numbers   : 159-187
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 4
-
-.   .   .   ./File.cs:190: info: Metrics per 'SetRecord' region
-            	Region name    : SetRecord
-            	Region type    : function
-            	Offsets        : 4079-4794
-            	Line numbers   : 189-226
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 6
-
-.   .   .   ./File.cs:229: info: Metrics per 'FileTable' region
-            	Region name    : FileTable
-            	Region type    : class
-            	Offsets        : 4797-5103
-            	Line numbers   : 228-242
-            	Modified       : None
-
-.   .   .   .   ./File.cs:235: info: Metrics per 'FileTable' region
-                	Region name    : FileTable
-                	Region type    : function
-                	Offsets        : 4943-5099
-                	Line numbers   : 235-240
-                	Modified       : None
-                	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./File.cs:245: info: Metrics per 'GetFile' region
-            	Region name    : GetFile
-            	Region type    : function
-            	Offsets        : 5126-5822
-            	Line numbers   : 244-274
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 5
-
-.   .   .   ./File.cs:277: info: Metrics per 'GetFile' region
-            	Region name    : GetFile
-            	Region type    : function
-            	Offsets        : 5825-6140
-            	Line numbers   : 276-285
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 1
-
-.   .   .   ./File.cs:288: info: Metrics per 'AllocateFile' region
-            	Region name    : AllocateFile
-            	Region type    : function
-            	Offsets        : 6143-7049
-            	Line numbers   : 287-324
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 5
-
-.   .   .   ./File.cs:327: info: Metrics per 'FindFreeFile' region
-            	Region name    : FindFreeFile
-            	Region type    : function
-            	Offsets        : 7052-7735
-            	Line numbers   : 326-358
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 5
-
-.   .   .   ./File.cs:361: info: Metrics per 'CloseAll' region
-            	Region name    : CloseAll
-            	Region type    : function
-            	Offsets        : 7738-8342
-            	Line numbers   : 360-387
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 4
-
-.   .   .   ./File.cs:391: info: Metrics per 'Write' region
-            	Region name    : Write
-            	Region type    : function
-            	Offsets        : 8345-8437
-            	Line numbers   : 389-394
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./File.cs:398: info: Metrics per 'WriteLine' region
-            	Region name    : WriteLine
-            	Region type    : function
-            	Offsets        : 8440-8541
-            	Line numbers   : 396-401
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./File.cs:405: info: Metrics per 'Tab' region
-            	Region name    : Tab
-            	Region type    : function
-            	Offsets        : 8544-8631
-            	Line numbers   : 403-408
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./File.cs:412: info: Metrics per 'Space' region
-            	Region name    : Space
-            	Region type    : function
-            	Offsets        : 8634-8726
-            	Line numbers   : 410-415
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./File.cs:419: info: Metrics per 'Lock' region
-            	Region name    : Lock
-            	Region type    : function
-            	Offsets        : 8729-8839
-            	Line numbers   : 417-422
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./File.cs:426: info: Metrics per 'Unlock' region
-            	Region name    : Unlock
-            	Region type    : function
-            	Offsets        : 8842-9034
-            	Line numbers   : 424-435
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 1
-
-./File.cs:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 2.05263157895
-	Minimum        : 0
-	Maximum        : 6
-	Total          : 39.0
-	Distribution   : 19 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.316 : 0.316 :  6	||||||||||||||||||||||||||||||||
-	             1 : 0.263 : 0.579 :  5	||||||||||||||||||||||||||
-	             2 : 0.053 : 0.632 :  1	|||||
-	             3 : 0.053 : 0.684 :  1	|||||
-	             4 : 0.105 : 0.789 :  2	|||||||||||
-	             5 : 0.158 : 0.947 :  3	||||||||||||||||
-	             6 : 0.053 : 1.000 :  1	|||||
-
-./Generics.cs:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-3134
-	Line numbers   : 1-106
-	Modified       : None
-
-.   ./Generics.cs:22: info: Metrics per 'Generics' region
-    	Region name    : Generics
-    	Region type    : class
-    	Offsets        : 1182-3133
-    	Line numbers   : 22-105
-    	Modified       : None
-
-.   .   ./Generics.cs:24: info: Metrics per 'MyArray<T>' region
-        	Region name    : MyArray<T>
-        	Region type    : class
-        	Offsets        : 1214-1664
-        	Line numbers   : 24-57
-        	Modified       : None
-
-.   .   .   ./Generics.cs:26: info: Metrics per 'NestedClass<Y>' region
-            	Region name    : NestedClass<Y>
-            	Region type    : class
-            	Offsets        : 1243-1316
-            	Line numbers   : 26-30
-            	Modified       : None
-
-.   .   .   ./Generics.cs:40: info: Metrics per 'MyArray' region
-            	Region name    : MyArray
-            	Region type    : function
-            	Offsets        : 1391-1458
-            	Line numbers   : 40-43
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./Generics.cs:45: info: Metrics per 'Size' region
-            	Region name    : Size
-            	Region type    : function
-            	Offsets        : 1464-1546
-            	Line numbers   : 45-48
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./Generics.cs:50: info: Metrics per 'Grow' region
-            	Region name    : Grow
-            	Region type    : function
-            	Offsets        : 1552-1661
-            	Line numbers   : 50-56
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 1
-
-.   .   ./Generics.cs:59: info: Metrics per 'IInterface' region
-        	Region name    : IInterface
-        	Region type    : interface
-        	Offsets        : 1668-1775
-        	Line numbers   : 59-63
-        	Modified       : None
-
-.   .   ./Generics.cs:65: info: Metrics per 'Base' region
-        	Region name    : Base
-        	Region type    : class
-        	Offsets        : 1779-2084
-        	Line numbers   : 65-74
-        	Modified       : None
-
-.   .   .   ./Generics.cs:71: info: Metrics per 'Generics.IInterface.Method2<T>' region
-            	Region name    : Generics.IInterface.Method2<T>
-            	Region type    : function
-            	Offsets        : 1960-2081
-            	Line numbers   : 70-73
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   ./Generics.cs:76: info: Metrics per 'Derived' region
-        	Region name    : Derived
-        	Region type    : class
-        	Offsets        : 2088-2245
-        	Line numbers   : 76-82
-        	Modified       : None
-
-.   .   .   ./Generics.cs:79: info: Metrics per 'Method1<T>' region
-            	Region name    : Method1<T>
-            	Region type    : function
-            	Offsets        : 2130-2242
-            	Line numbers   : 78-81
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   ./Generics.cs:92: info: Metrics per 'MethodWithConstraint<T,S>' region
-        	Region name    : MethodWithConstraint<T,S>
-        	Region type    : function
-        	Offsets        : 2698-2798
-        	Line numbers   : 92-94
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./Generics.cs:96: info: Metrics per 'MethodWithStructConstraint<T>' region
-        	Region name    : MethodWithStructConstraint<T>
-        	Region type    : function
-        	Offsets        : 2802-2875
-        	Line numbers   : 96-98
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./Generics.cs:100: info: Metrics per 'GetEnumerator' region
-        	Region name    : GetEnumerator
-        	Region type    : function
-        	Offsets        : 2879-3131
-        	Line numbers   : 100-104
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-./Generics.cs:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 0.125
-	Minimum        : 0
-	Maximum        : 1
-	Total          : 1.0
-	Distribution   : 8 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.875 : 0.875 : 7	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.125 : 1.000 : 1	|||||||||||||
-
-./interface.cs:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-6584
-	Line numbers   : 1-219
-	Modified       : None
-
-.   ./interface.cs:22: info: Metrics per 'System' region
-    	Region name    : System
-    	Region type    : namespace
-    	Offsets        : 918-1139
-    	Line numbers   : 22-37
-    	Modified       : None
-
-.   .   ./interface.cs:30: info: Metrics per 'IDeserializationCallback' region
-        	Region name    : IDeserializationCallback
-        	Region type    : interface
-        	Offsets        : 960-1097
-        	Line numbers   : 25-35
-        	Modified       : None
-
-.   ./interface.cs:61: info: Metrics per 'System' region
-    	Region name    : System
-    	Region type    : namespace
-    	Offsets        : 2040-6548
-    	Line numbers   : 61-218
-    	Modified       : None
-
-.   .   ./interface.cs:69: info: Metrics per 'TextInfo' region
-        	Region name    : TextInfo
-        	Region type    : class
-        	Offsets        : 2183-6526
-        	Line numbers   : 69-216
-        	Modified       : None
-
-.   .   .   ./interface.cs:80: info: Metrics per 'TextInfo' region
-            	Region name    : TextInfo
-            	Region type    : function
-            	Offsets        : 2288-2687
-            	Line numbers   : 75-83
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./interface.cs:88: info: Metrics per 'get' region
-            	Region name    : get
-            	Region type    : function
-            	Offsets        : 2802-2940
-            	Line numbers   : 88-92
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./interface.cs:98: info: Metrics per 'get' region
-            	Region name    : get
-            	Region type    : function
-            	Offsets        : 3073-3209
-            	Line numbers   : 98-102
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./interface.cs:108: info: Metrics per 'get' region
-            	Region name    : get
-            	Region type    : function
-            	Offsets        : 3336-3475
-            	Line numbers   : 108-112
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./interface.cs:118: info: Metrics per 'get' region
-            	Region name    : get
-            	Region type    : function
-            	Offsets        : 3602-3739
-            	Line numbers   : 118-122
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./interface.cs:128: info: Metrics per 'get' region
-            	Region name    : get
-            	Region type    : function
-            	Offsets        : 3863-3934
-            	Line numbers   : 128-131
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./interface.cs:135: info: Metrics per 'Equals' region
-            	Region name    : Equals
-            	Region type    : function
-            	Offsets        : 3954-4348
-            	Line numbers   : 134-146
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 1
-
-.   .   .   ./interface.cs:149: info: Metrics per 'GetHashCode' region
-            	Region name    : GetHashCode
-            	Region type    : function
-            	Offsets        : 4354-4489
-            	Line numbers   : 148-152
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./interface.cs:169: info: Metrics per 'ToTitleCase' region
-            	Region name    : ToTitleCase
-            	Region type    : function
-            	Offsets        : 5003-5940
-            	Line numbers   : 168-195
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 4
-
-.   .   .   ./interface.cs:198: info: Metrics per 'I.Deserialization.Callback.OnDeserialization' region
-            	Region name    : I.Deserialization.Callback.OnDeserialization
-            	Region type    : function
-            	Offsets        : 5946-6128
-            	Line numbers   : 197-201
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./interface.cs:204: info: Metrics per 'ToString' region
-            	Region name    : ToString
-            	Region type    : function
-            	Offsets        : 6134-6296
-            	Line numbers   : 203-207
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-.   .   .   ./interface.cs:211: info: Metrics per 'IDeserializationCallback.OnDeserialization' region
-            	Region name    : IDeserializationCallback.OnDeserialization
-            	Region type    : function
-            	Offsets        : 6302-6523
-            	Line numbers   : 209-214
-            	Modified       : None
-            	std.code.complexity:cyclomatic: 0
-
-./interface.cs:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 0.416666666667
-	Minimum        : 0
-	Maximum        : 4
-	Total          : 5.0
-	Distribution   : 12 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.833 : 0.833 : 10	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.083 : 0.917 :  1	||||||||
-	             4 : 0.083 : 1.000 :  1	||||||||
-
-
+./File.cs:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-9141
+	Line numbers   : 1-448
+	Modified       : None
+
+.   ./File.cs:21: info: Metrics per 'Microsoft' region
+    	Region name    : Microsoft
+    	Region type    : namespace
+    	Offsets        : 855-9104
+    	Line numbers   : 21-447
+    	Modified       : None
+
+.   .   ./File.cs:30: info: Metrics per 'File' region
+        	Region name    : File
+        	Region type    : class
+        	Offsets        : 1012-9037
+        	Line numbers   : 30-437
+        	Modified       : None
+
+.   .   .   ./File.cs:74: info: Metrics per 'get' region
+            	Region name    : get
+            	Region type    : function
+            	Offsets        : 1961-2222
+            	Line numbers   : 74-89
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 3
+
+.   .   .   ./File.cs:95: info: Metrics per 'get' region
+            	Region name    : get
+            	Region type    : function
+            	Offsets        : 2295-2781
+            	Line numbers   : 95-114
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 2
+
+.   .   .   ./File.cs:120: info: Metrics per 'get' region
+            	Region name    : get
+            	Region type    : function
+            	Offsets        : 2888-3022
+            	Line numbers   : 120-128
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 1
+
+.   .   .   ./File.cs:134: info: Metrics per 'get' region
+            	Region name    : get
+            	Region type    : function
+            	Offsets        : 3129-3263
+            	Line numbers   : 134-142
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 1
+
+.   .   .   ./File.cs:148: info: Metrics per 'get' region
+            	Region name    : get
+            	Region type    : function
+            	Offsets        : 3355-3489
+            	Line numbers   : 148-156
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 1
+
+.   .   .   ./File.cs:160: info: Metrics per 'Close' region
+            	Region name    : Close
+            	Region type    : function
+            	Offsets        : 3497-4076
+            	Line numbers   : 159-187
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 4
+
+.   .   .   ./File.cs:190: info: Metrics per 'SetRecord' region
+            	Region name    : SetRecord
+            	Region type    : function
+            	Offsets        : 4079-4794
+            	Line numbers   : 189-226
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 6
+
+.   .   .   ./File.cs:229: info: Metrics per 'FileTable' region
+            	Region name    : FileTable
+            	Region type    : class
+            	Offsets        : 4797-5103
+            	Line numbers   : 228-242
+            	Modified       : None
+
+.   .   .   .   ./File.cs:235: info: Metrics per 'FileTable' region
+                	Region name    : FileTable
+                	Region type    : function
+                	Offsets        : 4943-5099
+                	Line numbers   : 235-240
+                	Modified       : None
+                	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./File.cs:245: info: Metrics per 'GetFile' region
+            	Region name    : GetFile
+            	Region type    : function
+            	Offsets        : 5126-5822
+            	Line numbers   : 244-274
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 5
+
+.   .   .   ./File.cs:277: info: Metrics per 'GetFile' region
+            	Region name    : GetFile
+            	Region type    : function
+            	Offsets        : 5825-6140
+            	Line numbers   : 276-285
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 1
+
+.   .   .   ./File.cs:288: info: Metrics per 'AllocateFile' region
+            	Region name    : AllocateFile
+            	Region type    : function
+            	Offsets        : 6143-7049
+            	Line numbers   : 287-324
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 5
+
+.   .   .   ./File.cs:327: info: Metrics per 'FindFreeFile' region
+            	Region name    : FindFreeFile
+            	Region type    : function
+            	Offsets        : 7052-7735
+            	Line numbers   : 326-358
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 5
+
+.   .   .   ./File.cs:361: info: Metrics per 'CloseAll' region
+            	Region name    : CloseAll
+            	Region type    : function
+            	Offsets        : 7738-8342
+            	Line numbers   : 360-387
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 4
+
+.   .   .   ./File.cs:391: info: Metrics per 'Write' region
+            	Region name    : Write
+            	Region type    : function
+            	Offsets        : 8345-8437
+            	Line numbers   : 389-394
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./File.cs:398: info: Metrics per 'WriteLine' region
+            	Region name    : WriteLine
+            	Region type    : function
+            	Offsets        : 8440-8541
+            	Line numbers   : 396-401
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./File.cs:405: info: Metrics per 'Tab' region
+            	Region name    : Tab
+            	Region type    : function
+            	Offsets        : 8544-8631
+            	Line numbers   : 403-408
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./File.cs:412: info: Metrics per 'Space' region
+            	Region name    : Space
+            	Region type    : function
+            	Offsets        : 8634-8726
+            	Line numbers   : 410-415
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./File.cs:419: info: Metrics per 'Lock' region
+            	Region name    : Lock
+            	Region type    : function
+            	Offsets        : 8729-8839
+            	Line numbers   : 417-422
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./File.cs:426: info: Metrics per 'Unlock' region
+            	Region name    : Unlock
+            	Region type    : function
+            	Offsets        : 8842-9034
+            	Line numbers   : 424-435
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 1
+
+./File.cs:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
+	Average        : 2.05263158
+	Minimum        : 0
+	Maximum        : 6
+	Total          : 39.0
+	Distribution   : 19 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.316 : 0.316 :  6	|||||||||||||||||||||||||||||||
+	             1 : 0.263 : 0.579 :  5	||||||||||||||||||||||||||
+	             2 : 0.053 : 0.632 :  1	|||||
+	             3 : 0.053 : 0.684 :  1	|||||
+	             4 : 0.105 : 0.789 :  2	||||||||||
+	             5 : 0.158 : 0.947 :  3	|||||||||||||||
+	             6 : 0.053 : 1.000 :  1	|||||
+
+./Generics.cs:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-3134
+	Line numbers   : 1-106
+	Modified       : None
+
+.   ./Generics.cs:22: info: Metrics per 'Generics' region
+    	Region name    : Generics
+    	Region type    : class
+    	Offsets        : 1182-3133
+    	Line numbers   : 22-105
+    	Modified       : None
+
+.   .   ./Generics.cs:24: info: Metrics per 'MyArray<T>' region
+        	Region name    : MyArray<T>
+        	Region type    : class
+        	Offsets        : 1214-1664
+        	Line numbers   : 24-57
+        	Modified       : None
+
+.   .   .   ./Generics.cs:26: info: Metrics per 'NestedClass<Y>' region
+            	Region name    : NestedClass<Y>
+            	Region type    : class
+            	Offsets        : 1243-1316
+            	Line numbers   : 26-30
+            	Modified       : None
+
+.   .   .   ./Generics.cs:40: info: Metrics per 'MyArray' region
+            	Region name    : MyArray
+            	Region type    : function
+            	Offsets        : 1391-1458
+            	Line numbers   : 40-43
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./Generics.cs:45: info: Metrics per 'Size' region
+            	Region name    : Size
+            	Region type    : function
+            	Offsets        : 1464-1546
+            	Line numbers   : 45-48
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./Generics.cs:50: info: Metrics per 'Grow' region
+            	Region name    : Grow
+            	Region type    : function
+            	Offsets        : 1552-1661
+            	Line numbers   : 50-56
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 1
+
+.   .   ./Generics.cs:59: info: Metrics per 'IInterface' region
+        	Region name    : IInterface
+        	Region type    : interface
+        	Offsets        : 1668-1775
+        	Line numbers   : 59-63
+        	Modified       : None
+
+.   .   ./Generics.cs:65: info: Metrics per 'Base' region
+        	Region name    : Base
+        	Region type    : class
+        	Offsets        : 1779-2084
+        	Line numbers   : 65-74
+        	Modified       : None
+
+.   .   .   ./Generics.cs:71: info: Metrics per 'Generics.IInterface.Method2<T>' region
+            	Region name    : Generics.IInterface.Method2<T>
+            	Region type    : function
+            	Offsets        : 1960-2081
+            	Line numbers   : 70-73
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   ./Generics.cs:76: info: Metrics per 'Derived' region
+        	Region name    : Derived
+        	Region type    : class
+        	Offsets        : 2088-2245
+        	Line numbers   : 76-82
+        	Modified       : None
+
+.   .   .   ./Generics.cs:79: info: Metrics per 'Method1<T>' region
+            	Region name    : Method1<T>
+            	Region type    : function
+            	Offsets        : 2130-2242
+            	Line numbers   : 78-81
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   ./Generics.cs:92: info: Metrics per 'MethodWithConstraint<T,S>' region
+        	Region name    : MethodWithConstraint<T,S>
+        	Region type    : function
+        	Offsets        : 2698-2798
+        	Line numbers   : 92-94
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./Generics.cs:96: info: Metrics per 'MethodWithStructConstraint<T>' region
+        	Region name    : MethodWithStructConstraint<T>
+        	Region type    : function
+        	Offsets        : 2802-2875
+        	Line numbers   : 96-98
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./Generics.cs:100: info: Metrics per 'GetEnumerator' region
+        	Region name    : GetEnumerator
+        	Region type    : function
+        	Offsets        : 2879-3131
+        	Line numbers   : 100-104
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+./Generics.cs:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
+	Average        : 0.125
+	Minimum        : 0
+	Maximum        : 1
+	Total          : 1.0
+	Distribution   : 8 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.875 : 0.875 : 7	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.125 : 1.000 : 1	||||||||||||
+
+./interface.cs:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-6584
+	Line numbers   : 1-219
+	Modified       : None
+
+.   ./interface.cs:22: info: Metrics per 'System' region
+    	Region name    : System
+    	Region type    : namespace
+    	Offsets        : 918-1139
+    	Line numbers   : 22-37
+    	Modified       : None
+
+.   .   ./interface.cs:30: info: Metrics per 'IDeserializationCallback' region
+        	Region name    : IDeserializationCallback
+        	Region type    : interface
+        	Offsets        : 960-1097
+        	Line numbers   : 25-35
+        	Modified       : None
+
+.   ./interface.cs:61: info: Metrics per 'System' region
+    	Region name    : System
+    	Region type    : namespace
+    	Offsets        : 2040-6548
+    	Line numbers   : 61-218
+    	Modified       : None
+
+.   .   ./interface.cs:69: info: Metrics per 'TextInfo' region
+        	Region name    : TextInfo
+        	Region type    : class
+        	Offsets        : 2183-6526
+        	Line numbers   : 69-216
+        	Modified       : None
+
+.   .   .   ./interface.cs:80: info: Metrics per 'TextInfo' region
+            	Region name    : TextInfo
+            	Region type    : function
+            	Offsets        : 2288-2687
+            	Line numbers   : 75-83
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./interface.cs:88: info: Metrics per 'get' region
+            	Region name    : get
+            	Region type    : function
+            	Offsets        : 2802-2940
+            	Line numbers   : 88-92
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./interface.cs:98: info: Metrics per 'get' region
+            	Region name    : get
+            	Region type    : function
+            	Offsets        : 3073-3209
+            	Line numbers   : 98-102
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./interface.cs:108: info: Metrics per 'get' region
+            	Region name    : get
+            	Region type    : function
+            	Offsets        : 3336-3475
+            	Line numbers   : 108-112
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./interface.cs:118: info: Metrics per 'get' region
+            	Region name    : get
+            	Region type    : function
+            	Offsets        : 3602-3739
+            	Line numbers   : 118-122
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./interface.cs:128: info: Metrics per 'get' region
+            	Region name    : get
+            	Region type    : function
+            	Offsets        : 3863-3934
+            	Line numbers   : 128-131
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./interface.cs:135: info: Metrics per 'Equals' region
+            	Region name    : Equals
+            	Region type    : function
+            	Offsets        : 3954-4348
+            	Line numbers   : 134-146
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 1
+
+.   .   .   ./interface.cs:149: info: Metrics per 'GetHashCode' region
+            	Region name    : GetHashCode
+            	Region type    : function
+            	Offsets        : 4354-4489
+            	Line numbers   : 148-152
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./interface.cs:169: info: Metrics per 'ToTitleCase' region
+            	Region name    : ToTitleCase
+            	Region type    : function
+            	Offsets        : 5003-5940
+            	Line numbers   : 168-195
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 4
+
+.   .   .   ./interface.cs:198: info: Metrics per 'I.Deserialization.Callback.OnDeserialization' region
+            	Region name    : I.Deserialization.Callback.OnDeserialization
+            	Region type    : function
+            	Offsets        : 5946-6128
+            	Line numbers   : 197-201
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./interface.cs:204: info: Metrics per 'ToString' region
+            	Region name    : ToString
+            	Region type    : function
+            	Offsets        : 6134-6296
+            	Line numbers   : 203-207
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+.   .   .   ./interface.cs:211: info: Metrics per 'IDeserializationCallback.OnDeserialization' region
+            	Region name    : IDeserializationCallback.OnDeserialization
+            	Region type    : function
+            	Offsets        : 6302-6523
+            	Line numbers   : 209-214
+            	Modified       : None
+            	std.code.complexity:cyclomatic: 0
+
+./interface.cs:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
+	Average        : 0.41666667
+	Minimum        : 0
+	Maximum        : 4
+	Total          : 5.0
+	Distribution   : 12 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 0.833 : 0.833 : 10	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.083 : 0.917 :  1	||||||||
+	             4 : 0.083 : 1.000 :  1	||||||||
+
+

+ 1 - 1
tests/general/test_std_code_cs_unit.py

@@ -20,7 +20,7 @@ class Test(tests.common.TestCase):
         runner = tests.common.ToolRunner('view', ['--nest-regions', '--format=xml'])
         self.assertExec(runner.run())
 
-        dirs_list = [os.path.join('.', each) for each in os.listdir(self.get_content_paths().cwd)]
+        dirs_list = [os.path.join('.', each) for each in sorted(os.listdir(self.get_content_paths().cwd))]
         runner = tests.common.ToolRunner('view',
                                          opts_list=['--nest-regions', '--format=txt'],
                                          dirs_list=dirs_list,

+ 21 - 21
tests/general/test_std_code_cs_unit/test_parser_view_default_stdout.gold.txt

@@ -1,21 +1,21 @@
-<view>
-
-    <data>
-        <info id="1" path="./" />
-        <file-data />
-        <subfiles>
-            <subfile>sample.cs</subfile>
-        </subfiles>
-        <subdirs>
-        </subdirs>
-        <aggregated-data>
-            <std.code.complexity>
-                <cyclomatic avg="0.0" count="18" max="0" min="0" nonzero="False" sup="0" total="0.0">
-                    <distribution-bars>
-                        <distribution-bar count="18" metric="0" ratio="1.0" />
-                    </distribution-bars>
-                </cyclomatic>
-            </std.code.complexity>
-        </aggregated-data>
-    </data>
-</view>
+<view>
+
+    <data>
+        <aggregated-data>
+            <std.code.complexity>
+                <cyclomatic avg="0.0" count="18" max="0" min="0" nonzero="False" sup="0" total="0.0">
+                    <distribution-bars>
+                        <distribution-bar count="18" metric="0" ratio="1.0" />
+                    </distribution-bars>
+                </cyclomatic>
+            </std.code.complexity>
+        </aggregated-data>
+        <file-data />
+        <info id="1" path="./" />
+        <subdirs>
+        </subdirs>
+        <subfiles>
+            <subfile>sample.cs</subfile>
+        </subfiles>
+    </data>
+</view>

+ 217 - 217
tests/general/test_std_code_cs_unit/test_parser_view_files_stdout.gold.txt

@@ -1,217 +1,217 @@
-./sample.cs:0: info: Metrics per '__global__' region
-	Region name    : __global__
-	Region type    : global
-	Offsets        : 0-3040
-	Line numbers   : 1-148
-	Modified       : None
-
-.   ./sample.cs:3: info: Metrics per 'example' region
-    	Region name    : example
-    	Region type    : class
-    	Offsets        : 2-3039
-    	Line numbers   : 3-147
-    	Modified       : None
-
-.   .   ./sample.cs:5: info: Metrics per 'testfunction1' region
-        	Region name    : testfunction1
-        	Region type    : function
-        	Offsets        : 29-157
-        	Line numbers   : 5-9
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:11: info: Metrics per 'testfunction2<T>' region
-        	Region name    : testfunction2<T>
-        	Region type    : function
-        	Offsets        : 163-292
-        	Line numbers   : 11-15
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:17: info: Metrics per 'testfunction3<T>' region
-        	Region name    : testfunction3<T>
-        	Region type    : function
-        	Offsets        : 298-423
-        	Line numbers   : 17-21
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:23: info: Metrics per 'testfunction4' region
-        	Region name    : testfunction4
-        	Region type    : function
-        	Offsets        : 429-551
-        	Line numbers   : 23-27
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:29: info: Metrics per 'testfunction5<T,S>' region
-        	Region name    : testfunction5<T,S>
-        	Region type    : function
-        	Offsets        : 557-685
-        	Line numbers   : 29-33
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:35: info: Metrics per 'testfunction6<T,S>' region
-        	Region name    : testfunction6<T,S>
-        	Region type    : function
-        	Offsets        : 691-833
-        	Line numbers   : 35-39
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:41: info: Metrics per 'testfunction7<T,S>' region
-        	Region name    : testfunction7<T,S>
-        	Region type    : function
-        	Offsets        : 839-989
-        	Line numbers   : 41-46
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:48: info: Metrics per 'testfunction8<T,S>' region
-        	Region name    : testfunction8<T,S>
-        	Region type    : function
-        	Offsets        : 995-1152
-        	Line numbers   : 48-53
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:55: info: Metrics per 'testfunction9<T,S>' region
-        	Region name    : testfunction9<T,S>
-        	Region type    : function
-        	Offsets        : 1158-1294
-        	Line numbers   : 55-59
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:61: info: Metrics per 'Interface.testfunction10<T,S>' region
-        	Region name    : Interface.testfunction10<T,S>
-        	Region type    : function
-        	Offsets        : 1300-1444
-        	Line numbers   : 61-65
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:67: info: Metrics per 'Interface<T>.testfunction11<T,S>' region
-        	Region name    : Interface<T>.testfunction11<T,S>
-        	Region type    : function
-        	Offsets        : 1450-1597
-        	Line numbers   : 67-71
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:73: info: Metrics per 'Interface<T,S>.testfunction12' region
-        	Region name    : Interface<T,S>.testfunction12
-        	Region type    : function
-        	Offsets        : 1603-1747
-        	Line numbers   : 73-77
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:79: info: Metrics per 'Interface<T,S>.testfunction13<T>' region
-        	Region name    : Interface<T,S>.testfunction13<T>
-        	Region type    : function
-        	Offsets        : 1753-1900
-        	Line numbers   : 79-83
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:85: info: Metrics per 'Interface<T>.testfunction14<T,S>' region
-        	Region name    : Interface<T>.testfunction14<T,S>
-        	Region type    : function
-        	Offsets        : 1906-2053
-        	Line numbers   : 85-89
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:91: info: Metrics per 'Interface<T,S>.testfunction15<T,S>' region
-        	Region name    : Interface<T,S>.testfunction15<T,S>
-        	Region type    : function
-        	Offsets        : 2059-2208
-        	Line numbers   : 91-95
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:97: info: Metrics per 'Interface<T,S>.testfunction16<T>' region
-        	Region name    : Interface<T,S>.testfunction16<T>
-        	Region type    : function
-        	Offsets        : 2214-2362
-        	Line numbers   : 97-101
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:103: info: Metrics per 'Interface<T,S>.testfunction17<T>' region
-        	Region name    : Interface<T,S>.testfunction17<T>
-        	Region type    : function
-        	Offsets        : 2368-2517
-        	Line numbers   : 103-107
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-.   .   ./sample.cs:109: info: Metrics per 'testClass1' region
-        	Region name    : testClass1
-        	Region type    : class
-        	Offsets        : 2523-2551
-        	Line numbers   : 109-111
-        	Modified       : None
-
-.   .   ./sample.cs:113: info: Metrics per 'testClass2' region
-        	Region name    : testClass2
-        	Region type    : class
-        	Offsets        : 2557-2585
-        	Line numbers   : 113-115
-        	Modified       : None
-
-.   .   ./sample.cs:117: info: Metrics per 'testClass3<T>' region
-        	Region name    : testClass3<T>
-        	Region type    : class
-        	Offsets        : 2591-2622
-        	Line numbers   : 117-119
-        	Modified       : None
-
-.   .   ./sample.cs:121: info: Metrics per 'testClass4<T>' region
-        	Region name    : testClass4<T>
-        	Region type    : class
-        	Offsets        : 2628-2660
-        	Line numbers   : 121-123
-        	Modified       : None
-
-.   .   ./sample.cs:125: info: Metrics per 'testClass5<T,S>' region
-        	Region name    : testClass5<T,S>
-        	Region type    : class
-        	Offsets        : 2666-2700
-        	Line numbers   : 125-127
-        	Modified       : None
-
-.   .   ./sample.cs:129: info: Metrics per 'testClass6<T,S>' region
-        	Region name    : testClass6<T,S>
-        	Region type    : class
-        	Offsets        : 2706-2794
-        	Line numbers   : 129-134
-        	Modified       : None
-
-.   .   ./sample.cs:136: info: Metrics per 'testClass7<T>' region
-        	Region name    : testClass7<T>
-        	Region type    : class
-        	Offsets        : 2800-2857
-        	Line numbers   : 136-139
-        	Modified       : None
-
-.   .   ./sample.cs:141: info: Metrics per 'Interface<T,S,A,B,C>.testfunction18<T,S,A,V,F,G>' region
-        	Region name    : Interface<T,S,A,B,C>.testfunction18<T,S,A,V,F,G>
-        	Region type    : function
-        	Offsets        : 2863-3036
-        	Line numbers   : 141-145
-        	Modified       : None
-        	std.code.complexity:cyclomatic: 0
-
-./sample.cs:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 0.0
-	Minimum        : 0
-	Maximum        : 0
-	Total          : 0.0
-	Distribution   : 18 regions in total (including 0 suppressed)
-	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 1.000 : 1.000 : 18	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-
+./sample.cs:0: info: Metrics per '__global__' region
+	Region name    : __global__
+	Region type    : global
+	Offsets        : 0-3040
+	Line numbers   : 1-148
+	Modified       : None
+
+.   ./sample.cs:3: info: Metrics per 'example' region
+    	Region name    : example
+    	Region type    : class
+    	Offsets        : 2-3039
+    	Line numbers   : 3-147
+    	Modified       : None
+
+.   .   ./sample.cs:5: info: Metrics per 'testfunction1' region
+        	Region name    : testfunction1
+        	Region type    : function
+        	Offsets        : 29-157
+        	Line numbers   : 5-9
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:11: info: Metrics per 'testfunction2<T>' region
+        	Region name    : testfunction2<T>
+        	Region type    : function
+        	Offsets        : 163-292
+        	Line numbers   : 11-15
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:17: info: Metrics per 'testfunction3<T>' region
+        	Region name    : testfunction3<T>
+        	Region type    : function
+        	Offsets        : 298-423
+        	Line numbers   : 17-21
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:23: info: Metrics per 'testfunction4' region
+        	Region name    : testfunction4
+        	Region type    : function
+        	Offsets        : 429-551
+        	Line numbers   : 23-27
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:29: info: Metrics per 'testfunction5<T,S>' region
+        	Region name    : testfunction5<T,S>
+        	Region type    : function
+        	Offsets        : 557-685
+        	Line numbers   : 29-33
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:35: info: Metrics per 'testfunction6<T,S>' region
+        	Region name    : testfunction6<T,S>
+        	Region type    : function
+        	Offsets        : 691-833
+        	Line numbers   : 35-39
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:41: info: Metrics per 'testfunction7<T,S>' region
+        	Region name    : testfunction7<T,S>
+        	Region type    : function
+        	Offsets        : 839-989
+        	Line numbers   : 41-46
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:48: info: Metrics per 'testfunction8<T,S>' region
+        	Region name    : testfunction8<T,S>
+        	Region type    : function
+        	Offsets        : 995-1152
+        	Line numbers   : 48-53
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:55: info: Metrics per 'testfunction9<T,S>' region
+        	Region name    : testfunction9<T,S>
+        	Region type    : function
+        	Offsets        : 1158-1294
+        	Line numbers   : 55-59
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:61: info: Metrics per 'Interface.testfunction10<T,S>' region
+        	Region name    : Interface.testfunction10<T,S>
+        	Region type    : function
+        	Offsets        : 1300-1444
+        	Line numbers   : 61-65
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:67: info: Metrics per 'Interface<T>.testfunction11<T,S>' region
+        	Region name    : Interface<T>.testfunction11<T,S>
+        	Region type    : function
+        	Offsets        : 1450-1597
+        	Line numbers   : 67-71
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:73: info: Metrics per 'Interface<T,S>.testfunction12' region
+        	Region name    : Interface<T,S>.testfunction12
+        	Region type    : function
+        	Offsets        : 1603-1747
+        	Line numbers   : 73-77
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:79: info: Metrics per 'Interface<T,S>.testfunction13<T>' region
+        	Region name    : Interface<T,S>.testfunction13<T>
+        	Region type    : function
+        	Offsets        : 1753-1900
+        	Line numbers   : 79-83
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:85: info: Metrics per 'Interface<T>.testfunction14<T,S>' region
+        	Region name    : Interface<T>.testfunction14<T,S>
+        	Region type    : function
+        	Offsets        : 1906-2053
+        	Line numbers   : 85-89
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:91: info: Metrics per 'Interface<T,S>.testfunction15<T,S>' region
+        	Region name    : Interface<T,S>.testfunction15<T,S>
+        	Region type    : function
+        	Offsets        : 2059-2208
+        	Line numbers   : 91-95
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:97: info: Metrics per 'Interface<T,S>.testfunction16<T>' region
+        	Region name    : Interface<T,S>.testfunction16<T>
+        	Region type    : function
+        	Offsets        : 2214-2362
+        	Line numbers   : 97-101
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:103: info: Metrics per 'Interface<T,S>.testfunction17<T>' region
+        	Region name    : Interface<T,S>.testfunction17<T>
+        	Region type    : function
+        	Offsets        : 2368-2517
+        	Line numbers   : 103-107
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+.   .   ./sample.cs:109: info: Metrics per 'testClass1' region
+        	Region name    : testClass1
+        	Region type    : class
+        	Offsets        : 2523-2551
+        	Line numbers   : 109-111
+        	Modified       : None
+
+.   .   ./sample.cs:113: info: Metrics per 'testClass2' region
+        	Region name    : testClass2
+        	Region type    : class
+        	Offsets        : 2557-2585
+        	Line numbers   : 113-115
+        	Modified       : None
+
+.   .   ./sample.cs:117: info: Metrics per 'testClass3<T>' region
+        	Region name    : testClass3<T>
+        	Region type    : class
+        	Offsets        : 2591-2622
+        	Line numbers   : 117-119
+        	Modified       : None
+
+.   .   ./sample.cs:121: info: Metrics per 'testClass4<T>' region
+        	Region name    : testClass4<T>
+        	Region type    : class
+        	Offsets        : 2628-2660
+        	Line numbers   : 121-123
+        	Modified       : None
+
+.   .   ./sample.cs:125: info: Metrics per 'testClass5<T,S>' region
+        	Region name    : testClass5<T,S>
+        	Region type    : class
+        	Offsets        : 2666-2700
+        	Line numbers   : 125-127
+        	Modified       : None
+
+.   .   ./sample.cs:129: info: Metrics per 'testClass6<T,S>' region
+        	Region name    : testClass6<T,S>
+        	Region type    : class
+        	Offsets        : 2706-2794
+        	Line numbers   : 129-134
+        	Modified       : None
+
+.   .   ./sample.cs:136: info: Metrics per 'testClass7<T>' region
+        	Region name    : testClass7<T>
+        	Region type    : class
+        	Offsets        : 2800-2857
+        	Line numbers   : 136-139
+        	Modified       : None
+
+.   .   ./sample.cs:141: info: Metrics per 'Interface<T,S,A,B,C>.testfunction18<T,S,A,V,F,G>' region
+        	Region name    : Interface<T,S,A,B,C>.testfunction18<T,S,A,V,F,G>
+        	Region type    : function
+        	Offsets        : 2863-3036
+        	Line numbers   : 141-145
+        	Modified       : None
+        	std.code.complexity:cyclomatic: 0
+
+./sample.cs:: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
+	Average        : 0.0
+	Minimum        : 0
+	Maximum        : 0
+	Total          : 0.0
+	Distribution   : 18 regions in total (including 0 suppressed)
+	  Metric value : Ratio : R-sum : Number of regions
+	             0 : 1.000 : 1.000 : 18	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+

+ 0 - 0
tests/general/test_std_code_java.py


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini