Prechádzať zdrojové kódy

extended report tests and added screenshots of doxygen output to docs

stefan 1 rok pred
rodič
commit
578fe930b5

+ 12 - 0
docs/docs/04-u-workflow.md

@@ -517,6 +517,18 @@ This can be used to integrate metrics in automatically generated reports.
 Currently the 'report' tool can generate data to be integrated in doxygen
 documentation. The tool creates a 'metrixpp.dox' file in the output directory.
 
+This will create an overview Table as seperate page:
+
+![Doxygen report overview](./../src/img/doxygenOverview.png)
+
+Create a new global list with metrix warnings (analog to the todo list):
+
+![Doxygen warning list](./../src/img/doxygenWarnings.png)
+
+And add a metrix section on top of every files documentation page:
+
+![Doxygen file documentation](./../src/img/doxygenFile.png)
+
 
 The doxygen format requires pytablewriter to be installed.
 ```

BIN
docs/src/img/doxygenFile.png


BIN
docs/src/img/doxygenOverview.png


BIN
docs/src/img/doxygenWarnings.png


+ 6 - 1
metrixpp/tests/general/test_basic.py

@@ -260,7 +260,12 @@ class Test(tests.common.TestCase):
 
     def test_report_format(self):
 
-        runner = tests.common.ToolRunner('collect', ['--std.code.complexity.cyclomatic'], save_prev=True)
+        runner = tests.common.ToolRunner('collect',
+                                         ['--std.code.complexity.cyclomatic',
+                                          '--std.code.lines.total',
+                                          '--std.code.lines.code',
+                                          '--std.code.filelines.total'],
+                                         save_prev=True)
         self.assertExec(runner.run())
 
         runner = tests.common.ToolRunner('report',

+ 25 - 25
metrixpp/tests/general/test_basic/test_report_format_report_dox_stdout.gold.txt

@@ -9,26 +9,26 @@ Metrix Limits exceeded 8 times.
 Warning list: \ref metrix_warnings
 
 # metrix overview
-|              file               | warnings |
-| ------------------------------- | -------: |
-| file_deleted_in_new_sources.cpp |        2 |
-| simple.cpp                      |        6 |
+|              file               | warnings | std.code.filelines.total |
+| ------------------------------- | -------: | -----------------------: |
+| file_deleted_in_new_sources.cpp |        2 |                       25 |
+| simple.cpp                      |        6 |                       74 |
 
 
 \file ./file_deleted_in_new_sources.cpp
 
 # metrix
-| warnings |
-| -------: |
-|        2 |
+| warnings | std.code.filelines.total |
+| -------: | -----------------------: |
+|        2 |                       25 |
 
 # region metrix
-|     region     | warnings | std.code.complexity.cyclomatic |
-| -------------- | -------: | ------------------------------ |
-| __global__     |        0 | -                              |
-| \ref hmm       |        0 | -                              |
-| \ref B         |        1 |                              1 |
-| \ref never_old |        1 |                              1 |
+|     region     | warnings | std.code.lines.code | std.code.lines.total | std.code.complexity.cyclomatic |
+| -------------- | -------: | ------------------: | -------------------: | ------------------------------ |
+| __global__     |        0 |                   0 |                    0 | -                              |
+| \ref hmm       |        0 |                   4 |                    7 | -                              |
+| \ref B         |        1 |                   8 |                    9 |                              1 |
+| \ref never_old |        1 |                   7 |                    7 |                              1 |
 
 \xrefitem metrix_warnings "Metrix Warning" "Metrix Warnings" Metric 'std.code.complexity:cyclomatic' for region \ref B exceeds the limit. (value: 1 > limit: 0.0)
 \xrefitem metrix_warnings "Metrix Warning" "Metrix Warnings" Metric 'std.code.complexity:cyclomatic' for region \ref never_old exceeds the limit. (value: 1 > limit: 0.0)
@@ -37,20 +37,20 @@ Warning list: \ref metrix_warnings
 \file ./simple.cpp
 
 # metrix
-| warnings |
-| -------: |
-|        6 |
+| warnings | std.code.filelines.total |
+| -------: | -----------------------: |
+|        6 |                       74 |
 
 # region metrix
-|                 region                 | warnings | std.code.complexity.cyclomatic |
-| -------------------------------------- | -------: | ------------------------------ |
-| __global__                             |        0 | -                              |
-| \ref hmm                               |        0 | -                              |
-| \ref A                                 |        1 |                              3 |
-| \ref func                              |        1 |                              1 |
-| \ref embeded                           |        2 |                              1 |
-| \ref func_to_be_removed_in_new_sources |        1 |                              2 |
-| \ref never                             |        1 |                              1 |
+|                 region                 | warnings | std.code.lines.code | std.code.lines.total | std.code.complexity.cyclomatic |
+| -------------------------------------- | -------: | ------------------: | -------------------: | ------------------------------ |
+| __global__                             |        0 |                   0 |                    0 | -                              |
+| \ref hmm                               |        0 |                   4 |                    6 | -                              |
+| \ref A                                 |        1 |                  11 |                   12 |                              3 |
+| \ref func                              |        1 |                   5 |                    5 |                              1 |
+| \ref embeded                           |        2 |                   7 |                    8 |                              1 |
+| \ref func_to_be_removed_in_new_sources |        1 |                   5 |                    5 |                              2 |
+| \ref never                             |        1 |                   7 |                    7 |                              1 |
 
 \xrefitem metrix_warnings "Metrix Warning" "Metrix Warnings" Metric 'std.code.complexity:cyclomatic' for region \ref A exceeds the limit. (value: 3 > limit: 0.0)
 \xrefitem metrix_warnings "Metrix Warning" "Metrix Warnings" Metric 'std.code.complexity:cyclomatic' for region \ref func exceeds the limit. (value: 1 > limit: 0.0)

+ 28 - 2
metrixpp/tests/general/test_basic/test_report_format_report_json_stdout.gold.txt

@@ -2,11 +2,13 @@
     "overview": [
         {
             "file": "file_deleted_in_new_sources.cpp",
-            "warnings": "2"
+            "warnings": "2",
+            "std.code.filelines.total": "25"
         },
         {
             "file": "simple.cpp",
-            "warnings": "6"
+            "warnings": "6",
+            "std.code.filelines.total": "74"
         }
     ],
     "warnings": [
@@ -85,25 +87,34 @@
                     "limit": 0.0
                 }
             ],
+            "std.code.filelines.total": "25",
             "regions": {
                 "__global__": {
                     "region": "__global__",
                     "warnings": "0",
+                    "std.code.lines.code": "0",
+                    "std.code.lines.total": "0",
                     "std.code.complexity.cyclomatic": "-"
                 },
                 "hmm": {
                     "region": "hmm",
                     "warnings": "0",
+                    "std.code.lines.code": "4",
+                    "std.code.lines.total": "7",
                     "std.code.complexity.cyclomatic": "-"
                 },
                 "B": {
                     "region": "B",
                     "warnings": "1",
+                    "std.code.lines.code": "8",
+                    "std.code.lines.total": "9",
                     "std.code.complexity.cyclomatic": "1"
                 },
                 "never_old": {
                     "region": "never_old",
                     "warnings": "1",
+                    "std.code.lines.code": "7",
+                    "std.code.lines.total": "7",
                     "std.code.complexity.cyclomatic": "1"
                 }
             }
@@ -153,40 +164,55 @@
                     "limit": 0.0
                 }
             ],
+            "std.code.filelines.total": "74",
             "regions": {
                 "__global__": {
                     "region": "__global__",
                     "warnings": "0",
+                    "std.code.lines.code": "0",
+                    "std.code.lines.total": "0",
                     "std.code.complexity.cyclomatic": "-"
                 },
                 "hmm": {
                     "region": "hmm",
                     "warnings": "0",
+                    "std.code.lines.code": "4",
+                    "std.code.lines.total": "6",
                     "std.code.complexity.cyclomatic": "-"
                 },
                 "A": {
                     "region": "A",
                     "warnings": "1",
+                    "std.code.lines.code": "11",
+                    "std.code.lines.total": "12",
                     "std.code.complexity.cyclomatic": "3"
                 },
                 "func": {
                     "region": "func",
                     "warnings": "1",
+                    "std.code.lines.code": "5",
+                    "std.code.lines.total": "5",
                     "std.code.complexity.cyclomatic": "1"
                 },
                 "embeded": {
                     "region": "embeded",
                     "warnings": "2",
+                    "std.code.lines.code": "7",
+                    "std.code.lines.total": "8",
                     "std.code.complexity.cyclomatic": "1"
                 },
                 "func_to_be_removed_in_new_sources": {
                     "region": "func_to_be_removed_in_new_sources",
                     "warnings": "1",
+                    "std.code.lines.code": "5",
+                    "std.code.lines.total": "5",
                     "std.code.complexity.cyclomatic": "2"
                 },
                 "never": {
                     "region": "never",
                     "warnings": "1",
+                    "std.code.lines.code": "7",
+                    "std.code.lines.total": "7",
                     "std.code.complexity.cyclomatic": "1"
                 }
             }

+ 26 - 0
metrixpp/tests/general/test_basic/test_report_format_report_txt_stdout.gold.txt

@@ -2,9 +2,11 @@ Overview:
 
 file: file_deleted_in_new_sources.cpp
 warnings: 2
+std.code.filelines.total: 25
 
 file: simple.cpp
 warnings: 6
+std.code.filelines.total: 74
 
 Warnings:
 Metric 'std.code.complexity:cyclomatic' for region B exceeds the limit. (value: 1 > limit: 0.0)
@@ -20,21 +22,30 @@ Files:
 
 ./file_deleted_in_new_sources.cpp
 warnings: 2
+std.code.filelines.total: 25
 
 ./file_deleted_in_new_sources.cpp region: __global__
 warnings: 0
+std.code.lines.code: 0
+std.code.lines.total: 0
 std.code.complexity.cyclomatic: -
 
 ./file_deleted_in_new_sources.cpp region: hmm
 warnings: 0
+std.code.lines.code: 4
+std.code.lines.total: 7
 std.code.complexity.cyclomatic: -
 
 ./file_deleted_in_new_sources.cpp region: B
 warnings: 1
+std.code.lines.code: 8
+std.code.lines.total: 9
 std.code.complexity.cyclomatic: 1
 
 ./file_deleted_in_new_sources.cpp region: never_old
 warnings: 1
+std.code.lines.code: 7
+std.code.lines.total: 7
 std.code.complexity.cyclomatic: 1
 
 Warnings for ./file_deleted_in_new_sources.cpp:
@@ -43,33 +54,48 @@ Metric 'std.code.complexity:cyclomatic' for region never_old exceeds the limit.
 
 ./simple.cpp
 warnings: 6
+std.code.filelines.total: 74
 
 ./simple.cpp region: __global__
 warnings: 0
+std.code.lines.code: 0
+std.code.lines.total: 0
 std.code.complexity.cyclomatic: -
 
 ./simple.cpp region: hmm
 warnings: 0
+std.code.lines.code: 4
+std.code.lines.total: 6
 std.code.complexity.cyclomatic: -
 
 ./simple.cpp region: A
 warnings: 1
+std.code.lines.code: 11
+std.code.lines.total: 12
 std.code.complexity.cyclomatic: 3
 
 ./simple.cpp region: func
 warnings: 1
+std.code.lines.code: 5
+std.code.lines.total: 5
 std.code.complexity.cyclomatic: 1
 
 ./simple.cpp region: embeded
 warnings: 2
+std.code.lines.code: 7
+std.code.lines.total: 8
 std.code.complexity.cyclomatic: 1
 
 ./simple.cpp region: func_to_be_removed_in_new_sources
 warnings: 1
+std.code.lines.code: 5
+std.code.lines.total: 5
 std.code.complexity.cyclomatic: 2
 
 ./simple.cpp region: never
 warnings: 1
+std.code.lines.code: 7
+std.code.lines.total: 7
 std.code.complexity.cyclomatic: 1
 
 Warnings for ./simple.cpp: