فهرست منبع

bug fixes on suppressions

avkonst 11 سال پیش
والد
کامیت
8aa9ddbda3
21فایلهای تغییر یافته به همراه563 افزوده شده و 327 حذف شده
  1. 2 2
      mainline/ext/std/suppress.py
  2. 9 0
      mainline/ext/std/tools/view.py
  3. 2 0
      mainline/tests/general/test_basic.py
  4. 10 0
      mainline/tests/general/test_basic/sources_changed/simple.cpp
  5. 17 9
      mainline/tests/general/test_basic/test_view_format_view_nest_per_file_stdout.gold.txt
  6. 6 6
      mainline/tests/general/test_basic/test_view_format_view_nest_stdout.gold.txt
  7. 5 0
      mainline/tests/general/test_basic/test_workflow_info_default_stdout.gold.txt
  8. 6 1
      mainline/tests/general/test_basic/test_workflow_info_second_stdout.gold.txt
  9. 12 0
      mainline/tests/general/test_basic/test_workflow_view_default_stdout.gold.txt
  10. 59 36
      mainline/tests/general/test_basic/test_workflow_view_second_per_file_stdout.gold.txt
  11. 76 46
      mainline/tests/general/test_basic/test_workflow_view_second_per_file_txt_all_stdout.gold.txt
  12. 62 29
      mainline/tests/general/test_basic/test_workflow_view_second_per_file_txt_new_stdout.gold.txt
  13. 70 40
      mainline/tests/general/test_basic/test_workflow_view_second_per_file_txt_touched_stdout.gold.txt
  14. 49 34
      mainline/tests/general/test_basic/test_workflow_view_second_stdout.gold.txt
  15. 58 41
      mainline/tests/general/test_basic/test_workflow_view_second_txt_all_stdout.gold.txt
  16. 50 30
      mainline/tests/general/test_basic/test_workflow_view_second_txt_new_stdout.gold.txt
  17. 57 40
      mainline/tests/general/test_basic/test_workflow_view_second_txt_touched_stdout.gold.txt
  18. 1 1
      mainline/tests/general/test_std_suppress/sources/test.c
  19. 1 1
      mainline/tests/general/test_std_suppress/test_basic_limit_4_stdout.gold.txt
  20. 1 1
      mainline/tests/general/test_std_suppress/test_basic_limit_size_nosup_stdout.gold.txt
  21. 10 10
      mainline/tests/general/test_std_suppress/test_basic_view_default_stdout.gold.txt

+ 2 - 2
mainline/ext/std/suppress.py

@@ -70,9 +70,9 @@ class Plugin(mpp.api.Plugin, mpp.api.Child, mpp.api.IConfigurable):
                                 region_id = region.get_id(),
                                 exclude_children = True):
                     
-                    if last_comment_end != None and marker.get_offset_begin() > last_comment_end + 2:
+                    if last_comment_end != None and len(text[last_comment_end:marker.get_offset_begin()].strip()) > 0:
                         # check continues comment blocks
-                        # stop searching, if this comment block is far from the last
+                        # stop searching, if this comment block is separated from the last by non-blank string
                         break
                     last_comment_end = marker.get_offset_end()
                     

+ 9 - 0
mainline/ext/std/tools/view.py

@@ -161,6 +161,9 @@ def load_aggregated_data_with_mode(loader, loader_prev, path, mode):
                 for name in loader.iterate_namespace_names():
                     namespace = loader.get_namespace(name)
                     for field in namespace.iterate_field_names():
+                        if namespace.get_field_packager(field).get_python_type() == str:
+                            # skip string type fields
+                            continue
                         self.set_data(name, field, {
                             'count': 0,
                             'nonzero': namespace.get_field_packager(field).is_non_zero(),
@@ -178,6 +181,9 @@ def load_aggregated_data_with_mode(loader, loader_prev, path, mode):
                 for name in loader.iterate_namespace_names():
                     namespace = loader.get_namespace(name)
                     for field in namespace.iterate_field_names():
+                        if namespace.get_field_packager(field).get_python_type() == str:
+                            # skip string type fields
+                            continue
                         data = self.get_data(name, field)
                         bars_list = []
                         for metric_value in sorted(data['distribution-bars'].keys()):
@@ -201,6 +207,9 @@ def load_aggregated_data_with_mode(loader, loader_prev, path, mode):
                     for field in data[namespace].keys():
                         aggr_data = self.get_data(namespace, field)
                         metric_value = data[namespace][field]
+                        if isinstance(metric_value, str):
+                            # skip string type fields
+                            continue
                         if aggr_data['min'] == None or aggr_data['min'] > metric_value:
                             aggr_data['min'] = metric_value
                         if aggr_data['max'] == None or aggr_data['max'] < metric_value:

+ 2 - 0
mainline/tests/general/test_basic.py

@@ -33,6 +33,7 @@ class Test(tests.common.TestCase):
                                           '--std.code.lines.code',
                                           '--std.code.lines.preprocessor',
                                           '--std.code.lines.comments',
+                                          '--std.suppress',
                                           '--log-level=INFO'],
                                          check_stderr=[(0, -1)],
                                          save_prev=True)
@@ -63,6 +64,7 @@ class Test(tests.common.TestCase):
                                           '--std.code.lines.code',
                                           '--std.code.lines.preprocessor',
                                           '--std.code.lines.comments',
+                                          '--std.suppress',
                                           '--log-level=INFO'],
                                          check_stderr=[(0, -1)],
                                          prefix='second',

+ 10 - 0
mainline/tests/general/test_basic/sources_changed/simple.cpp

@@ -61,6 +61,16 @@ class A
 		return 'A';
 	}
 
+	/* metrix++: suppress std.code.complexity:cyclomatic */
+	char new_func_complex_but_suppressed()
+	{
+		if (true && false)
+		{
+			return 'A';
+		}
+		return 'B';
+	}
+
 	int m_member = 10;
 };
 

+ 17 - 9
mainline/tests/general/test_basic/test_view_format_view_nest_per_file_stdout.gold.txt

@@ -5,15 +5,15 @@
         <file-data>
             <regions>
                 <region>
-                    <info cursor="0" name="__global__" offset_end="674" line_begin="1" type="global" line_end="68" offset_begin="0" />
+                    <info cursor="0" name="__global__" offset_end="836" line_begin="1" type="global" line_end="78" offset_begin="0" />
                     <data />
                     <subregions>
                         <subregion>
-                            <info cursor="4" name="hmm" offset_end="673" line_begin="3" type="namespace" line_end="67" offset_begin="2" />
+                            <info cursor="4" name="hmm" offset_end="835" line_begin="3" type="namespace" line_end="77" offset_begin="2" />
                             <data />
                             <subregions>
                                 <subregion>
-                                    <info cursor="10" name="A" offset_end="669" line_begin="10" type="class" line_end="65" offset_begin="111" />
+                                    <info cursor="10" name="A" offset_end="831" line_begin="10" type="class" line_end="75" offset_begin="111" />
                                     <data />
                                     <subregions>
                                         <subregion>
@@ -78,6 +78,14 @@
                                             <subregions>
                                             </subregions>
                                         </subregion>
+                                        <subregion>
+                                            <info cursor="65" name="new_func_complex_but_suppressed" offset_end="808" line_begin="64" type="function" line_end="72" offset_begin="649" />
+                                            <data>
+                                                <std.code.complexity cyclomatic="2" />
+                                            </data>
+                                            <subregions>
+                                            </subregions>
+                                        </subregion>
                                     </subregions>
                                 </subregion>
                             </subregions>
@@ -92,13 +100,13 @@
         </subdirs>
         <aggregated-data>
             <std.code.complexity>
-                <cyclomatic nonzero="False" count="6" total="8.0" min="0" max="3" avg="1.33333333333" sup="0">
-                    <__diff__ nonzero="0" count="0" avg="-0.166666666667" min="-1" max="0" total="-1.0" sup="0" />
+                <cyclomatic nonzero="False" count="7" total="10.0" min="0" max="3" avg="1.42857142857" sup="0">
+                    <__diff__ nonzero="0" count="1" avg="-0.0714285714286" min="-1" max="0" total="1.0" sup="0" />
                     <distribution-bars>
-                        <distribution-bar count="1" __diff__="1" metric="0" ratio="0.166666666667" />
-                        <distribution-bar count="3" __diff__="-1" metric="1" ratio="0.5" />
-                        <distribution-bar count="1" __diff__="0" metric="2" ratio="0.166666666667" />
-                        <distribution-bar count="1" __diff__="0" metric="3" ratio="0.166666666667" />
+                        <distribution-bar count="1" __diff__="1" metric="0" ratio="0.142857142857" />
+                        <distribution-bar count="3" __diff__="-1" metric="1" ratio="0.428571428571" />
+                        <distribution-bar count="2" __diff__="1" metric="2" ratio="0.285714285714" />
+                        <distribution-bar count="1" __diff__="0" metric="3" ratio="0.142857142857" />
                     </distribution-bars>
                 </cyclomatic>
             </std.code.complexity>

+ 6 - 6
mainline/tests/general/test_basic/test_view_format_view_nest_stdout.gold.txt

@@ -10,13 +10,13 @@
         </subdirs>
         <aggregated-data>
             <std.code.complexity>
-                <cyclomatic nonzero="False" count="7" total="11.0" min="0" max="3" avg="1.57142857143" sup="0">
-                    <__diff__ nonzero="0" count="-1" avg="0.196428571429" min="-1" max="0" total="0.0" sup="0" />
+                <cyclomatic nonzero="False" count="8" total="13.0" min="0" max="3" avg="1.625" sup="0">
+                    <__diff__ nonzero="0" count="0" avg="0.25" min="-1" max="0" total="2.0" sup="0" />
                     <distribution-bars>
-                        <distribution-bar count="1" __diff__="1" metric="0" ratio="0.142857142857" />
-                        <distribution-bar count="3" __diff__="-3" metric="1" ratio="0.428571428571" />
-                        <distribution-bar count="1" __diff__="0" metric="2" ratio="0.142857142857" />
-                        <distribution-bar count="2" __diff__="1" metric="3" ratio="0.285714285714" />
+                        <distribution-bar count="1" __diff__="1" metric="0" ratio="0.125" />
+                        <distribution-bar count="3" __diff__="-3" metric="1" ratio="0.375" />
+                        <distribution-bar count="2" __diff__="1" metric="2" ratio="0.25" />
+                        <distribution-bar count="2" __diff__="1" metric="3" ratio="0.25" />
                     </distribution-bars>
                 </cyclomatic>
             </std.code.complexity>

+ 5 - 0
mainline/tests/general/test_basic/test_workflow_info_default_stdout.gold.txt

@@ -8,6 +8,7 @@ test_workflow.db:: info: Created using plugins and settings:
 	std.code.java:version: 1.1
 	std.code.java:files: *.java
 	std.code.lines:version: 1.1
+	std.suppress:version: 1.0
 
 test_workflow.db:: info: Collected metrics:
 	std.code.complexity:cyclomatic: 
@@ -15,6 +16,10 @@ test_workflow.db:: info: Collected metrics:
 	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

+ 6 - 1
mainline/tests/general/test_basic/test_workflow_info_second_stdout.gold.txt

@@ -8,6 +8,7 @@ test_workflow.db:: info: Created using plugins and settings:
 	std.code.java:version: 1.1
 	std.code.java:files: *.java
 	std.code.lines:version: 1.1
+	std.suppress:version: 1.0
 
 test_workflow.db:: info: Collected metrics:
 	std.code.complexity:cyclomatic: 
@@ -15,8 +16,12 @@ test_workflow.db:: info: Collected metrics:
 	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   : 0x3e73b264 [modified]
+	./simple.cpp   : 0xc2c1e477 [modified]
 	./simple2.cpp  : 0x44023f81 [new]
 

+ 12 - 0
mainline/tests/general/test_basic/test_workflow_view_default_stdout.gold.txt

@@ -18,6 +18,18 @@
                     </distribution-bars>
                 </cyclomatic>
             </std.code.complexity>
+            <std.suppress.file>
+                <count nonzero="True" count="0" total="0.0" min="None" max="None" avg="None" sup="0">
+                    <distribution-bars>
+                    </distribution-bars>
+                </count>
+            </std.suppress.file>
+            <std.suppress>
+                <count nonzero="True" count="0" total="0.0" min="None" max="None" avg="None" sup="0">
+                    <distribution-bars>
+                    </distribution-bars>
+                </count>
+            </std.suppress>
             <std.code.lines>
                 <total nonzero="False" count="16" total="87.0" min="0" max="12" avg="5.4375" sup="0">
                     <distribution-bars>

+ 59 - 36
mainline/tests/general/test_basic/test_workflow_view_second_per_file_stdout.gold.txt

@@ -5,7 +5,7 @@
         <file-data>
             <regions>
                 <region>
-                    <info cursor="0" name="__global__" offset_end="674" line_begin="1" type="global" line_end="68" offset_begin="0" />
+                    <info cursor="0" name="__global__" offset_end="836" line_begin="1" type="global" line_end="78" offset_begin="0" />
                     <data>
                         <std.code.lines total="0" code="0" preprocessor="0" comments="0">
                             <__diff__ code="0" total="0" preprocessor="0" comments="0" />
@@ -13,7 +13,7 @@
                     </data>
                 </region>
                 <region>
-                    <info cursor="4" name="hmm" offset_end="673" line_begin="3" type="namespace" line_end="67" offset_begin="2" />
+                    <info cursor="4" name="hmm" offset_end="835" line_begin="3" type="namespace" line_end="77" offset_begin="2" />
                     <data>
                         <std.code.lines total="7" code="4" preprocessor="2" comments="1">
                             <__diff__ code="0" total="1" preprocessor="1" comments="0" />
@@ -21,7 +21,7 @@
                     </data>
                 </region>
                 <region>
-                    <info cursor="10" name="A" offset_end="669" line_begin="10" type="class" line_end="65" offset_begin="111" />
+                    <info cursor="10" name="A" offset_end="831" line_begin="10" type="class" line_end="75" offset_begin="111" />
                     <data>
                         <std.code.lines total="4" code="4" preprocessor="0" comments="0">
                             <__diff__ code="0" total="0" preprocessor="0" comments="0" />
@@ -94,6 +94,14 @@
                         <std.code.lines total="5" code="5" preprocessor="0" comments="0" />
                     </data>
                 </region>
+                <region>
+                    <info cursor="65" name="new_func_complex_but_suppressed" offset_end="808" line_begin="64" type="function" line_end="72" offset_begin="649" />
+                    <data>
+                        <std.code.complexity cyclomatic="2" />
+                        <std.suppress count="1" list="[std.code.complexity:cyclomatic]" />
+                        <std.code.lines total="9" code="8" preprocessor="0" comments="1" />
+                    </data>
+                </region>
             </regions>
         </file-data>
         <subfiles>
@@ -102,57 +110,72 @@
         </subdirs>
         <aggregated-data>
             <std.code.complexity>
-                <cyclomatic nonzero="False" count="6" total="8.0" min="0" max="3" avg="1.33333333333" sup="0">
-                    <__diff__ nonzero="0" count="0" avg="-0.166666666667" min="-1" max="0" total="-1.0" sup="0" />
+                <cyclomatic nonzero="False" count="7" total="10.0" min="0" max="3" avg="1.42857142857" sup="1">
+                    <__diff__ nonzero="0" count="1" avg="-0.0714285714286" min="-1" max="0" total="1.0" sup="0" />
                     <distribution-bars>
-                        <distribution-bar count="1" __diff__="1" metric="0" ratio="0.166666666667" />
-                        <distribution-bar count="3" __diff__="-1" metric="1" ratio="0.5" />
-                        <distribution-bar count="1" __diff__="0" metric="2" ratio="0.166666666667" />
-                        <distribution-bar count="1" __diff__="0" metric="3" ratio="0.166666666667" />
+                        <distribution-bar count="1" __diff__="1" metric="0" ratio="0.142857142857" />
+                        <distribution-bar count="3" __diff__="-1" metric="1" ratio="0.428571428571" />
+                        <distribution-bar count="2" __diff__="1" metric="2" ratio="0.285714285714" />
+                        <distribution-bar count="1" __diff__="0" metric="3" ratio="0.142857142857" />
                     </distribution-bars>
                 </cyclomatic>
             </std.code.complexity>
+            <std.suppress.file>
+                <count nonzero="True" count="0" total="0.0" min="None" max="None" avg="None" sup="0">
+                    <__diff__ nonzero="0" count="0" avg="0" min="0" max="0" total="0.0" sup="0" />
+                    <distribution-bars>
+                    </distribution-bars>
+                </count>
+            </std.suppress.file>
+            <std.suppress>
+                <count nonzero="True" count="1" total="1.0" min="1" max="1" avg="1.0" sup="0">
+                    <__diff__ nonzero="0" count="1" avg="1.0" min="1" max="1" total="1.0" sup="0" />
+                    <distribution-bars>
+                        <distribution-bar count="1" __diff__="1" metric="1" ratio="1.0" />
+                    </distribution-bars>
+                </count>
+            </std.suppress>
             <std.code.lines>
-                <total nonzero="False" count="10" total="56.0" min="0" max="12" avg="5.6" sup="0">
-                    <__diff__ nonzero="0" count="-1" avg="0.0545454545455" min="0" max="0" total="-5.0" sup="0" />
+                <total nonzero="False" count="11" total="65.0" min="0" max="12" avg="5.90909090909" sup="0">
+                    <__diff__ nonzero="0" count="0" avg="0.363636363636" min="0" max="0" total="4.0" sup="0" />
                     <distribution-bars>
-                        <distribution-bar count="1" __diff__="0" metric="0" ratio="0.1" />
-                        <distribution-bar count="1" __diff__="-1" metric="3" ratio="0.1" />
-                        <distribution-bar count="2" __diff__="1" metric="4" ratio="0.2" />
-                        <distribution-bar count="2" __diff__="0" metric="5" ratio="0.2" />
+                        <distribution-bar count="1" __diff__="0" metric="0" ratio="0.0909090909091" />
+                        <distribution-bar count="1" __diff__="-1" metric="3" ratio="0.0909090909091" />
+                        <distribution-bar count="2" __diff__="1" metric="4" ratio="0.181818181818" />
+                        <distribution-bar count="2" __diff__="0" metric="5" ratio="0.181818181818" />
                         <distribution-bar count="0" __diff__="-1" metric="6" ratio="0" />
-                        <distribution-bar count="2" __diff__="1" metric="7" ratio="0.2" />
+                        <distribution-bar count="2" __diff__="1" metric="7" ratio="0.181818181818" />
                         <distribution-bar count="0" __diff__="-2" metric="8" ratio="0" />
-                        <distribution-bar count="1" __diff__="1" metric="9" ratio="0.1" />
-                        <distribution-bar count="1" __diff__="0" metric="12" ratio="0.1" />
+                        <distribution-bar count="2" __diff__="2" metric="9" ratio="0.181818181818" />
+                        <distribution-bar count="1" __diff__="0" metric="12" ratio="0.0909090909091" />
                     </distribution-bars>
                 </total>
-                <code nonzero="False" count="10" total="50.0" min="0" max="11" avg="5.0" sup="0">
-                    <__diff__ nonzero="0" count="-1" avg="-0.0909090909091" min="0" max="0" total="-6.0" sup="0" />
+                <code nonzero="False" count="11" total="58.0" min="0" max="11" avg="5.27272727273" sup="0">
+                    <__diff__ nonzero="0" count="0" avg="0.181818181818" min="0" max="0" total="2.0" sup="0" />
                     <distribution-bars>
-                        <distribution-bar count="1" __diff__="0" metric="0" ratio="0.1" />
-                        <distribution-bar count="2" __diff__="0" metric="3" ratio="0.2" />
-                        <distribution-bar count="2" __diff__="0" metric="4" ratio="0.2" />
-                        <distribution-bar count="2" __diff__="0" metric="5" ratio="0.2" />
-                        <distribution-bar count="1" __diff__="-2" metric="7" ratio="0.1" />
-                        <distribution-bar count="1" __diff__="1" metric="8" ratio="0.1" />
-                        <distribution-bar count="1" __diff__="0" metric="11" ratio="0.1" />
+                        <distribution-bar count="1" __diff__="0" metric="0" ratio="0.0909090909091" />
+                        <distribution-bar count="2" __diff__="0" metric="3" ratio="0.181818181818" />
+                        <distribution-bar count="2" __diff__="0" metric="4" ratio="0.181818181818" />
+                        <distribution-bar count="2" __diff__="0" metric="5" ratio="0.181818181818" />
+                        <distribution-bar count="1" __diff__="-2" metric="7" ratio="0.0909090909091" />
+                        <distribution-bar count="2" __diff__="2" metric="8" ratio="0.181818181818" />
+                        <distribution-bar count="1" __diff__="0" metric="11" ratio="0.0909090909091" />
                     </distribution-bars>
                 </code>
-                <preprocessor nonzero="False" count="10" total="2.0" min="0" max="2" avg="0.2" sup="0">
-                    <__diff__ nonzero="0" count="-1" avg="0.109090909091" min="0" max="1" total="1.0" sup="0" />
+                <preprocessor nonzero="False" count="11" total="2.0" min="0" max="2" avg="0.181818181818" sup="0">
+                    <__diff__ nonzero="0" count="0" avg="0.0909090909091" min="0" max="1" total="1.0" sup="0" />
                     <distribution-bars>
-                        <distribution-bar count="9" __diff__="-1" metric="0" ratio="0.9" />
+                        <distribution-bar count="10" __diff__="0" metric="0" ratio="0.909090909091" />
                         <distribution-bar count="0" __diff__="-1" metric="1" ratio="0" />
-                        <distribution-bar count="1" __diff__="1" metric="2" ratio="0.1" />
+                        <distribution-bar count="1" __diff__="1" metric="2" ratio="0.0909090909091" />
                     </distribution-bars>
                 </preprocessor>
-                <comments nonzero="False" count="10" total="7.0" min="0" max="2" avg="0.7" sup="0">
-                    <__diff__ nonzero="0" count="-1" avg="0.245454545455" min="0" max="0" total="2.0" sup="0" />
+                <comments nonzero="False" count="11" total="8.0" min="0" max="2" avg="0.727272727273" sup="0">
+                    <__diff__ nonzero="0" count="0" avg="0.272727272727" min="0" max="0" total="3.0" sup="0" />
                     <distribution-bars>
-                        <distribution-bar count="5" __diff__="-2" metric="0" ratio="0.5" />
-                        <distribution-bar count="3" __diff__="0" metric="1" ratio="0.3" />
-                        <distribution-bar count="2" __diff__="1" metric="2" ratio="0.2" />
+                        <distribution-bar count="5" __diff__="-2" metric="0" ratio="0.454545454545" />
+                        <distribution-bar count="4" __diff__="1" metric="1" ratio="0.363636363636" />
+                        <distribution-bar count="2" __diff__="1" metric="2" ratio="0.181818181818" />
                     </distribution-bars>
                 </comments>
             </std.code.lines>

+ 76 - 46
mainline/tests/general/test_basic/test_workflow_view_second_per_file_txt_all_stdout.gold.txt

@@ -1,8 +1,8 @@
 ./simple.cpp:0: info: Metrics per '__global__' region
 	Region name    : __global__
 	Region type    : global
-	Offsets        : 0-674
-	Line numbers   : 1-68
+	Offsets        : 0-836
+	Line numbers   : 1-78
 	std.code.lines:code: 0 [+0]
 	std.code.lines:total: 0 [+0]
 	std.code.lines:preprocessor: 0 [+0]
@@ -11,8 +11,8 @@
 ./simple.cpp:4: info: Metrics per 'hmm' region
 	Region name    : hmm
 	Region type    : namespace
-	Offsets        : 2-673
-	Line numbers   : 3-67
+	Offsets        : 2-835
+	Line numbers   : 3-77
 	std.code.lines:code: 4 [+0]
 	std.code.lines:total: 7 [+1]
 	std.code.lines:preprocessor: 2 [+1]
@@ -21,8 +21,8 @@
 ./simple.cpp:10: info: Metrics per 'A' region
 	Region name    : A
 	Region type    : class
-	Offsets        : 111-669
-	Line numbers   : 10-65
+	Offsets        : 111-831
+	Line numbers   : 10-75
 	std.code.lines:code: 4 [+0]
 	std.code.lines:total: 4 [+0]
 	std.code.lines:preprocessor: 0 [+0]
@@ -104,70 +104,100 @@
 	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
+	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.33333333333 [-0.166666666667]
+	Average        : 1.42857142857 [-0.0714285714286]
 	Minimum        : 0 [-1]
 	Maximum        : 3 [+0]
-	Total          : 8.0 [-1.0]
-	Distribution   : 6 [+0] regions in total (including 0 [+0] suppressed)
+	Total          : 10.0 [+1.0]
+	Distribution   : 7 [+1] regions in total (including 1 [+0] 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
-	             0 : 0.167 : 0.167 : 1 [+1]	|||||||||||||||||
-	             1 : 0.500 : 0.667 : 3 [-1]	||||||||||||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.167 : 0.833 : 1 [+0]	|||||||||||||||||
-	             3 : 0.167 : 1.000 : 1 [+0]	|||||||||||||||||
+	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 
 ./simple.cpp:: info: Overall metrics for 'std.code.lines:total' metric
-	Average        : 5.6 [+0.0545454545455]
+	Average        : 5.90909090909 [+0.363636363636]
 	Minimum        : 0 [+0]
 	Maximum        : 12 [+0]
-	Total          : 56.0 [-5.0]
-	Distribution   : 10 [-1] regions in total (including 0 [+0] suppressed)
+	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.100 : 0.100 :  1 [+0 ]	||||||||||
-	             3 : 0.100 : 0.200 :  1 [-1 ]	||||||||||
-	             4 : 0.200 : 0.400 :  2 [+1 ]	||||||||||||||||||||
-	             5 : 0.200 : 0.600 :  2 [+0 ]	||||||||||||||||||||
-	             6 : 0.000 : 0.600 :  0 [-1 ]	
-	             7 : 0.200 : 0.800 :  2 [+1 ]	||||||||||||||||||||
-	             8 : 0.000 : 0.800 :  0 [-2 ]	
-	             9 : 0.100 : 0.900 :  1 [+1 ]	||||||||||
-	            12 : 0.100 : 1.000 :  1 [+0 ]	||||||||||
+	             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.0 [-0.0909090909091]
+	Average        : 5.27272727273 [+0.181818181818]
 	Minimum        : 0 [+0]
 	Maximum        : 11 [+0]
-	Total          : 50.0 [-6.0]
-	Distribution   : 10 [-1] regions in total (including 0 [+0] suppressed)
+	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.100 : 0.100 :  1 [+0 ]	||||||||||
-	             3 : 0.200 : 0.300 :  2 [+0 ]	||||||||||||||||||||
-	             4 : 0.200 : 0.500 :  2 [+0 ]	||||||||||||||||||||
-	             5 : 0.200 : 0.700 :  2 [+0 ]	||||||||||||||||||||
-	             7 : 0.100 : 0.800 :  1 [-2 ]	||||||||||
-	             8 : 0.100 : 0.900 :  1 [+1 ]	||||||||||
-	            11 : 0.100 : 1.000 :  1 [+0 ]	||||||||||
+	             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.2 [+0.109090909091]
+	Average        : 0.181818181818 [+0.0909090909091]
 	Minimum        : 0 [+0]
 	Maximum        : 2 [+1]
 	Total          : 2.0 [+1.0]
-	Distribution   : 10 [-1] regions in total (including 0 [+0] suppressed)
+	Distribution   : 11 [+0] regions in total (including 0 [+0] suppressed)
 	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.900 : 0.900 :  9 [-1 ]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.000 : 0.900 :  0 [-1 ]	
-	             2 : 0.100 : 1.000 :  1 [+1 ]	||||||||||
+	             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.7 [+0.245454545455]
+	Average        : 0.727272727273 [+0.272727272727]
 	Minimum        : 0 [+0]
 	Maximum        : 2 [+0]
-	Total          : 7.0 [+2.0]
-	Distribution   : 10 [-1] regions in total (including 0 [+0] suppressed)
+	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.500 : 0.500 :  5 [-2 ]	||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.300 : 0.800 :  3 [+0 ]	||||||||||||||||||||||||||||||
-	             2 : 0.200 : 1.000 :  2 [+1 ]	||||||||||||||||||||
+	             0 : 0.455 : 0.455 :  5 [-2 ]	|||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.364 : 0.818 :  4 [+1 ]	||||||||||||||||||||||||||||||||||||
+	             2 : 0.182 : 1.000 :  2 [+1 ]	||||||||||||||||||
 
 

+ 62 - 29
mainline/tests/general/test_basic/test_workflow_view_second_per_file_txt_new_stdout.gold.txt

@@ -1,8 +1,8 @@
 ./simple.cpp:0: info: Metrics per '__global__' region
 	Region name    : __global__
 	Region type    : global
-	Offsets        : 0-674
-	Line numbers   : 1-68
+	Offsets        : 0-836
+	Line numbers   : 1-78
 	std.code.lines:code: 0 [+0]
 	std.code.lines:total: 0 [+0]
 	std.code.lines:preprocessor: 0 [+0]
@@ -11,8 +11,8 @@
 ./simple.cpp:4: info: Metrics per 'hmm' region
 	Region name    : hmm
 	Region type    : namespace
-	Offsets        : 2-673
-	Line numbers   : 3-67
+	Offsets        : 2-835
+	Line numbers   : 3-77
 	std.code.lines:code: 4 [+0]
 	std.code.lines:total: 7 [+1]
 	std.code.lines:preprocessor: 2 [+1]
@@ -21,8 +21,8 @@
 ./simple.cpp:10: info: Metrics per 'A' region
 	Region name    : A
 	Region type    : class
-	Offsets        : 111-669
-	Line numbers   : 10-65
+	Offsets        : 111-831
+	Line numbers   : 10-75
 	std.code.lines:code: 4 [+0]
 	std.code.lines:total: 4 [+0]
 	std.code.lines:preprocessor: 0 [+0]
@@ -104,53 +104,86 @@
 	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
+	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        : 0.5 [+0.5]
+	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   : 2 [+2] regions in total (including 0 [+0] suppressed)
+	Distribution   : 1 [+1] regions in total (including 0 [+0] suppressed)
 	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.500 : 0.500 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.500 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 
 ./simple.cpp:: info: Overall metrics for 'std.code.lines:total' metric
-	Average        : 4.5 [+4.5]
+	Average        : 6.0 [+6.0]
 	Minimum        : 4 [+4]
-	Maximum        : 5 [+5]
-	Total          : 9.0 [+9.0]
-	Distribution   : 2 [+2] regions in total (including 0 [+0] suppressed)
+	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.500 : 0.500 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||
-	             5 : 0.500 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||
+	             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        : 4.0 [+4.0]
+	Average        : 5.33333333333 [+5.33333333333]
 	Minimum        : 3 [+3]
-	Maximum        : 5 [+5]
-	Total          : 8.0 [+8.0]
-	Distribution   : 2 [+2] regions in total (including 0 [+0] suppressed)
+	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.500 : 0.500 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||
-	             5 : 0.500 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||
+	             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   : 2 [+2] regions in total (including 0 [+0] suppressed)
+	Distribution   : 3 [+3] regions in total (including 0 [+0] suppressed)
 	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 1.000 : 1.000 : 2 [+2]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             0 : 1.000 : 1.000 : 3 [+3]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 
 ./simple.cpp:: info: Overall metrics for 'std.code.lines:comments' metric
-	Average        : 0.5 [+0.5]
+	Average        : 0.666666666667 [+0.666666666667]
 	Minimum        : 0 [+0]
 	Maximum        : 1 [+1]
-	Total          : 1.0 [+1.0]
-	Distribution   : 2 [+2] regions in total (including 0 [+0] suppressed)
+	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.500 : 0.500 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.500 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||
+	             0 : 0.333 : 0.333 : 1 [+1]	|||||||||||||||||||||||||||||||||
+	             1 : 0.667 : 1.000 : 2 [+2]	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 
 

+ 70 - 40
mainline/tests/general/test_basic/test_workflow_view_second_per_file_txt_touched_stdout.gold.txt

@@ -1,8 +1,8 @@
 ./simple.cpp:0: info: Metrics per '__global__' region
 	Region name    : __global__
 	Region type    : global
-	Offsets        : 0-674
-	Line numbers   : 1-68
+	Offsets        : 0-836
+	Line numbers   : 1-78
 	std.code.lines:code: 0 [+0]
 	std.code.lines:total: 0 [+0]
 	std.code.lines:preprocessor: 0 [+0]
@@ -11,8 +11,8 @@
 ./simple.cpp:4: info: Metrics per 'hmm' region
 	Region name    : hmm
 	Region type    : namespace
-	Offsets        : 2-673
-	Line numbers   : 3-67
+	Offsets        : 2-835
+	Line numbers   : 3-77
 	std.code.lines:code: 4 [+0]
 	std.code.lines:total: 7 [+1]
 	std.code.lines:preprocessor: 2 [+1]
@@ -21,8 +21,8 @@
 ./simple.cpp:10: info: Metrics per 'A' region
 	Region name    : A
 	Region type    : class
-	Offsets        : 111-669
-	Line numbers   : 10-65
+	Offsets        : 111-831
+	Line numbers   : 10-75
 	std.code.lines:code: 4 [+0]
 	std.code.lines:total: 4 [+0]
 	std.code.lines:preprocessor: 0 [+0]
@@ -104,65 +104,95 @@
 	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
+	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 [-0.25]
+	Average        : 1.2 [-0.05]
 	Minimum        : 0 [-1]
 	Maximum        : 2 [+0]
-	Total          : 4.0 [-1.0]
-	Distribution   : 4 [+0] regions in total (including 0 [+0] suppressed)
+	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
-	             0 : 0.250 : 0.250 : 1 [+1]	|||||||||||||||||||||||||
-	             1 : 0.500 : 0.750 : 2 [-1]	||||||||||||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.250 : 1.000 : 1 [+0]	|||||||||||||||||||||||||
+	             1 : 1.000 : 1.000 : 1 [+1]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 
 ./simple.cpp:: info: Overall metrics for 'std.code.lines:total' metric
-	Average        : 6.0 [+0.142857142857]
+	Average        : 6.42857142857 [+0.571428571429]
 	Minimum        : 4 [+1]
 	Maximum        : 9 [+1]
-	Total          : 36.0 [-5.0]
-	Distribution   : 6 [-1] regions in total (including 0 [+0] suppressed)
+	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.333 : 0.333 : 2 [+1]	|||||||||||||||||||||||||||||||||
-	             5 : 0.167 : 0.500 : 1 [+0]	|||||||||||||||||
-	             6 : 0.000 : 0.500 : 0 [-1]	
-	             7 : 0.333 : 0.833 : 2 [+1]	|||||||||||||||||||||||||||||||||
-	             8 : 0.000 : 0.833 : 0 [-2]	
-	             9 : 0.167 : 1.000 : 1 [+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.16666666667 [-0.119047619048]
+	Average        : 5.57142857143 [+0.285714285714]
 	Minimum        : 3 [+0]
 	Maximum        : 8 [+1]
-	Total          : 31.0 [-6.0]
-	Distribution   : 6 [-1] regions in total (including 0 [+0] suppressed)
+	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.167 : 0.167 : 1 [+0]	|||||||||||||||||
-	             4 : 0.333 : 0.500 : 2 [+0]	|||||||||||||||||||||||||||||||||
-	             5 : 0.167 : 0.667 : 1 [+0]	|||||||||||||||||
-	             7 : 0.167 : 0.833 : 1 [-2]	|||||||||||||||||
-	             8 : 0.167 : 1.000 : 1 [+1]	|||||||||||||||||
+	             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.333333333333 [+0.190476190476]
+	Average        : 0.285714285714 [+0.142857142857]
 	Minimum        : 0 [+0]
 	Maximum        : 2 [+1]
 	Total          : 2.0 [+1.0]
-	Distribution   : 6 [-1] regions in total (including 0 [+0] suppressed)
+	Distribution   : 7 [+0] regions in total (including 0 [+0] suppressed)
 	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.833 : 0.833 : 5 [-1]	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.000 : 0.833 : 0 [-1]	
-	             2 : 0.167 : 1.000 : 1 [+1]	|||||||||||||||||
+	             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.833333333333 [+0.404761904762]
+	Average        : 0.857142857143 [+0.428571428571]
 	Minimum        : 0 [+0]
 	Maximum        : 2 [+1]
-	Total          : 5.0 [+2.0]
-	Distribution   : 6 [-1] regions in total (including 0 [+0] suppressed)
+	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.333 : 0.333 : 2 [-2]	|||||||||||||||||||||||||||||||||
-	             1 : 0.500 : 0.833 : 3 [+0]	||||||||||||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.167 : 1.000 : 1 [+1]	|||||||||||||||||
+	             0 : 0.286 : 0.286 : 2 [-2]	|||||||||||||||||||||||||||||
+	             1 : 0.571 : 0.857 : 4 [+1]	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             2 : 0.143 : 1.000 : 1 [+1]	||||||||||||||
 
 

+ 49 - 34
mainline/tests/general/test_basic/test_workflow_view_second_stdout.gold.txt

@@ -10,58 +10,73 @@
         </subdirs>
         <aggregated-data>
             <std.code.complexity>
-                <cyclomatic nonzero="False" count="7" total="11.0" min="0" max="3" avg="1.57142857143" sup="0">
-                    <__diff__ nonzero="0" count="-1" avg="0.196428571429" min="-1" max="0" total="0.0" sup="0" />
+                <cyclomatic nonzero="False" count="8" total="13.0" min="0" max="3" avg="1.625" sup="1">
+                    <__diff__ nonzero="0" count="0" avg="0.25" min="-1" max="0" total="2.0" sup="0" />
                     <distribution-bars>
-                        <distribution-bar count="1" __diff__="1" metric="0" ratio="0.142857142857" />
-                        <distribution-bar count="3" __diff__="-3" metric="1" ratio="0.428571428571" />
-                        <distribution-bar count="1" __diff__="0" metric="2" ratio="0.142857142857" />
-                        <distribution-bar count="2" __diff__="1" metric="3" ratio="0.285714285714" />
+                        <distribution-bar count="1" __diff__="1" metric="0" ratio="0.125" />
+                        <distribution-bar count="3" __diff__="-3" metric="1" ratio="0.375" />
+                        <distribution-bar count="2" __diff__="1" metric="2" ratio="0.25" />
+                        <distribution-bar count="2" __diff__="1" metric="3" ratio="0.25" />
                     </distribution-bars>
                 </cyclomatic>
             </std.code.complexity>
+            <std.suppress.file>
+                <count nonzero="True" count="0" total="0.0" min="None" max="None" avg="None" sup="0">
+                    <__diff__ nonzero="0" count="0" avg="0" min="0" max="0" total="0.0" sup="0" />
+                    <distribution-bars>
+                    </distribution-bars>
+                </count>
+            </std.suppress.file>
+            <std.suppress>
+                <count nonzero="True" count="1" total="1.0" min="1" max="1" avg="1.0" sup="0">
+                    <__diff__ nonzero="0" count="1" avg="1.0" min="1" max="1" total="1.0" sup="0" />
+                    <distribution-bars>
+                        <distribution-bar count="1" __diff__="1" metric="1" ratio="1.0" />
+                    </distribution-bars>
+                </count>
+            </std.suppress>
             <std.code.lines>
-                <total nonzero="False" count="14" total="76.0" min="0" max="12" avg="5.42857142857" sup="0">
-                    <__diff__ nonzero="0" count="-2" avg="-0.00892857142857" min="0" max="0" total="-11.0" sup="0" />
+                <total nonzero="False" count="15" total="85.0" min="0" max="12" avg="5.66666666667" sup="0">
+                    <__diff__ nonzero="0" count="-1" avg="0.229166666667" min="0" max="0" total="-2.0" sup="0" />
                     <distribution-bars>
-                        <distribution-bar count="2" __diff__="0" metric="0" ratio="0.142857142857" />
-                        <distribution-bar count="2" __diff__="-1" metric="3" ratio="0.142857142857" />
-                        <distribution-bar count="2" __diff__="1" metric="4" ratio="0.142857142857" />
-                        <distribution-bar count="3" __diff__="1" metric="5" ratio="0.214285714286" />
+                        <distribution-bar count="2" __diff__="0" metric="0" ratio="0.133333333333" />
+                        <distribution-bar count="2" __diff__="-1" metric="3" ratio="0.133333333333" />
+                        <distribution-bar count="2" __diff__="1" metric="4" ratio="0.133333333333" />
+                        <distribution-bar count="3" __diff__="1" metric="5" ratio="0.2" />
                         <distribution-bar count="0" __diff__="-1" metric="6" ratio="0" />
-                        <distribution-bar count="2" __diff__="-1" metric="7" ratio="0.142857142857" />
+                        <distribution-bar count="2" __diff__="-1" metric="7" ratio="0.133333333333" />
                         <distribution-bar count="0" __diff__="-2" metric="8" ratio="0" />
-                        <distribution-bar count="1" __diff__="0" metric="9" ratio="0.0714285714286" />
-                        <distribution-bar count="2" __diff__="1" metric="12" ratio="0.142857142857" />
+                        <distribution-bar count="2" __diff__="1" metric="9" ratio="0.133333333333" />
+                        <distribution-bar count="2" __diff__="1" metric="12" ratio="0.133333333333" />
                     </distribution-bars>
                 </total>
-                <code nonzero="False" count="14" total="67.0" min="0" max="11" avg="4.78571428571" sup="0">
-                    <__diff__ nonzero="0" count="-2" avg="-0.0892857142857" min="0" max="0" total="-11.0" sup="0" />
+                <code nonzero="False" count="15" total="75.0" min="0" max="11" avg="5.0" sup="0">
+                    <__diff__ nonzero="0" count="-1" avg="0.125" min="0" max="0" total="-3.0" sup="0" />
                     <distribution-bars>
-                        <distribution-bar count="2" __diff__="0" metric="0" ratio="0.142857142857" />
-                        <distribution-bar count="3" __diff__="0" metric="3" ratio="0.214285714286" />
-                        <distribution-bar count="3" __diff__="0" metric="4" ratio="0.214285714286" />
-                        <distribution-bar count="2" __diff__="0" metric="5" ratio="0.142857142857" />
-                        <distribution-bar count="1" __diff__="-3" metric="7" ratio="0.0714285714286" />
-                        <distribution-bar count="1" __diff__="0" metric="8" ratio="0.0714285714286" />
-                        <distribution-bar count="1" __diff__="1" metric="10" ratio="0.0714285714286" />
-                        <distribution-bar count="1" __diff__="0" metric="11" ratio="0.0714285714286" />
+                        <distribution-bar count="2" __diff__="0" metric="0" ratio="0.133333333333" />
+                        <distribution-bar count="3" __diff__="0" metric="3" ratio="0.2" />
+                        <distribution-bar count="3" __diff__="0" metric="4" ratio="0.2" />
+                        <distribution-bar count="2" __diff__="0" metric="5" ratio="0.133333333333" />
+                        <distribution-bar count="1" __diff__="-3" metric="7" ratio="0.0666666666667" />
+                        <distribution-bar count="2" __diff__="1" metric="8" ratio="0.133333333333" />
+                        <distribution-bar count="1" __diff__="1" metric="10" ratio="0.0666666666667" />
+                        <distribution-bar count="1" __diff__="0" metric="11" ratio="0.0666666666667" />
                     </distribution-bars>
                 </code>
-                <preprocessor nonzero="False" count="14" total="2.0" min="0" max="2" avg="0.142857142857" sup="0">
-                    <__diff__ nonzero="0" count="-2" avg="0.0803571428571" min="0" max="1" total="1.0" sup="0" />
+                <preprocessor nonzero="False" count="15" total="2.0" min="0" max="2" avg="0.133333333333" sup="0">
+                    <__diff__ nonzero="0" count="-1" avg="0.0708333333333" min="0" max="1" total="1.0" sup="0" />
                     <distribution-bars>
-                        <distribution-bar count="13" __diff__="-2" metric="0" ratio="0.928571428571" />
+                        <distribution-bar count="14" __diff__="-1" metric="0" ratio="0.933333333333" />
                         <distribution-bar count="0" __diff__="-1" metric="1" ratio="0" />
-                        <distribution-bar count="1" __diff__="1" metric="2" ratio="0.0714285714286" />
+                        <distribution-bar count="1" __diff__="1" metric="2" ratio="0.0666666666667" />
                     </distribution-bars>
                 </preprocessor>
-                <comments nonzero="False" count="14" total="10.0" min="0" max="2" avg="0.714285714286" sup="0">
-                    <__diff__ nonzero="0" count="-2" avg="0.0892857142857" min="0" max="-1" total="0.0" sup="0" />
+                <comments nonzero="False" count="15" total="11.0" min="0" max="2" avg="0.733333333333" sup="0">
+                    <__diff__ nonzero="0" count="-1" avg="0.108333333333" min="0" max="-1" total="1.0" sup="0" />
                     <distribution-bars>
-                        <distribution-bar count="7" __diff__="-3" metric="0" ratio="0.5" />
-                        <distribution-bar count="4" __diff__="1" metric="1" ratio="0.285714285714" />
-                        <distribution-bar count="3" __diff__="1" metric="2" ratio="0.214285714286" />
+                        <distribution-bar count="7" __diff__="-3" metric="0" ratio="0.466666666667" />
+                        <distribution-bar count="5" __diff__="2" metric="1" ratio="0.333333333333" />
+                        <distribution-bar count="3" __diff__="1" metric="2" ratio="0.2" />
                     </distribution-bars>
                 </comments>
             </std.code.lines>

+ 58 - 41
mainline/tests/general/test_basic/test_workflow_view_second_txt_all_stdout.gold.txt

@@ -1,69 +1,86 @@
 :: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 1.57142857143 [+0.196428571429]
+	Average        : 1.625 [+0.25]
 	Minimum        : 0 [-1]
 	Maximum        : 3 [+0]
-	Total          : 11.0 [+0.0]
-	Distribution   : 7 [-1] regions in total (including 0 [+0] suppressed)
+	Total          : 13.0 [+2.0]
+	Distribution   : 8 [+0] regions in total (including 1 [+0] suppressed)
 	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.143 : 0.143 : 1 [+1]	||||||||||||||
-	             1 : 0.429 : 0.571 : 3 [-3]	|||||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.143 : 0.714 : 1 [+0]	||||||||||||||
-	             3 : 0.286 : 1.000 : 2 [+1]	|||||||||||||||||||||||||||||
+	             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.42857142857 [-0.00892857142857]
+	Average        : 5.66666666667 [+0.229166666667]
 	Minimum        : 0 [+0]
 	Maximum        : 12 [+0]
-	Total          : 76.0 [-11.0]
-	Distribution   : 14 [-2] regions in total (including 0 [+0] suppressed)
+	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.143 : 0.143 :  2 [+0 ]	||||||||||||||
-	             3 : 0.143 : 0.286 :  2 [-1 ]	||||||||||||||
-	             4 : 0.143 : 0.429 :  2 [+1 ]	||||||||||||||
-	             5 : 0.214 : 0.643 :  3 [+1 ]	|||||||||||||||||||||
-	             6 : 0.000 : 0.643 :  0 [-1 ]	
-	             7 : 0.143 : 0.786 :  2 [-1 ]	||||||||||||||
-	             8 : 0.000 : 0.786 :  0 [-2 ]	
-	             9 : 0.071 : 0.857 :  1 [+0 ]	|||||||
-	            12 : 0.143 : 1.000 :  2 [+1 ]	||||||||||||||
+	             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        : 4.78571428571 [-0.0892857142857]
+	Average        : 5.0 [+0.125]
 	Minimum        : 0 [+0]
 	Maximum        : 11 [+0]
-	Total          : 67.0 [-11.0]
-	Distribution   : 14 [-2] regions in total (including 0 [+0] suppressed)
+	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.143 : 0.143 :  2 [+0 ]	||||||||||||||
-	             3 : 0.214 : 0.357 :  3 [+0 ]	|||||||||||||||||||||
-	             4 : 0.214 : 0.571 :  3 [+0 ]	|||||||||||||||||||||
-	             5 : 0.143 : 0.714 :  2 [+0 ]	||||||||||||||
-	             7 : 0.071 : 0.786 :  1 [-3 ]	|||||||
-	             8 : 0.071 : 0.857 :  1 [+0 ]	|||||||
-	            10 : 0.071 : 0.929 :  1 [+1 ]	|||||||
-	            11 : 0.071 : 1.000 :  1 [+0 ]	|||||||
+	             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.142857142857 [+0.0803571428571]
+	Average        : 0.133333333333 [+0.0708333333333]
 	Minimum        : 0 [+0]
 	Maximum        : 2 [+1]
 	Total          : 2.0 [+1.0]
-	Distribution   : 14 [-2] regions in total (including 0 [+0] suppressed)
+	Distribution   : 15 [-1] regions in total (including 0 [+0] suppressed)
 	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.929 : 0.929 : 13 [-2 ]	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.000 : 0.929 :  0 [-1 ]	
-	             2 : 0.071 : 1.000 :  1 [+1 ]	|||||||
+	             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.714285714286 [+0.0892857142857]
+	Average        : 0.733333333333 [+0.108333333333]
 	Minimum        : 0 [+0]
 	Maximum        : 2 [-1]
-	Total          : 10.0 [+0.0]
-	Distribution   : 14 [-2] regions in total (including 0 [+0] suppressed)
+	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.500 : 0.500 :  7 [-3 ]	||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.286 : 0.786 :  4 [+1 ]	|||||||||||||||||||||||||||||
-	             2 : 0.214 : 1.000 :  3 [+1 ]	|||||||||||||||||||||
+	             0 : 0.467 : 0.467 :  7 [-3 ]	|||||||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.333 : 0.800 :  5 [+2 ]	|||||||||||||||||||||||||||||||||
+	             2 : 0.200 : 1.000 :  3 [+1 ]	||||||||||||||||||||
 
 :: info: Directory content:
 	Directory      : .

+ 50 - 30
mainline/tests/general/test_basic/test_workflow_view_second_txt_new_stdout.gold.txt

@@ -1,59 +1,79 @@
 :: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 1.33333333333 [+1.33333333333]
+	Average        : 1.5 [+1.5]
 	Minimum        : 0 [+0]
 	Maximum        : 3 [+3]
-	Total          : 4.0 [+4.0]
-	Distribution   : 3 [+3] regions in total (including 0 [+0] suppressed)
+	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.333 : 0.333 : 1 [+1]	|||||||||||||||||||||||||||||||||
-	             1 : 0.333 : 0.667 : 1 [+1]	|||||||||||||||||||||||||||||||||
-	             3 : 0.333 : 1.000 : 1 [+1]	|||||||||||||||||||||||||||||||||
+	             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        : 4.83333333333 [+4.83333333333]
+	Average        : 5.42857142857 [+5.42857142857]
 	Minimum        : 0 [+0]
 	Maximum        : 12 [+12]
-	Total          : 29.0 [+29.0]
-	Distribution   : 6 [+6] regions in total (including 0 [+0] suppressed)
+	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.167 : 0.167 : 1 [+1]	|||||||||||||||||
-	             3 : 0.167 : 0.333 : 1 [+1]	|||||||||||||||||
-	             4 : 0.167 : 0.500 : 1 [+1]	|||||||||||||||||
-	             5 : 0.333 : 0.833 : 2 [+2]	|||||||||||||||||||||||||||||||||
-	            12 : 0.167 : 1.000 : 1 [+1]	|||||||||||||||||
+	             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.16666666667 [+4.16666666667]
+	Average        : 4.71428571429 [+4.71428571429]
 	Minimum        : 0 [+0]
 	Maximum        : 10 [+10]
-	Total          : 25.0 [+25.0]
-	Distribution   : 6 [+6] regions in total (including 0 [+0] suppressed)
+	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.167 : 0.167 : 1 [+1]	|||||||||||||||||
-	             3 : 0.333 : 0.500 : 2 [+2]	|||||||||||||||||||||||||||||||||
-	             4 : 0.167 : 0.667 : 1 [+1]	|||||||||||||||||
-	             5 : 0.167 : 0.833 : 1 [+1]	|||||||||||||||||
-	            10 : 0.167 : 1.000 : 1 [+1]	|||||||||||||||||
+	             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   : 6 [+6] regions in total (including 0 [+0] suppressed)
+	Distribution   : 7 [+7] regions in total (including 0 [+0] suppressed)
 	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 1.000 : 1.000 : 6 [+6]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	             0 : 1.000 : 1.000 : 7 [+7]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 
 :: info: Overall metrics for 'std.code.lines:comments' metric
-	Average        : 0.666666666667 [+0.666666666667]
+	Average        : 0.714285714286 [+0.714285714286]
 	Minimum        : 0 [+0]
 	Maximum        : 2 [+2]
-	Total          : 4.0 [+4.0]
-	Distribution   : 6 [+6] regions in total (including 0 [+0] suppressed)
+	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.500 : 0.500 : 3 [+3]	||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.333 : 0.833 : 2 [+2]	|||||||||||||||||||||||||||||||||
-	             2 : 0.167 : 1.000 : 1 [+1]	|||||||||||||||||
+	             0 : 0.429 : 0.429 : 3 [+3]	|||||||||||||||||||||||||||||||||||||||||||
+	             1 : 0.429 : 0.857 : 3 [+3]	|||||||||||||||||||||||||||||||||||||||||||
+	             2 : 0.143 : 1.000 : 1 [+1]	||||||||||||||
 
 :: info: Directory content:
 	Directory      : .

+ 57 - 40
mainline/tests/general/test_basic/test_workflow_view_second_txt_touched_stdout.gold.txt

@@ -1,68 +1,85 @@
 :: info: Overall metrics for 'std.code.complexity:cyclomatic' metric
-	Average        : 1.4 [+0.233333333333]
+	Average        : 1.5 [+0.333333333333]
 	Minimum        : 0 [-1]
 	Maximum        : 3 [+1]
-	Total          : 7.0 [+0.0]
-	Distribution   : 5 [-1] regions in total (including 0 [+0] suppressed)
+	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.200 : 0.200 : 1 [+1]	||||||||||||||||||||
-	             1 : 0.400 : 0.600 : 2 [-3]	||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.200 : 0.800 : 1 [+0]	||||||||||||||||||||
-	             3 : 0.200 : 1.000 : 1 [+1]	||||||||||||||||||||
+	             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.6 [+0.0166666666667]
+	Average        : 5.90909090909 [+0.325757575758]
 	Minimum        : 0 [+0]
 	Maximum        : 12 [+3]
-	Total          : 56.0 [-11.0]
-	Distribution   : 10 [-2] regions in total (including 0 [+0] suppressed)
+	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.100 : 0.100 :  1 [+0 ]	||||||||||
-	             3 : 0.100 : 0.200 :  1 [-1 ]	||||||||||
-	             4 : 0.200 : 0.400 :  2 [+1 ]	||||||||||||||||||||
-	             5 : 0.200 : 0.600 :  2 [+1 ]	||||||||||||||||||||
-	             6 : 0.000 : 0.600 :  0 [-1 ]	
-	             7 : 0.200 : 0.800 :  2 [-1 ]	||||||||||||||||||||
-	             8 : 0.000 : 0.800 :  0 [-2 ]	
-	             9 : 0.100 : 0.900 :  1 [+0 ]	||||||||||
-	            12 : 0.100 : 1.000 :  1 [+1 ]	||||||||||
+	             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        : 4.8 [-0.116666666667]
+	Average        : 5.09090909091 [+0.174242424242]
 	Minimum        : 0 [+0]
 	Maximum        : 10 [+2]
-	Total          : 48.0 [-11.0]
-	Distribution   : 10 [-2] regions in total (including 0 [+0] suppressed)
+	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.100 : 0.100 :  1 [+0 ]	||||||||||
-	             3 : 0.200 : 0.300 :  2 [+0 ]	||||||||||||||||||||
-	             4 : 0.300 : 0.600 :  3 [+0 ]	||||||||||||||||||||||||||||||
-	             5 : 0.100 : 0.700 :  1 [+0 ]	||||||||||
-	             7 : 0.100 : 0.800 :  1 [-3 ]	||||||||||
-	             8 : 0.100 : 0.900 :  1 [+0 ]	||||||||||
-	            10 : 0.100 : 1.000 :  1 [+1 ]	||||||||||
+	             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.2 [+0.116666666667]
+	Average        : 0.181818181818 [+0.0984848484848]
 	Minimum        : 0 [+0]
 	Maximum        : 2 [+1]
 	Total          : 2.0 [+1.0]
-	Distribution   : 10 [-2] regions in total (including 0 [+0] suppressed)
+	Distribution   : 11 [-1] regions in total (including 0 [+0] suppressed)
 	  Metric value : Ratio : R-sum : Number of regions
-	             0 : 0.900 : 0.900 :  9 [-2 ]	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.000 : 0.900 :  0 [-1 ]	
-	             2 : 0.100 : 1.000 :  1 [+1 ]	||||||||||
+	             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.8 [+0.133333333333]
+	Average        : 0.818181818182 [+0.151515151515]
 	Minimum        : 0 [+0]
 	Maximum        : 2 [-1]
-	Total          : 8.0 [+0.0]
-	Distribution   : 10 [-2] regions in total (including 0 [+0] suppressed)
+	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.400 : 0.400 :  4 [-3 ]	||||||||||||||||||||||||||||||||||||||||
-	             1 : 0.400 : 0.800 :  4 [+1 ]	||||||||||||||||||||||||||||||||||||||||
-	             2 : 0.200 : 1.000 :  2 [+1 ]	||||||||||||||||||||
+	             0 : 0.364 : 0.364 :  4 [-3 ]	||||||||||||||||||||||||||||||||||||
+	             1 : 0.455 : 0.818 :  5 [+2 ]	|||||||||||||||||||||||||||||||||||||||||||||
+	             2 : 0.182 : 1.000 :  2 [+1 ]	||||||||||||||||||
 
 :: info: Directory content:
 	Directory      : .

+ 1 - 1
mainline/tests/general/test_std_suppress/sources/test.c

@@ -25,7 +25,7 @@ int func3()
 
 
 /* bla-bla */
-/* metrix++: suppress std.code.length:total */
+       /* metrix++: suppress std.code.length:total */
 /* bla-bla */
 int func4()
 {

+ 1 - 1
mainline/tests/general/test_std_suppress/test_basic_limit_4_stdout.gold.txt

@@ -37,7 +37,7 @@
 ./test.c:30: warning: Metric 'std.code.length:total' for region 'func4' exceeds the limit.
 	Metric name    : std.code.length:total
 	Region name    : func4
-	Metric value   : 137
+	Metric value   : 144
 	Modified       : None
 	Change trend   : None
 	Limit          : 0.0

+ 1 - 1
mainline/tests/general/test_std_suppress/test_basic_limit_size_nosup_stdout.gold.txt

@@ -1,7 +1,7 @@
 ./test.c:0: warning: Metric 'std.general:size' exceeds the limit.
 	Metric name    : std.general:size
 	Region name    : None
-	Metric value   : 3016
+	Metric value   : 3023
 	Modified       : None
 	Change trend   : None
 	Limit          : 0.0

+ 10 - 10
mainline/tests/general/test_std_suppress/test_basic_view_default_stdout.gold.txt

@@ -9,13 +9,13 @@
 	             1 : 0.471 : 1.000 :  8	|||||||||||||||||||||||||||||||||||||||||||||||
 
 :: info: Overall metrics for 'std.general:size' metric
-	Average        : 3016.0
-	Minimum        : 3016
-	Maximum        : 3016
-	Total          : 3016.0
+	Average        : 3023.0
+	Minimum        : 3023
+	Maximum        : 3023
+	Total          : 3023.0
 	Distribution   : 1 files in total (including 0 suppressed)
 	  Metric value : Ratio : R-sum : Number of files
-	          3016 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+	          3023 : 1.000 : 1.000 : 1	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 
 :: info: Overall metrics for 'std.suppress.file:count' metric
 	Average        : 1.0 (excluding zero metric values)
@@ -37,10 +37,10 @@
 	             2 : 0.238 : 1.000 :  5	||||||||||||||||||||||||
 
 :: info: Overall metrics for 'std.code.length:total' metric
-	Average        : 116.0
+	Average        : 116.269230769
 	Minimum        : 43
 	Maximum        : 242
-	Total          : 3016.0
+	Total          : 3023.0
 	Distribution   : 26 regions in total (including 19 suppressed)
 	  Metric value : Ratio : R-sum : Number of regions
 	         43-53 : 0.115 : 0.115 :  3	||||||||||||
@@ -51,9 +51,9 @@
 	        93-103 : 0.038 : 0.538 :  1	||||
 	       103-113 : 0.038 : 0.577 :  1	||||
 	       113-123 : 0.038 : 0.615 :  1	||||
-	       123-133 : 0.077 : 0.692 :  2	||||||||
-	       133-143 : 0.077 : 0.769 :  2	||||||||
-	       143-153 : 0.038 : 0.808 :  1	||||
+	       123-133 : 0.038 : 0.654 :  1	||||
+	       133-143 : 0.077 : 0.731 :  2	||||||||
+	       143-153 : 0.077 : 0.808 :  2	||||||||
 	       153-163 : 0.038 : 0.846 :  1	||||
 	       163-173 : 0.038 : 0.885 :  1	||||
 	       173-183 : 0.038 : 0.923 :  1	||||