Browse Source

extended report tests and added screenshots of doxygen output to docs

stefan 1 year ago
parent
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
 Currently the 'report' tool can generate data to be integrated in doxygen
 documentation. The tool creates a 'metrixpp.dox' file in the output directory.
 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.
 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):
     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())
         self.assertExec(runner.run())
 
 
         runner = tests.common.ToolRunner('report',
         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
 Warning list: \ref metrix_warnings
 
 
 # metrix overview
 # 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
 \file ./file_deleted_in_new_sources.cpp
 
 
 # metrix
 # metrix
-| warnings |
-| -------: |
-|        2 |
+| warnings | std.code.filelines.total |
+| -------: | -----------------------: |
+|        2 |                       25 |
 
 
 # region metrix
 # 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 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)
 \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
 \file ./simple.cpp
 
 
 # metrix
 # metrix
-| warnings |
-| -------: |
-|        6 |
+| warnings | std.code.filelines.total |
+| -------: | -----------------------: |
+|        6 |                       74 |
 
 
 # region metrix
 # 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 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)
 \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": [
     "overview": [
         {
         {
             "file": "file_deleted_in_new_sources.cpp",
             "file": "file_deleted_in_new_sources.cpp",
-            "warnings": "2"
+            "warnings": "2",
+            "std.code.filelines.total": "25"
         },
         },
         {
         {
             "file": "simple.cpp",
             "file": "simple.cpp",
-            "warnings": "6"
+            "warnings": "6",
+            "std.code.filelines.total": "74"
         }
         }
     ],
     ],
     "warnings": [
     "warnings": [
@@ -85,25 +87,34 @@
                     "limit": 0.0
                     "limit": 0.0
                 }
                 }
             ],
             ],
+            "std.code.filelines.total": "25",
             "regions": {
             "regions": {
                 "__global__": {
                 "__global__": {
                     "region": "__global__",
                     "region": "__global__",
                     "warnings": "0",
                     "warnings": "0",
+                    "std.code.lines.code": "0",
+                    "std.code.lines.total": "0",
                     "std.code.complexity.cyclomatic": "-"
                     "std.code.complexity.cyclomatic": "-"
                 },
                 },
                 "hmm": {
                 "hmm": {
                     "region": "hmm",
                     "region": "hmm",
                     "warnings": "0",
                     "warnings": "0",
+                    "std.code.lines.code": "4",
+                    "std.code.lines.total": "7",
                     "std.code.complexity.cyclomatic": "-"
                     "std.code.complexity.cyclomatic": "-"
                 },
                 },
                 "B": {
                 "B": {
                     "region": "B",
                     "region": "B",
                     "warnings": "1",
                     "warnings": "1",
+                    "std.code.lines.code": "8",
+                    "std.code.lines.total": "9",
                     "std.code.complexity.cyclomatic": "1"
                     "std.code.complexity.cyclomatic": "1"
                 },
                 },
                 "never_old": {
                 "never_old": {
                     "region": "never_old",
                     "region": "never_old",
                     "warnings": "1",
                     "warnings": "1",
+                    "std.code.lines.code": "7",
+                    "std.code.lines.total": "7",
                     "std.code.complexity.cyclomatic": "1"
                     "std.code.complexity.cyclomatic": "1"
                 }
                 }
             }
             }
@@ -153,40 +164,55 @@
                     "limit": 0.0
                     "limit": 0.0
                 }
                 }
             ],
             ],
+            "std.code.filelines.total": "74",
             "regions": {
             "regions": {
                 "__global__": {
                 "__global__": {
                     "region": "__global__",
                     "region": "__global__",
                     "warnings": "0",
                     "warnings": "0",
+                    "std.code.lines.code": "0",
+                    "std.code.lines.total": "0",
                     "std.code.complexity.cyclomatic": "-"
                     "std.code.complexity.cyclomatic": "-"
                 },
                 },
                 "hmm": {
                 "hmm": {
                     "region": "hmm",
                     "region": "hmm",
                     "warnings": "0",
                     "warnings": "0",
+                    "std.code.lines.code": "4",
+                    "std.code.lines.total": "6",
                     "std.code.complexity.cyclomatic": "-"
                     "std.code.complexity.cyclomatic": "-"
                 },
                 },
                 "A": {
                 "A": {
                     "region": "A",
                     "region": "A",
                     "warnings": "1",
                     "warnings": "1",
+                    "std.code.lines.code": "11",
+                    "std.code.lines.total": "12",
                     "std.code.complexity.cyclomatic": "3"
                     "std.code.complexity.cyclomatic": "3"
                 },
                 },
                 "func": {
                 "func": {
                     "region": "func",
                     "region": "func",
                     "warnings": "1",
                     "warnings": "1",
+                    "std.code.lines.code": "5",
+                    "std.code.lines.total": "5",
                     "std.code.complexity.cyclomatic": "1"
                     "std.code.complexity.cyclomatic": "1"
                 },
                 },
                 "embeded": {
                 "embeded": {
                     "region": "embeded",
                     "region": "embeded",
                     "warnings": "2",
                     "warnings": "2",
+                    "std.code.lines.code": "7",
+                    "std.code.lines.total": "8",
                     "std.code.complexity.cyclomatic": "1"
                     "std.code.complexity.cyclomatic": "1"
                 },
                 },
                 "func_to_be_removed_in_new_sources": {
                 "func_to_be_removed_in_new_sources": {
                     "region": "func_to_be_removed_in_new_sources",
                     "region": "func_to_be_removed_in_new_sources",
                     "warnings": "1",
                     "warnings": "1",
+                    "std.code.lines.code": "5",
+                    "std.code.lines.total": "5",
                     "std.code.complexity.cyclomatic": "2"
                     "std.code.complexity.cyclomatic": "2"
                 },
                 },
                 "never": {
                 "never": {
                     "region": "never",
                     "region": "never",
                     "warnings": "1",
                     "warnings": "1",
+                    "std.code.lines.code": "7",
+                    "std.code.lines.total": "7",
                     "std.code.complexity.cyclomatic": "1"
                     "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
 file: file_deleted_in_new_sources.cpp
 warnings: 2
 warnings: 2
+std.code.filelines.total: 25
 
 
 file: simple.cpp
 file: simple.cpp
 warnings: 6
 warnings: 6
+std.code.filelines.total: 74
 
 
 Warnings:
 Warnings:
 Metric 'std.code.complexity:cyclomatic' for region B exceeds the limit. (value: 1 > limit: 0.0)
 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
 ./file_deleted_in_new_sources.cpp
 warnings: 2
 warnings: 2
+std.code.filelines.total: 25
 
 
 ./file_deleted_in_new_sources.cpp region: __global__
 ./file_deleted_in_new_sources.cpp region: __global__
 warnings: 0
 warnings: 0
+std.code.lines.code: 0
+std.code.lines.total: 0
 std.code.complexity.cyclomatic: -
 std.code.complexity.cyclomatic: -
 
 
 ./file_deleted_in_new_sources.cpp region: hmm
 ./file_deleted_in_new_sources.cpp region: hmm
 warnings: 0
 warnings: 0
+std.code.lines.code: 4
+std.code.lines.total: 7
 std.code.complexity.cyclomatic: -
 std.code.complexity.cyclomatic: -
 
 
 ./file_deleted_in_new_sources.cpp region: B
 ./file_deleted_in_new_sources.cpp region: B
 warnings: 1
 warnings: 1
+std.code.lines.code: 8
+std.code.lines.total: 9
 std.code.complexity.cyclomatic: 1
 std.code.complexity.cyclomatic: 1
 
 
 ./file_deleted_in_new_sources.cpp region: never_old
 ./file_deleted_in_new_sources.cpp region: never_old
 warnings: 1
 warnings: 1
+std.code.lines.code: 7
+std.code.lines.total: 7
 std.code.complexity.cyclomatic: 1
 std.code.complexity.cyclomatic: 1
 
 
 Warnings for ./file_deleted_in_new_sources.cpp:
 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
 ./simple.cpp
 warnings: 6
 warnings: 6
+std.code.filelines.total: 74
 
 
 ./simple.cpp region: __global__
 ./simple.cpp region: __global__
 warnings: 0
 warnings: 0
+std.code.lines.code: 0
+std.code.lines.total: 0
 std.code.complexity.cyclomatic: -
 std.code.complexity.cyclomatic: -
 
 
 ./simple.cpp region: hmm
 ./simple.cpp region: hmm
 warnings: 0
 warnings: 0
+std.code.lines.code: 4
+std.code.lines.total: 6
 std.code.complexity.cyclomatic: -
 std.code.complexity.cyclomatic: -
 
 
 ./simple.cpp region: A
 ./simple.cpp region: A
 warnings: 1
 warnings: 1
+std.code.lines.code: 11
+std.code.lines.total: 12
 std.code.complexity.cyclomatic: 3
 std.code.complexity.cyclomatic: 3
 
 
 ./simple.cpp region: func
 ./simple.cpp region: func
 warnings: 1
 warnings: 1
+std.code.lines.code: 5
+std.code.lines.total: 5
 std.code.complexity.cyclomatic: 1
 std.code.complexity.cyclomatic: 1
 
 
 ./simple.cpp region: embeded
 ./simple.cpp region: embeded
 warnings: 2
 warnings: 2
+std.code.lines.code: 7
+std.code.lines.total: 8
 std.code.complexity.cyclomatic: 1
 std.code.complexity.cyclomatic: 1
 
 
 ./simple.cpp region: func_to_be_removed_in_new_sources
 ./simple.cpp region: func_to_be_removed_in_new_sources
 warnings: 1
 warnings: 1
+std.code.lines.code: 5
+std.code.lines.total: 5
 std.code.complexity.cyclomatic: 2
 std.code.complexity.cyclomatic: 2
 
 
 ./simple.cpp region: never
 ./simple.cpp region: never
 warnings: 1
 warnings: 1
+std.code.lines.code: 7
+std.code.lines.total: 7
 std.code.complexity.cyclomatic: 1
 std.code.complexity.cyclomatic: 1
 
 
 Warnings for ./simple.cpp:
 Warnings for ./simple.cpp: