Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for software metrics #387

Merged
merged 5 commits into from
Oct 28, 2024
Merged

Add support for software metrics #387

merged 5 commits into from
Oct 28, 2024

Conversation

uhafner
Copy link
Owner

@uhafner uhafner commented Oct 27, 2024

The latest release of the coverage-model supports reporting of software metrics. While it does not yet make sense to use them in autograding, it would be helpful to show the results of the recorded metrics in the quality monitor.

Bildschirmfoto 2024-10-26 um 14 25 21

The latest release of the coverage-model supports reporting of
software metrics. While it does not yet make sense to use them
in autograding, it would be helpful to show the results of the
recorded metrics in the quality monitor.
@uhafner uhafner added the feature New features label Oct 27, 2024
Copy link

codecov bot commented Oct 27, 2024

Codecov Report

Attention: Patch coverage is 86.33540% with 22 lines in your changes missing coverage. Please review.

Project coverage is 85.26%. Comparing base (8a57562) to head (0a3b67d).
Report is 7 commits behind head on main.

Files with missing lines Patch % Lines
.../hafner/grading/FileSystemMetricReportFactory.java 0.00% 9 Missing ⚠️
.../java/edu/hm/hafner/grading/AutoGradingRunner.java 0.00% 4 Missing ⚠️
...main/java/edu/hm/hafner/grading/CoverageScore.java 70.00% 2 Missing and 1 partial ⚠️
...in/java/edu/hm/hafner/grading/AggregatedScore.java 94.73% 2 Missing ⚠️
...main/java/edu/hm/hafner/grading/AnalysisScore.java 60.00% 1 Missing and 1 partial ⚠️
...c/main/java/edu/hm/hafner/grading/MetricScore.java 98.11% 0 Missing and 1 partial ⚠️
...du/hm/hafner/grading/MutationCoverageMarkdown.java 0.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main     #387      +/-   ##
============================================
+ Coverage     85.12%   85.26%   +0.14%     
- Complexity      429      470      +41     
============================================
  Files            26       30       +4     
  Lines          1230     1378     +148     
  Branches         73       81       +8     
============================================
+ Hits           1047     1175     +128     
- Misses          153      170      +17     
- Partials         30       33       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

Partial score: 0/0

🚧 The grading has been aborted due to an error.

Exception

edu.hm.hafner.analysis.ParsingException: Input stream is not a PMD file.
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parseIssues(PmdParser.java:58)
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parse(PmdParser.java:32)
	at edu.hm.hafner.analysis.IssueParser.parseFile(IssueParser.java:69)
	at edu.hm.hafner.grading.FileSystemAnalysisReportFactory.create(FileSystemAnalysisReportFactory.java:32)
	at edu.hm.hafner.grading.AggregatedScore.gradeAnalysis(AggregatedScore.java:392)
	at edu.hm.hafner.grading.AutoGradingRunner.run(AutoGradingRunner.java:95)
	at edu.hm.hafner.grading.github.QualityMonitor.main(QualityMonitor.java:42)

Error Messages

Quality Monitor Errors:
An error occurred while grading
edu.hm.hafner.analysis.ParsingException: Input stream is not a PMD file.
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parseIssues(PmdParser.java:58)
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parse(PmdParser.java:32)
	at edu.hm.hafner.analysis.IssueParser.parseFile(IssueParser.java:69)
	at edu.hm.hafner.grading.FileSystemAnalysisReportFactory.create(FileSystemAnalysisReportFactory.java:32)
	at edu.hm.hafner.grading.AggregatedScore.gradeAnalysis(AggregatedScore.java:392)
	at edu.hm.hafner.grading.AutoGradingRunner.run(AutoGradingRunner.java:95)
	at edu.hm.hafner.grading.github.QualityMonitor.main(QualityMonitor.java:42)

Information Messages

--------------------------------------------------------------------------------
                    Start Quality Monitor 1.11.0 (#99404b7)                     
--------------------------------------------------------------------------------
Obtaining configuration from environment variable CONFIG
================================================================================
Processing 1 test configuration(s)
Tests Configuration:
{
  "id" : "tests",
  "name" : "Tests",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "test",
    "name" : "Tests",
    "pattern" : "**/target/*-reports/TEST*.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "Tests"
  } ],
  "failureImpact" : 0,
  "passedImpact" : 0,
  "skippedImpact" : 0
}
Searching for Tests results matching file name pattern **/target/*-reports/TEST*.xml
- target/failsafe-reports/TEST-edu.hm.hafner.grading.AutoGradingRunnerITest.xml: TESTS: 5
- target/surefire-reports/TEST-edu.hm.hafner.grading.AggregatedScoreTest.xml: TESTS: 4
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisConfigurationTest.xml: TESTS: 13
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisMarkdownTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisScoreTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.CommentBuilderTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageConfigurationTest.xml: TESTS: 11
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageMarkdownTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageScoreTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemAnalysisReportFactoryTest.xml: TESTS: 1
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemCoverageReportFactoryTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemTestReportFactoryTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.GradingReportTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.LogHandlerTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.MetricMarkdownTest.xml: TESTS: 5
- target/surefire-reports/TEST-edu.hm.hafner.grading.ReportFinderTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestConfigurationTest.xml: TESTS: 17
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestMarkdownTest.xml: TESTS: 8
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestScoreTest.xml: TESTS: 9
- target/surefire-reports/TEST-edu.hm.hafner.grading.ToolConfigurationTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.TruncatedStringTest.xml: TESTS: 40
-> Tests Total: TESTS: 161
-> Tests Total: TESTS: 161 tests
=> Tests: 161 tests passed
=> Tests: 161 tests passed
================================================================================
Processing 2 coverage configuration(s)
Code Coverage Configuration:
{
  "id" : "coverage",
  "name" : "Code Coverage",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "jacoco",
    "name" : "Line Coverage",
    "pattern" : "**/target/site/jacoco/jacoco.xml",
    "sourcePath" : "src/main/java",
    "metric" : "line",
    "displayName" : "Line Coverage"
  }, {
    "id" : "jacoco",
    "name" : "Branch Coverage",
    "pattern" : "**/target/site/jacoco/jacoco.xml",
    "sourcePath" : "src/main/java",
    "metric" : "branch",
    "displayName" : "Branch Coverage"
  } ],
  "coveredPercentageImpact" : 0,
  "missedPercentageImpact" : 0,
  "mutationCoverage" : false
}
Searching for Line Coverage results matching file name pattern **/target/site/jacoco/jacoco.xml
- target/site/jacoco/jacoco.xml: LINE: 87.69% (1204/1373)
-> Line Coverage Total: LINE: 87.69% (1204/1373)
=> Line Coverage: 88% (169 missed lines)
Searching for Branch Coverage results matching file name pattern **/target/site/jacoco/jacoco.xml
- target/site/jacoco/jacoco.xml: BRANCH: 83.60% (311/372)
-> Branch Coverage Total: BRANCH: 83.60% (311/372)
=> Branch Coverage: 84% (61 missed branches)
=> Code Coverage: 86% (230 missed items)
Mutation Coverage Configuration:
{
  "id" : "coverage",
  "name" : "Mutation Coverage",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "pit",
    "name" : "Mutation Coverage",
    "pattern" : "**/target/pit-reports/mutations.xml",
    "sourcePath" : "src/main/java",
    "metric" : "mutation",
    "displayName" : "Mutation Coverage"
  } ],
  "coveredPercentageImpact" : 0,
  "missedPercentageImpact" : 0,
  "mutationCoverage" : true
}
Searching for Mutation Coverage results matching file name pattern **/target/pit-reports/mutations.xml
- target/pit-reports/mutations.xml: MUTATION: 76.29% (592/776)
-> Mutation Coverage Total: MUTATION: 76.29% (592/776)
=> Mutation Coverage: 76% (184 survived mutations)
=> Mutation Coverage: 76% (184 survived mutations)
================================================================================
Processing 3 static analysis configuration(s)
Style Configuration:
{
  "id" : "style",
  "name" : "Style",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "checkstyle",
    "name" : "",
    "pattern" : "**/target/**checkstyle-result.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "checkstyle"
  }, {
    "id" : "pmd",
    "name" : "",
    "pattern" : "**/target/**pmd.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "pmd"
  } ],
  "errorImpact" : 0,
  "highImpact" : 0,
  "normalImpact" : 0,
  "lowImpact" : 0
}
Searching for CheckStyle results matching file name pattern **/target/**checkstyle-result.xml
- target/checkstyle-java/checkstyle-result.xml: 0 warnings
- target/checkstyle-tests/checkstyle-result.xml: 0 warnings
-> CheckStyle Total: 0 warnings
=> CheckStyle: No warnings
Searching for PMD results matching file name pattern **/target/**pmd.xml
================================================================================
================================================================================

Created by Quality Monitor v1.11.0 (#99404b7). More details are shown in the GitHub Checks Result.

Copy link

Partial score: 0/0

🚧 The grading has been aborted due to an error.

Exception

edu.hm.hafner.analysis.ParsingException: Input stream is not a PMD file.
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parseIssues(PmdParser.java:58)
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parse(PmdParser.java:32)
	at edu.hm.hafner.analysis.IssueParser.parseFile(IssueParser.java:69)
	at edu.hm.hafner.grading.FileSystemAnalysisReportFactory.create(FileSystemAnalysisReportFactory.java:32)
	at edu.hm.hafner.grading.AggregatedScore.gradeAnalysis(AggregatedScore.java:392)
	at edu.hm.hafner.grading.AutoGradingRunner.run(AutoGradingRunner.java:95)
	at edu.hm.hafner.grading.github.QualityMonitor.main(QualityMonitor.java:42)

Error Messages

Quality Monitor Errors:
An error occurred while grading
edu.hm.hafner.analysis.ParsingException: Input stream is not a PMD file.
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parseIssues(PmdParser.java:58)
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parse(PmdParser.java:32)
	at edu.hm.hafner.analysis.IssueParser.parseFile(IssueParser.java:69)
	at edu.hm.hafner.grading.FileSystemAnalysisReportFactory.create(FileSystemAnalysisReportFactory.java:32)
	at edu.hm.hafner.grading.AggregatedScore.gradeAnalysis(AggregatedScore.java:392)
	at edu.hm.hafner.grading.AutoGradingRunner.run(AutoGradingRunner.java:95)
	at edu.hm.hafner.grading.github.QualityMonitor.main(QualityMonitor.java:42)

Information Messages

--------------------------------------------------------------------------------
                    Start Quality Monitor 1.11.0 (#99404b7)                     
--------------------------------------------------------------------------------
Obtaining configuration from environment variable CONFIG
================================================================================
Processing 1 test configuration(s)
Tests Configuration:
{
  "id" : "tests",
  "name" : "Tests",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "test",
    "name" : "Tests",
    "pattern" : "**/target/*-reports/TEST*.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "Tests"
  } ],
  "failureImpact" : 0,
  "passedImpact" : 0,
  "skippedImpact" : 0
}
Searching for Tests results matching file name pattern **/target/*-reports/TEST*.xml
- target/failsafe-reports/TEST-edu.hm.hafner.grading.AutoGradingRunnerITest.xml: TESTS: 5
- target/surefire-reports/TEST-edu.hm.hafner.grading.AggregatedScoreTest.xml: TESTS: 4
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisConfigurationTest.xml: TESTS: 13
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisMarkdownTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisScoreTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.CommentBuilderTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageConfigurationTest.xml: TESTS: 11
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageMarkdownTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageScoreTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemAnalysisReportFactoryTest.xml: TESTS: 1
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemCoverageReportFactoryTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemTestReportFactoryTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.GradingReportTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.LogHandlerTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.MetricMarkdownTest.xml: TESTS: 5
- target/surefire-reports/TEST-edu.hm.hafner.grading.ReportFinderTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestConfigurationTest.xml: TESTS: 17
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestMarkdownTest.xml: TESTS: 8
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestScoreTest.xml: TESTS: 9
- target/surefire-reports/TEST-edu.hm.hafner.grading.ToolConfigurationTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.TruncatedStringTest.xml: TESTS: 40
-> Tests Total: TESTS: 161
-> Tests Total: TESTS: 161 tests
=> Tests: 161 tests passed
=> Tests: 161 tests passed
================================================================================
Processing 2 coverage configuration(s)
Code Coverage Configuration:
{
  "id" : "coverage",
  "name" : "Code Coverage",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "jacoco",
    "name" : "Line Coverage",
    "pattern" : "**/target/site/jacoco/jacoco.xml",
    "sourcePath" : "src/main/java",
    "metric" : "line",
    "displayName" : "Line Coverage"
  }, {
    "id" : "jacoco",
    "name" : "Branch Coverage",
    "pattern" : "**/target/site/jacoco/jacoco.xml",
    "sourcePath" : "src/main/java",
    "metric" : "branch",
    "displayName" : "Branch Coverage"
  } ],
  "coveredPercentageImpact" : 0,
  "missedPercentageImpact" : 0,
  "mutationCoverage" : false
}
Searching for Line Coverage results matching file name pattern **/target/site/jacoco/jacoco.xml
- target/site/jacoco/jacoco.xml: LINE: 87.69% (1204/1373)
-> Line Coverage Total: LINE: 87.69% (1204/1373)
=> Line Coverage: 88% (169 missed lines)
Searching for Branch Coverage results matching file name pattern **/target/site/jacoco/jacoco.xml
- target/site/jacoco/jacoco.xml: BRANCH: 83.60% (311/372)
-> Branch Coverage Total: BRANCH: 83.60% (311/372)
=> Branch Coverage: 84% (61 missed branches)
=> Code Coverage: 86% (230 missed items)
Mutation Coverage Configuration:
{
  "id" : "coverage",
  "name" : "Mutation Coverage",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "pit",
    "name" : "Mutation Coverage",
    "pattern" : "**/target/pit-reports/mutations.xml",
    "sourcePath" : "src/main/java",
    "metric" : "mutation",
    "displayName" : "Mutation Coverage"
  } ],
  "coveredPercentageImpact" : 0,
  "missedPercentageImpact" : 0,
  "mutationCoverage" : true
}
Searching for Mutation Coverage results matching file name pattern **/target/pit-reports/mutations.xml
- target/pit-reports/mutations.xml: MUTATION: 76.29% (592/776)
-> Mutation Coverage Total: MUTATION: 76.29% (592/776)
=> Mutation Coverage: 76% (184 survived mutations)
=> Mutation Coverage: 76% (184 survived mutations)
================================================================================
Processing 3 static analysis configuration(s)
Style Configuration:
{
  "id" : "style",
  "name" : "Style",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "checkstyle",
    "name" : "",
    "pattern" : "**/target/**checkstyle-result.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "checkstyle"
  }, {
    "id" : "pmd",
    "name" : "",
    "pattern" : "**/target/**pmd.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "pmd"
  } ],
  "errorImpact" : 0,
  "highImpact" : 0,
  "normalImpact" : 0,
  "lowImpact" : 0
}
Searching for CheckStyle results matching file name pattern **/target/**checkstyle-result.xml
- target/checkstyle-java/checkstyle-result.xml: 0 warnings
- target/checkstyle-tests/checkstyle-result.xml: 0 warnings
-> CheckStyle Total: 0 warnings
=> CheckStyle: No warnings
Searching for PMD results matching file name pattern **/target/**pmd.xml
================================================================================
================================================================================

Created by Quality Monitor v1.11.0 (#99404b7). More details are shown in the GitHub Checks Result.

Copy link

Partial score: 0/0

🚧 The grading has been aborted due to an error.

Exception

edu.hm.hafner.analysis.ParsingException: Input stream is not a PMD file.
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parseIssues(PmdParser.java:58)
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parse(PmdParser.java:32)
	at edu.hm.hafner.analysis.IssueParser.parseFile(IssueParser.java:69)
	at edu.hm.hafner.grading.FileSystemAnalysisReportFactory.create(FileSystemAnalysisReportFactory.java:32)
	at edu.hm.hafner.grading.AggregatedScore.gradeAnalysis(AggregatedScore.java:392)
	at edu.hm.hafner.grading.AutoGradingRunner.run(AutoGradingRunner.java:95)
	at edu.hm.hafner.grading.github.QualityMonitor.main(QualityMonitor.java:42)

Error Messages

Quality Monitor Errors:
An error occurred while grading
edu.hm.hafner.analysis.ParsingException: Input stream is not a PMD file.
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parseIssues(PmdParser.java:58)
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parse(PmdParser.java:32)
	at edu.hm.hafner.analysis.IssueParser.parseFile(IssueParser.java:69)
	at edu.hm.hafner.grading.FileSystemAnalysisReportFactory.create(FileSystemAnalysisReportFactory.java:32)
	at edu.hm.hafner.grading.AggregatedScore.gradeAnalysis(AggregatedScore.java:392)
	at edu.hm.hafner.grading.AutoGradingRunner.run(AutoGradingRunner.java:95)
	at edu.hm.hafner.grading.github.QualityMonitor.main(QualityMonitor.java:42)

Information Messages

--------------------------------------------------------------------------------
                    Start Quality Monitor 1.11.0 (#99404b7)                     
--------------------------------------------------------------------------------
Obtaining configuration from environment variable CONFIG
================================================================================
Processing 1 test configuration(s)
Tests Configuration:
{
  "id" : "tests",
  "name" : "Tests",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "test",
    "name" : "Tests",
    "pattern" : "**/target/*-reports/TEST*.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "Tests"
  } ],
  "failureImpact" : 0,
  "passedImpact" : 0,
  "skippedImpact" : 0
}
Searching for Tests results matching file name pattern **/target/*-reports/TEST*.xml
- target/failsafe-reports/TEST-edu.hm.hafner.grading.AutoGradingRunnerITest.xml: TESTS: 5
- target/surefire-reports/TEST-edu.hm.hafner.grading.AggregatedScoreTest.xml: TESTS: 4
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisConfigurationTest.xml: TESTS: 13
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisMarkdownTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisScoreTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.CommentBuilderTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageConfigurationTest.xml: TESTS: 11
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageMarkdownTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageScoreTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemAnalysisReportFactoryTest.xml: TESTS: 1
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemCoverageReportFactoryTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemTestReportFactoryTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.GradingReportTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.LogHandlerTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.MetricMarkdownTest.xml: TESTS: 5
- target/surefire-reports/TEST-edu.hm.hafner.grading.ReportFinderTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestConfigurationTest.xml: TESTS: 17
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestMarkdownTest.xml: TESTS: 8
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestScoreTest.xml: TESTS: 9
- target/surefire-reports/TEST-edu.hm.hafner.grading.ToolConfigurationTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.TruncatedStringTest.xml: TESTS: 40
-> Tests Total: TESTS: 162
-> Tests Total: TESTS: 162 tests
=> Tests: 162 tests passed
=> Tests: 162 tests passed
================================================================================
Processing 2 coverage configuration(s)
Code Coverage Configuration:
{
  "id" : "coverage",
  "name" : "Code Coverage",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "jacoco",
    "name" : "Line Coverage",
    "pattern" : "**/target/site/jacoco/jacoco.xml",
    "sourcePath" : "src/main/java",
    "metric" : "line",
    "displayName" : "Line Coverage"
  }, {
    "id" : "jacoco",
    "name" : "Branch Coverage",
    "pattern" : "**/target/site/jacoco/jacoco.xml",
    "sourcePath" : "src/main/java",
    "metric" : "branch",
    "displayName" : "Branch Coverage"
  } ],
  "coveredPercentageImpact" : 0,
  "missedPercentageImpact" : 0,
  "mutationCoverage" : false
}
Searching for Line Coverage results matching file name pattern **/target/site/jacoco/jacoco.xml
- target/site/jacoco/jacoco.xml: LINE: 87.66% (1208/1378)
-> Line Coverage Total: LINE: 87.66% (1208/1378)
=> Line Coverage: 88% (170 missed lines)
Searching for Branch Coverage results matching file name pattern **/target/site/jacoco/jacoco.xml
- target/site/jacoco/jacoco.xml: BRANCH: 83.60% (316/378)
-> Branch Coverage Total: BRANCH: 83.60% (316/378)
=> Branch Coverage: 84% (62 missed branches)
=> Code Coverage: 86% (232 missed items)
Mutation Coverage Configuration:
{
  "id" : "coverage",
  "name" : "Mutation Coverage",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "pit",
    "name" : "Mutation Coverage",
    "pattern" : "**/target/pit-reports/mutations.xml",
    "sourcePath" : "src/main/java",
    "metric" : "mutation",
    "displayName" : "Mutation Coverage"
  } ],
  "coveredPercentageImpact" : 0,
  "missedPercentageImpact" : 0,
  "mutationCoverage" : true
}
Searching for Mutation Coverage results matching file name pattern **/target/pit-reports/mutations.xml
- target/pit-reports/mutations.xml: MUTATION: 76.31% (596/781)
-> Mutation Coverage Total: MUTATION: 76.31% (596/781)
=> Mutation Coverage: 76% (185 survived mutations)
=> Mutation Coverage: 76% (185 survived mutations)
================================================================================
Processing 3 static analysis configuration(s)
Style Configuration:
{
  "id" : "style",
  "name" : "Style",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "checkstyle",
    "name" : "",
    "pattern" : "**/target/**checkstyle-result.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "checkstyle"
  }, {
    "id" : "pmd",
    "name" : "",
    "pattern" : "**/target/**pmd.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "pmd"
  } ],
  "errorImpact" : 0,
  "highImpact" : 0,
  "normalImpact" : 0,
  "lowImpact" : 0
}
Searching for CheckStyle results matching file name pattern **/target/**checkstyle-result.xml
- target/checkstyle-java/checkstyle-result.xml: 0 warnings
- target/checkstyle-tests/checkstyle-result.xml: 0 warnings
-> CheckStyle Total: 0 warnings
=> CheckStyle: No warnings
Searching for PMD results matching file name pattern **/target/**pmd.xml
================================================================================
================================================================================

Created by Quality Monitor v1.11.0 (#99404b7). More details are shown in the GitHub Checks Result.

Copy link

Partial score: 0/0

🚧 The grading has been aborted due to an error.

Exception

edu.hm.hafner.analysis.ParsingException: Input stream is not a PMD file.
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parseIssues(PmdParser.java:58)
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parse(PmdParser.java:32)
	at edu.hm.hafner.analysis.IssueParser.parseFile(IssueParser.java:69)
	at edu.hm.hafner.grading.FileSystemAnalysisReportFactory.create(FileSystemAnalysisReportFactory.java:32)
	at edu.hm.hafner.grading.AggregatedScore.gradeAnalysis(AggregatedScore.java:392)
	at edu.hm.hafner.grading.AutoGradingRunner.run(AutoGradingRunner.java:95)
	at edu.hm.hafner.grading.github.QualityMonitor.main(QualityMonitor.java:42)

Error Messages

Quality Monitor Errors:
An error occurred while grading
edu.hm.hafner.analysis.ParsingException: Input stream is not a PMD file.
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parseIssues(PmdParser.java:58)
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parse(PmdParser.java:32)
	at edu.hm.hafner.analysis.IssueParser.parseFile(IssueParser.java:69)
	at edu.hm.hafner.grading.FileSystemAnalysisReportFactory.create(FileSystemAnalysisReportFactory.java:32)
	at edu.hm.hafner.grading.AggregatedScore.gradeAnalysis(AggregatedScore.java:392)
	at edu.hm.hafner.grading.AutoGradingRunner.run(AutoGradingRunner.java:95)
	at edu.hm.hafner.grading.github.QualityMonitor.main(QualityMonitor.java:42)

Information Messages

--------------------------------------------------------------------------------
                    Start Quality Monitor 1.11.0 (#99404b7)                     
--------------------------------------------------------------------------------
Obtaining configuration from environment variable CONFIG
================================================================================
Processing 1 test configuration(s)
Tests Configuration:
{
  "id" : "tests",
  "name" : "Tests",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "test",
    "name" : "Tests",
    "pattern" : "**/target/*-reports/TEST*.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "Tests"
  } ],
  "failureImpact" : 0,
  "passedImpact" : 0,
  "skippedImpact" : 0
}
Searching for Tests results matching file name pattern **/target/*-reports/TEST*.xml
- target/failsafe-reports/TEST-edu.hm.hafner.grading.AutoGradingRunnerITest.xml: TESTS: 5
- target/surefire-reports/TEST-edu.hm.hafner.grading.AggregatedScoreTest.xml: TESTS: 4
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisConfigurationTest.xml: TESTS: 13
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisMarkdownTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisScoreTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.CommentBuilderTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageConfigurationTest.xml: TESTS: 11
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageMarkdownTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageScoreTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemAnalysisReportFactoryTest.xml: TESTS: 1
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemCoverageReportFactoryTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemTestReportFactoryTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.GradingReportTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.LogHandlerTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.MetricMarkdownTest.xml: TESTS: 5
- target/surefire-reports/TEST-edu.hm.hafner.grading.ReportFinderTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestConfigurationTest.xml: TESTS: 17
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestMarkdownTest.xml: TESTS: 8
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestScoreTest.xml: TESTS: 9
- target/surefire-reports/TEST-edu.hm.hafner.grading.ToolConfigurationTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.TruncatedStringTest.xml: TESTS: 40
-> Tests Total: TESTS: 162
-> Tests Total: TESTS: 162 tests
=> Tests: 162 tests passed
=> Tests: 162 tests passed
================================================================================
Processing 2 coverage configuration(s)
Code Coverage Configuration:
{
  "id" : "coverage",
  "name" : "Code Coverage",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "jacoco",
    "name" : "Line Coverage",
    "pattern" : "**/target/site/jacoco/jacoco.xml",
    "sourcePath" : "src/main/java",
    "metric" : "line",
    "displayName" : "Line Coverage"
  }, {
    "id" : "jacoco",
    "name" : "Branch Coverage",
    "pattern" : "**/target/site/jacoco/jacoco.xml",
    "sourcePath" : "src/main/java",
    "metric" : "branch",
    "displayName" : "Branch Coverage"
  } ],
  "coveredPercentageImpact" : 0,
  "missedPercentageImpact" : 0,
  "mutationCoverage" : false
}
Searching for Line Coverage results matching file name pattern **/target/site/jacoco/jacoco.xml
- target/site/jacoco/jacoco.xml: LINE: 87.66% (1208/1378)
-> Line Coverage Total: LINE: 87.66% (1208/1378)
=> Line Coverage: 88% (170 missed lines)
Searching for Branch Coverage results matching file name pattern **/target/site/jacoco/jacoco.xml
- target/site/jacoco/jacoco.xml: BRANCH: 83.60% (316/378)
-> Branch Coverage Total: BRANCH: 83.60% (316/378)
=> Branch Coverage: 84% (62 missed branches)
=> Code Coverage: 86% (232 missed items)
Mutation Coverage Configuration:
{
  "id" : "coverage",
  "name" : "Mutation Coverage",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "pit",
    "name" : "Mutation Coverage",
    "pattern" : "**/target/pit-reports/mutations.xml",
    "sourcePath" : "src/main/java",
    "metric" : "mutation",
    "displayName" : "Mutation Coverage"
  } ],
  "coveredPercentageImpact" : 0,
  "missedPercentageImpact" : 0,
  "mutationCoverage" : true
}
Searching for Mutation Coverage results matching file name pattern **/target/pit-reports/mutations.xml
- target/pit-reports/mutations.xml: MUTATION: 76.31% (596/781)
-> Mutation Coverage Total: MUTATION: 76.31% (596/781)
=> Mutation Coverage: 76% (185 survived mutations)
=> Mutation Coverage: 76% (185 survived mutations)
================================================================================
Processing 3 static analysis configuration(s)
Style Configuration:
{
  "id" : "style",
  "name" : "Style",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "checkstyle",
    "name" : "",
    "pattern" : "**/target/**checkstyle-result.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "checkstyle"
  }, {
    "id" : "pmd",
    "name" : "",
    "pattern" : "**/target/**pmd.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "pmd"
  } ],
  "errorImpact" : 0,
  "highImpact" : 0,
  "normalImpact" : 0,
  "lowImpact" : 0
}
Searching for CheckStyle results matching file name pattern **/target/**checkstyle-result.xml
- target/checkstyle-java/checkstyle-result.xml: 0 warnings
- target/checkstyle-tests/checkstyle-result.xml: 0 warnings
-> CheckStyle Total: 0 warnings
=> CheckStyle: No warnings
Searching for PMD results matching file name pattern **/target/**pmd.xml
================================================================================
================================================================================

Created by Quality Monitor v1.11.0 (#99404b7). More details are shown in the GitHub Checks Result.

@uhafner uhafner marked this pull request as ready for review October 28, 2024 05:35
Copy link

Partial score: 0/0

🚧 The grading has been aborted due to an error.

Exception

edu.hm.hafner.analysis.ParsingException: Input stream is not a PMD file.
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parseIssues(PmdParser.java:58)
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parse(PmdParser.java:32)
	at edu.hm.hafner.analysis.IssueParser.parseFile(IssueParser.java:69)
	at edu.hm.hafner.grading.FileSystemAnalysisReportFactory.create(FileSystemAnalysisReportFactory.java:32)
	at edu.hm.hafner.grading.AggregatedScore.gradeAnalysis(AggregatedScore.java:392)
	at edu.hm.hafner.grading.AutoGradingRunner.run(AutoGradingRunner.java:95)
	at edu.hm.hafner.grading.github.QualityMonitor.main(QualityMonitor.java:42)

Error Messages

Quality Monitor Errors:
An error occurred while grading
edu.hm.hafner.analysis.ParsingException: Input stream is not a PMD file.
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parseIssues(PmdParser.java:58)
	at edu.hm.hafner.analysis.parser.pmd.PmdParser.parse(PmdParser.java:32)
	at edu.hm.hafner.analysis.IssueParser.parseFile(IssueParser.java:69)
	at edu.hm.hafner.grading.FileSystemAnalysisReportFactory.create(FileSystemAnalysisReportFactory.java:32)
	at edu.hm.hafner.grading.AggregatedScore.gradeAnalysis(AggregatedScore.java:392)
	at edu.hm.hafner.grading.AutoGradingRunner.run(AutoGradingRunner.java:95)
	at edu.hm.hafner.grading.github.QualityMonitor.main(QualityMonitor.java:42)

Information Messages

--------------------------------------------------------------------------------
                    Start Quality Monitor 1.11.0 (#99404b7)                     
--------------------------------------------------------------------------------
Obtaining configuration from environment variable CONFIG
================================================================================
Processing 1 test configuration(s)
Tests Configuration:
{
  "id" : "tests",
  "name" : "Tests",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "test",
    "name" : "Tests",
    "pattern" : "**/target/*-reports/TEST*.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "Tests"
  } ],
  "failureImpact" : 0,
  "passedImpact" : 0,
  "skippedImpact" : 0
}
Searching for Tests results matching file name pattern **/target/*-reports/TEST*.xml
- target/failsafe-reports/TEST-edu.hm.hafner.grading.AutoGradingRunnerITest.xml: TESTS: 5
- target/surefire-reports/TEST-edu.hm.hafner.grading.AggregatedScoreTest.xml: TESTS: 4
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisConfigurationTest.xml: TESTS: 13
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisMarkdownTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.AnalysisScoreTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.CommentBuilderTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageConfigurationTest.xml: TESTS: 11
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageMarkdownTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.CoverageScoreTest.xml: TESTS: 7
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemAnalysisReportFactoryTest.xml: TESTS: 1
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemCoverageReportFactoryTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.FileSystemTestReportFactoryTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.GradingReportTest.xml: TESTS: 6
- target/surefire-reports/TEST-edu.hm.hafner.grading.LogHandlerTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.MetricMarkdownTest.xml: TESTS: 5
- target/surefire-reports/TEST-edu.hm.hafner.grading.ReportFinderTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestConfigurationTest.xml: TESTS: 17
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestMarkdownTest.xml: TESTS: 8
- target/surefire-reports/TEST-edu.hm.hafner.grading.TestScoreTest.xml: TESTS: 9
- target/surefire-reports/TEST-edu.hm.hafner.grading.ToolConfigurationTest.xml: TESTS: 2
- target/surefire-reports/TEST-edu.hm.hafner.grading.TruncatedStringTest.xml: TESTS: 40
-> Tests Total: TESTS: 162
-> Tests Total: TESTS: 162 tests
=> Tests: 162 tests passed
=> Tests: 162 tests passed
================================================================================
Processing 2 coverage configuration(s)
Code Coverage Configuration:
{
  "id" : "coverage",
  "name" : "Code Coverage",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "jacoco",
    "name" : "Line Coverage",
    "pattern" : "**/target/site/jacoco/jacoco.xml",
    "sourcePath" : "src/main/java",
    "metric" : "line",
    "displayName" : "Line Coverage"
  }, {
    "id" : "jacoco",
    "name" : "Branch Coverage",
    "pattern" : "**/target/site/jacoco/jacoco.xml",
    "sourcePath" : "src/main/java",
    "metric" : "branch",
    "displayName" : "Branch Coverage"
  } ],
  "coveredPercentageImpact" : 0,
  "missedPercentageImpact" : 0,
  "mutationCoverage" : false
}
Searching for Line Coverage results matching file name pattern **/target/site/jacoco/jacoco.xml
- target/site/jacoco/jacoco.xml: LINE: 87.66% (1208/1378)
-> Line Coverage Total: LINE: 87.66% (1208/1378)
=> Line Coverage: 88% (170 missed lines)
Searching for Branch Coverage results matching file name pattern **/target/site/jacoco/jacoco.xml
- target/site/jacoco/jacoco.xml: BRANCH: 83.60% (316/378)
-> Branch Coverage Total: BRANCH: 83.60% (316/378)
=> Branch Coverage: 84% (62 missed branches)
=> Code Coverage: 86% (232 missed items)
Mutation Coverage Configuration:
{
  "id" : "coverage",
  "name" : "Mutation Coverage",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "pit",
    "name" : "Mutation Coverage",
    "pattern" : "**/target/pit-reports/mutations.xml",
    "sourcePath" : "src/main/java",
    "metric" : "mutation",
    "displayName" : "Mutation Coverage"
  } ],
  "coveredPercentageImpact" : 0,
  "missedPercentageImpact" : 0,
  "mutationCoverage" : true
}
Searching for Mutation Coverage results matching file name pattern **/target/pit-reports/mutations.xml
- target/pit-reports/mutations.xml: MUTATION: 76.31% (596/781)
-> Mutation Coverage Total: MUTATION: 76.31% (596/781)
=> Mutation Coverage: 76% (185 survived mutations)
=> Mutation Coverage: 76% (185 survived mutations)
================================================================================
Processing 3 static analysis configuration(s)
Style Configuration:
{
  "id" : "style",
  "name" : "Style",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "checkstyle",
    "name" : "",
    "pattern" : "**/target/**checkstyle-result.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "checkstyle"
  }, {
    "id" : "pmd",
    "name" : "",
    "pattern" : "**/target/**pmd.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "pmd"
  } ],
  "errorImpact" : 0,
  "highImpact" : 0,
  "normalImpact" : 0,
  "lowImpact" : 0
}
Searching for CheckStyle results matching file name pattern **/target/**checkstyle-result.xml
- target/checkstyle-java/checkstyle-result.xml: 0 warnings
- target/checkstyle-tests/checkstyle-result.xml: 0 warnings
-> CheckStyle Total: 0 warnings
=> CheckStyle: No warnings
Searching for PMD results matching file name pattern **/target/**pmd.xml
================================================================================
================================================================================

Created by Quality Monitor v1.11.0 (#99404b7). More details are shown in the GitHub Checks Result.

@uhafner uhafner merged commit 11e7198 into main Oct 28, 2024
16 checks passed
@uhafner uhafner deleted the generic-metrics branch October 28, 2024 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant