Skip to content

Commit 1ec3289

Browse files
committed
Script and Settings updates for coverage handling
1 parent 3eb1af5 commit 1ec3289

File tree

4 files changed

+48
-17
lines changed

4 files changed

+48
-17
lines changed

OsvvmScriptsCore.tcl

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -440,18 +440,12 @@ proc LocalBuild {BuildName Path_Or_File args} {
440440
CallbackAfter_Build ${Path_Or_File}
441441

442442
if {[info exists TestSuiteName]} {
443-
# Finalize Test Suite
444-
set RequirementsSourceDir [file join ${::osvvm::ReportsDirectory} ${TestSuiteName}]
445-
set RequirementsResultsFile [file join ${::osvvm::ReportsDirectory} ${BuildName} ${TestSuiteName}_req.yml]
446-
MergeRequirements $RequirementsSourceDir $RequirementsResultsFile
447-
Requirements2Html $RequirementsResultsFile "../"
448-
449443
FinalizeTestSuite $TestSuiteName
450444
FinishTestSuiteBuildYaml
451445
unset TestSuiteName
452446
}
453447

454-
# Finalize Build
448+
# Merge Requirements for Build
455449
set RequirementsSourceDir [file join ${::osvvm::ReportsDirectory} ${BuildName}]
456450
set RequirementsResultsFile [file join ${::osvvm::ReportsDirectory} ${BuildName}_req.yml]
457451
MergeRequirements $RequirementsSourceDir $RequirementsResultsFile
@@ -1312,8 +1306,15 @@ proc MergeCoverage {SuiteName MergeName} {
13121306
vendor_MergeCodeCoverage $SuiteName ${::osvvm::CoverageDirectory} ${MergeName}
13131307
}
13141308

1309+
13151310
# -------------------------------------------------
13161311
proc FinalizeTestSuite {SuiteName} {
1312+
1313+
# Merge Requirements for each test case into TestSuite Requirements
1314+
set RequirementsSourceDir [file join ${::osvvm::ReportsDirectory} ${SuiteName}]
1315+
set RequirementsResultsFile [file join ${::osvvm::ReportsDirectory} ${::osvvm::BuildName} ${SuiteName}_req.yml]
1316+
MergeRequirements $RequirementsSourceDir $RequirementsResultsFile
1317+
Requirements2Html $RequirementsResultsFile "../"
13171318

13181319
# Merge Code Coverage for the Test Suite if it exists
13191320
if {$::osvvm::RanSimulationWithCoverage eq "true"} {
@@ -1326,16 +1327,22 @@ proc FinalizeTestSuite {SuiteName} {
13261327
# -------------------------------------------------
13271328
proc TestSuite {SuiteName} {
13281329
variable TestSuiteName
1329-
1330+
13301331
puts "TestSuite $SuiteName" ; # EchoOsvvmCmd
13311332

1332-
13331333
set FirstRun [expr ![info exists TestSuiteName]]
1334+
13341335
if {! $FirstRun} {
1335-
set RequirementsSourceDir [file join ${::osvvm::ReportsDirectory} ${TestSuiteName}]
1336-
set RequirementsResultsFile [file join ${::osvvm::ReportsDirectory} ${::osvvm::BuildName} ${TestSuiteName}_req.yml]
1337-
MergeRequirements $RequirementsSourceDir $RequirementsResultsFile
1338-
Requirements2Html $RequirementsResultsFile "../"
1336+
if {$SuiteName eq $TestSuiteName} {
1337+
# Do nothing if test suite already set
1338+
puts "Warning: Redundant TestSuite $SuiteName - name already set to $TestSuiteName - Command Ignored"
1339+
return ""
1340+
}
1341+
# #!! # Finalize previous Test Suite
1342+
# #!! set RequirementsSourceDir [file join ${::osvvm::ReportsDirectory} ${TestSuiteName}]
1343+
# #!! set RequirementsResultsFile [file join ${::osvvm::ReportsDirectory} ${::osvvm::BuildName} ${TestSuiteName}_req.yml]
1344+
# #!! MergeRequirements $RequirementsSourceDir $RequirementsResultsFile
1345+
# #!! Requirements2Html $RequirementsResultsFile "../"
13391346

13401347
# Finish previous test suite before ending current one
13411348
FinalizeTestSuite $TestSuiteName

OsvvmSettingsDefault.tcl

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,15 @@ namespace eval ::osvvm {
116116
variable TranscriptExtension "html" ;# Generate log and html transcripts
117117
variable CreateSimScripts "false" ;# Create a script with every simulator command run during this session
118118
variable CreateOsvvmOutput "false" ;# Text file with just OSVVM output
119+
120+
#
121+
# Requirements Tracking settings
122+
#
123+
# USE_SUM_OF_GOALS
124+
# when false, uses maximum goal - good when merging in specification which provides the maximum goal which is divided across teests
125+
# when true, uses sum of goals - good when not merging the specification and need to sum up goals to get the total
126+
variable USE_SUM_OF_GOALS "false" ;# when false, uses maximum
127+
# variable USE_SUM_OF_GOALS "true" ;# when true uses sum of goals
119128

120129
#
121130
# VHDL Simulation Settings
@@ -125,7 +134,7 @@ namespace eval ::osvvm {
125134
variable DefaultLibraryName "DefaultLib"
126135

127136
#
128-
# Default Coverage Options
137+
# Default Code Coverage Options
129138
#
130139
variable CoverageEnable "true"
131140
variable CoverageAnalyzeEnable "false"

OsvvmSettingsLocal_example.tcl

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,16 @@ namespace eval ::osvvm {
139139
# variable CreateSimScripts "true" ;# Create a script with every simulator command run during this session
140140
# variable CreateOsvvmOutput "true" ;# Text file with just OSVVM output
141141

142+
#
143+
# Requirements Tracking settings
144+
#
145+
# USE_SUM_OF_GOALS
146+
# when false, uses maximum goal - good when merging in specification which provides the maximum goal which is divided across teests
147+
# when true, uses sum of goals - good when not merging the specification and need to sum up goals to get the total
148+
# variable USE_SUM_OF_GOALS "false" ;# when false, uses maximum
149+
# variable USE_SUM_OF_GOALS "true" ;# when true uses sum of goals
150+
151+
142152
#
143153
# VHDL Simulation Settings
144154
#
@@ -172,7 +182,8 @@ namespace eval ::osvvm {
172182
# variable VerilogAnalyzeOptions ""
173183
# variable ExtendedAnalyzeOptions ""
174184
# variable ExtendedSimulateOptions ""
175-
# if {$ToolVendor eq "Siemens"} {
185+
# Remove some of the chatter from Siemens and Aldec simulators
186+
# if {($ToolVendor eq "Siemens") || ($ToolVendor eq "Aldec")} {
176187
# variable ExtendedAnalyzeOptions "-quiet"
177188
# variable ExtendedSimulateOptions "-quiet"
178189
# }

Requirements2Html.tcl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,9 +243,13 @@ proc MergeTestCaseResults { TestCases } {
243243
set Status "FAILED"
244244
}
245245
# Goal handling = Maximum vs Sum of goals
246-
set Goal [expr {$Goal > $CurGoal ? $Goal : $CurGoal}]
246+
if {$::osvvm::USE_SUM_OF_GOALS} {
247+
set Goal [expr {$Goal + $CurGoal}]
248+
} else {
249+
set Goal [expr {$Goal > $CurGoal ? $Goal : $CurGoal}]
250+
}
247251
set Passed [expr {$Passed + $CurPassed}]
248-
set PassedReq [expr {$PassedReq + $CurPassedReq}]
252+
set PassedReq [expr {$PassedReq + $CurPassedReq}]
249253
set Errors [expr {$Errors + $CurErrors}]
250254
set Checked [expr {$Checked + $CurChecked}]
251255

0 commit comments

Comments
 (0)