diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index f0a6a459..7aa5457f 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -180,19 +180,19 @@ jobs:
# with:
# python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
-# HTMLDocumentation:
-# uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r1
-# needs:
-# - UnitTestingParams
-## - PublishTestResults
-# - PublishCoverageResults
-## - VerifyDocs
-# with:
-# python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
-# unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-ubuntu-native-3.12
-## coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
-# html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
-# latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
+ HTMLDocumentation:
+ uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r1
+ needs:
+ - UnitTestingParams
+# - PublishTestResults
+ - PublishCoverageResults
+# - VerifyDocs
+ with:
+ python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
+ unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-ubuntu-native-3.12
+ coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
+ html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
+ latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
IntermediateCleanUp:
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@r1
@@ -200,7 +200,7 @@ jobs:
- UnitTestingParams
- PublishCoverageResults
# - PublishTestResults
-# - HTMLDocumentation
+ - HTMLDocumentation
with:
sqlite_coverage_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}-
xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-
@@ -215,18 +215,18 @@ jobs:
# latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
# pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}
-# PublishToGitHubPages:
-# uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r1
-# needs:
-# - UnitTestingParams
-# - HTMLDocumentation
-## - PDFDocumentation
-# - PublishCoverageResults
-# - StaticTypeCheck
-# with:
-# doc: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
-# coverage: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
-# typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
+ PublishToGitHubPages:
+ uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r1
+ needs:
+ - UnitTestingParams
+ - HTMLDocumentation
+# - PDFDocumentation
+ - PublishCoverageResults
+ - StaticTypeCheck
+ with:
+ doc: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
+ coverage: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
+ typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
ReleasePage:
uses: pyTooling/Actions/.github/workflows/Release.yml@r1
@@ -234,7 +234,7 @@ jobs:
needs:
- Package
- AppTesting
-# - PublishToGitHubPages
+ - PublishToGitHubPages
PublishOnPyPI:
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r1
@@ -255,11 +255,11 @@ jobs:
- UnitTestingParams
- UnitTesting
- StaticTypeCheck
-# - HTMLDocumentation
+ - HTMLDocumentation
# - PDFDocumentation
# - PublishTestResults
- PublishCoverageResults
-# - PublishToGitHubPages
+ - PublishToGitHubPages
# - PublishOnPyPI
- IntermediateCleanUp
with:
diff --git a/doc/requirements.txt b/doc/requirements.txt
index d037edef..df742831 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -6,11 +6,11 @@ ruamel.yaml ~= 0.18.6
setuptools ~= 75.1
# Enforce latest version on ReadTheDocs
-sphinx ~= 8.0, <8.1
+sphinx ~= 8.1
docutils ~= 0.21
# ReadTheDocs Theme
-sphinx_rtd_theme ~= 3.0.0
+sphinx_rtd_theme ~= 3.0
# Sphinx Extenstions
#sphinxcontrib-actdiag>=0.8.5
diff --git a/pyEDAA/Reports/CLI/Unittesting.py b/pyEDAA/Reports/CLI/Unittesting.py
index 06631f11..18183845 100644
--- a/pyEDAA/Reports/CLI/Unittesting.py
+++ b/pyEDAA/Reports/CLI/Unittesting.py
@@ -1,13 +1,13 @@
from argparse import Namespace
from pathlib import Path
-from typing import List, Tuple
+from typing import List, Tuple, Type
from pyTooling.MetaClasses import ExtendedType
from pyTooling.Attributes.ArgParse import CommandHandler
from pyTooling.Attributes.ArgParse.ValuedFlag import LongValuedFlag
from pyEDAA.Reports.Unittesting import UnittestException, TestsuiteKind, TestsuiteSummary, Testsuite, Testcase
-from pyEDAA.Reports.Unittesting import MergedTestsuiteSummary
+from pyEDAA.Reports.Unittesting import Document, MergedTestsuiteSummary
from pyEDAA.Reports.Unittesting.JUnit import JUnitReaderMode, TestsuiteSummary as ju_TestsuiteSummary
@@ -93,24 +93,29 @@ def _open(self, task: str) -> ju_TestsuiteSummary:
if dataFormat == "junit":
if dialect == "ant":
from pyEDAA.Reports.Unittesting.JUnit.AntJUnit4 import Document
- docClass = Document
+
+ documentClass = Document
elif dialect == "any":
from pyEDAA.Reports.Unittesting.JUnit import Document
- docClass = Document
+
+ documentClass = Document
elif dialect == "ctest":
from pyEDAA.Reports.Unittesting.JUnit.CTestJUnit import Document
- docClass = Document
+
+ documentClass = Document
elif dialect == "gtest":
from pyEDAA.Reports.Unittesting.JUnit.GoogleTestJUnit import Document
- docClass = Document
+
+ documentClass = Document
elif dialect == "pytest":
from pyEDAA.Reports.Unittesting.JUnit.PyTestJUnit import Document
- docClass = Document
+
+ documentClass = Document
else:
- raise UnittestException(f"Unsupported JUnit XML dialect for input: '{dataFormat}'")
+ raise UnittestException(f"Unsupported JUnit XML dialect for input: '{dataFormat}-{dialect}'")
self.WriteVerbose(f" Reading {file}")
- return docClass(file, parse=True)
+ return documentClass(file, parse=True)
else:
raise UnittestException(f"Unsupported unit testing report dataFormat for input: '{dataFormat}'")
else:
@@ -131,125 +136,45 @@ def _merge(self, testsuiteSummary: MergedTestsuiteSummary, task: str) -> None:
if dataFormat == "junit":
if dialect == "ant":
- self._mergeAntJUnit(testsuiteSummary, foundFiles)
+ from pyEDAA.Reports.Unittesting.JUnit.AntJUnit4 import Document
+
+ self._mergeJUnit(testsuiteSummary, Document, foundFiles, "Ant+JUnit4")
elif dialect == "any":
- self._mergeAnyJUnit(testsuiteSummary, foundFiles)
+ from pyEDAA.Reports.Unittesting.JUnit import Document
+
+ self._mergeJUnit(testsuiteSummary, Document, foundFiles, "Any-JUnit")
elif dialect == "ctest":
- self._mergeCTestJUnit(testsuiteSummary, foundFiles)
+ from pyEDAA.Reports.Unittesting.JUnit.CTestJUnit import Document
+
+ self._mergeJUnit(testsuiteSummary, Document, foundFiles, "CTest-JUnit")
elif dialect == "gtest":
- self._mergeGoogleTestJUnit(testsuiteSummary, foundFiles)
+ from pyEDAA.Reports.Unittesting.JUnit.GoogleTestJUnit import Document
+
+ self._mergeJUnit(testsuiteSummary, Document, foundFiles, "GoogleTest-JUnit")
elif dialect == "pytest":
- self._mergePyTestJUnit(testsuiteSummary, foundFiles)
+ from pyEDAA.Reports.Unittesting.JUnit.PyTestJUnit import Document
+
+ self._mergeJUnit(testsuiteSummary, Document, foundFiles, "pyTest-JUnit")
else:
- self.WriteError(f"Unsupported JUnit XML dialect for merging: '{dataFormat}'")
+ self.WriteError(f"Unsupported JUnit XML dialect for merging: '{dataFormat}-{dialect}'")
else:
self.WriteError(f"Unsupported unit testing report dataFormat for merging: '{dataFormat}'")
else:
self.WriteError(f"Syntax error: '{task}'")
- def _mergeAntJUnit(self, testsuiteSummary: MergedTestsuiteSummary, foundFiles: Tuple[Path, ...]) -> None:
- from pyEDAA.Reports.Unittesting.JUnit.AntJUnit4 import Document
-
- self.WriteNormal(f"Reading {len(foundFiles)} Ant-JUnit unit test summary files ...")
-
- junitDocuments: List[Document] = []
- for file in foundFiles:
- self.WriteVerbose(f" Reading {file}")
- try:
- junitDocuments.append(Document(file, analyzeAndConvert=True, readerMode=JUnitReaderMode.DecoupleTestsuiteHierarchyAndTestcaseClassName))
- except UnittestException as ex:
- self.WriteError(ex)
-
- if len(junitDocuments) == 0:
- self.WriteCritical("None of the Ant-JUnit files were successfully read.")
- return
-
- self.WriteNormal(f"Merging unit test summary files into a single data model ...")
- for summary in junitDocuments:
- self.WriteVerbose(f" merging {summary.Path}")
- testsuiteSummary.Merge(summary.ToTestsuiteSummary())
-
- def _mergeAnyJUnit(self, testsuiteSummary: MergedTestsuiteSummary, foundFiles: Tuple[Path, ...]) -> None:
- from pyEDAA.Reports.Unittesting.JUnit import Document
-
- self.WriteNormal(f"Reading {len(foundFiles)} (generic) JUnit unit test summary files ...")
-
- junitDocuments: List[Document] = []
- for file in foundFiles:
- self.WriteVerbose(f" Reading {file}")
- try:
- junitDocuments.append(Document(file, analyzeAndConvert=True, readerMode=JUnitReaderMode.DecoupleTestsuiteHierarchyAndTestcaseClassName))
- except UnittestException as ex:
- self.WriteError(ex)
-
- if len(junitDocuments) == 0:
- self.WriteCritical("None of the (generic) JUnit files were successfully read.")
- return
-
- self.WriteNormal(f"Merging unit test summary files into a single data model ...")
- for summary in junitDocuments:
- self.WriteVerbose(f" merging {summary.Path}")
- testsuiteSummary.Merge(summary.ToTestsuiteSummary())
-
- def _mergeCTestJUnit(self, testsuiteSummary: MergedTestsuiteSummary, foundFiles: Tuple[Path, ...]) -> None:
- from pyEDAA.Reports.Unittesting.JUnit.CTestJUnit import Document
-
- self.WriteNormal(f"Reading {len(foundFiles)} CTest-JUnit unit test summary files ...")
-
- junitDocuments: List[Document] = []
- for file in foundFiles:
- self.WriteVerbose(f" Reading {file}")
- try:
- junitDocuments.append(Document(file, analyzeAndConvert=True, readerMode=JUnitReaderMode.DecoupleTestsuiteHierarchyAndTestcaseClassName))
- except UnittestException as ex:
- self.WriteError(ex)
-
- if len(junitDocuments) == 0:
- self.WriteCritical("None of the CTest-JUnit files were successfully read.")
- return
-
- self.WriteNormal(f"Merging unit test summary files into a single data model ...")
- for summary in junitDocuments:
- self.WriteVerbose(f" merging {summary.Path}")
- testsuiteSummary.Merge(summary.ToTestsuiteSummary())
-
- def _mergeGoogleTestJUnit(self, testsuiteSummary: MergedTestsuiteSummary, foundFiles: Tuple[Path, ...]) -> None:
- from pyEDAA.Reports.Unittesting.JUnit.GoogleTestJUnit import Document
-
- self.WriteNormal(f"Reading {len(foundFiles)} GoogleTest-JUnit unit test summary files ...")
-
- junitDocuments: List[Document] = []
- for file in foundFiles:
- self.WriteVerbose(f" Reading {file}")
- try:
- junitDocuments.append(Document(file, analyzeAndConvert=True, readerMode=JUnitReaderMode.DecoupleTestsuiteHierarchyAndTestcaseClassName))
- except UnittestException as ex:
- self.WriteError(ex)
-
- if len(junitDocuments) == 0:
- self.WriteCritical("None of the GoogleTest-JUnit files were successfully read.")
- return
-
- self.WriteNormal(f"Merging unit test summary files into a single data model ...")
- for summary in junitDocuments:
- self.WriteVerbose(f" merging {summary.Path}")
- testsuiteSummary.Merge(summary.ToTestsuiteSummary())
-
- def _mergePyTestJUnit(self, testsuiteSummary: MergedTestsuiteSummary, foundFiles: Tuple[Path, ...]) -> None:
- from pyEDAA.Reports.Unittesting.JUnit.PyTestJUnit import Document
-
- self.WriteNormal(f"Reading {len(foundFiles)} pytest-JUnit unit test summary files ...")
+ def _mergeJUnit(self, testsuiteSummary: MergedTestsuiteSummary, documentClass: Type[Document], foundFiles: Tuple[Path, ...], dialect: str) -> None:
+ self.WriteNormal(f"Reading {len(foundFiles)} {dialect} unit test summary files ...")
- junitDocuments: List[Document] = []
+ junitDocuments: List[documentClass] = []
for file in foundFiles:
self.WriteVerbose(f" Reading {file}")
try:
- junitDocuments.append(Document(file, analyzeAndConvert=True, readerMode=JUnitReaderMode.DecoupleTestsuiteHierarchyAndTestcaseClassName))
+ junitDocuments.append(documentClass(file, analyzeAndConvert=True, readerMode=JUnitReaderMode.DecoupleTestsuiteHierarchyAndTestcaseClassName))
except UnittestException as ex:
self.WriteError(ex)
if len(junitDocuments) == 0:
- self.WriteCritical("None of the pytest-JUnit files were successfully read.")
+ self.WriteCritical(f"None of the {dialect} files were successfully read.")
return
self.WriteNormal(f"Merging unit test summary files into a single data model ...")
@@ -375,27 +300,33 @@ def _output(self, testsuiteSummary: TestsuiteSummary, task: str):
outputFile = Path(parts[1])
if format == "junit":
if dialect == "ant":
- self._outputAntJUnit(testsuiteSummary, outputFile)
- # elif dialect == "ctest":
- # self._outputCTestJUnit(testsuiteSummary, outputFile)
- # elif dialect == "gtest":
- # self._outputGoogleTestJUnit(testsuiteSummary, outputFile)
- # elif dialect == "pytest":
- # self._outputPyTestJUnit(testsuiteSummary, outputFile)
+ from pyEDAA.Reports.Unittesting.JUnit.AntJUnit4 import Document, UnittestException
+
+ self._outputJUnit(testsuiteSummary, Document, outputFile, "Ant+JUnit4")
+ elif dialect == "ctest":
+ from pyEDAA.Reports.Unittesting.JUnit.CTestJUnit import Document, UnittestException
+
+ self._outputJUnit(testsuiteSummary, Document, outputFile, "CTest-JUnit")
+ elif dialect == "gtest":
+ from pyEDAA.Reports.Unittesting.JUnit.GoogleTestJUnit import Document, UnittestException
+
+ self._outputJUnit(testsuiteSummary, Document, outputFile, "GoogleTest-JUnit")
+ elif dialect == "pytest":
+ from pyEDAA.Reports.Unittesting.JUnit.PyTestJUnit import Document, UnittestException
+
+ self._outputJUnit(testsuiteSummary, Document, outputFile, "pyTest-JUnit")
else:
- self.WriteError(f"Unsupported JUnit XML dialect for writing: '{format}'")
+ self.WriteError(f"Unsupported JUnit XML dialect for writing: '{format}-{dialect}'")
else:
self.WriteError(f"Unsupported unit testing report format for writing: '{format}'")
else:
self.WriteError(f"Syntax error: '{task}'")
- def _outputAntJUnit(self, testsuiteSummary: TestsuiteSummary, file: Path):
- from pyEDAA.Reports.Unittesting.JUnit.AntJUnit4 import Document, UnittestException
-
+ def _outputJUnit(self, testsuiteSummary: TestsuiteSummary, documentClass: Type[Document], file: Path, dialect: str):
self.WriteNormal(f"Writing merged unit test summaries to file ...")
- self.WriteVerbose(f" Common Data Model -> OUT (JUnit): {file}")
+ self.WriteVerbose(f" Common Data Model -> OUT ({dialect}): {file}")
- junitDocument = Document.FromTestsuiteSummary(file, testsuiteSummary)
+ junitDocument = documentClass.FromTestsuiteSummary(file, testsuiteSummary)
try:
junitDocument.Write(regenerate=True, overwrite=True)
except UnittestException as ex:
@@ -403,4 +334,4 @@ def _outputAntJUnit(self, testsuiteSummary: TestsuiteSummary, file: Path):
if ex.__cause__ is not None:
self.WriteError(f" {ex.__cause__}")
- self.WriteNormal(f"Output written to '{file}' in Ant-JUnit format.")
+ self.WriteNormal(f"Output written to '{file}' in {dialect} format.")
diff --git a/pyEDAA/Reports/Unittesting/JUnit/__init__.py b/pyEDAA/Reports/Unittesting/JUnit/__init__.py
index 416973c4..4bdae87f 100644
--- a/pyEDAA/Reports/Unittesting/JUnit/__init__.py
+++ b/pyEDAA/Reports/Unittesting/JUnit/__init__.py
@@ -1190,14 +1190,11 @@ class Document(TestsuiteSummary, ut_Document):
def __init__(self, xmlReportFile: Path, analyzeAndConvert: bool = False, readerMode: JUnitReaderMode = JUnitReaderMode.Default):
super().__init__("Unprocessed JUnit XML file")
- ut_Document.__init__(self, xmlReportFile)
self._readerMode = readerMode
self._xmlDocument = None
- if analyzeAndConvert:
- self.Analyze()
- self.Convert()
+ ut_Document.__init__(self, xmlReportFile, analyzeAndConvert)
@classmethod
def FromTestsuiteSummary(cls, xmlReportFile: Path, testsuiteSummary: ut_TestsuiteSummary):
diff --git a/pyEDAA/Reports/Unittesting/OSVVM.py b/pyEDAA/Reports/Unittesting/OSVVM.py
index 46260cef..20231d6f 100644
--- a/pyEDAA/Reports/Unittesting/OSVVM.py
+++ b/pyEDAA/Reports/Unittesting/OSVVM.py
@@ -94,15 +94,12 @@ class TestsuiteSummary(ut_TestsuiteSummary):
class BuildSummaryDocument(TestsuiteSummary, Document):
_yamlDocument: Nullable[YAML]
- def __init__(self, yamlReportFile: Path, parse: bool = False) -> None:
+ def __init__(self, yamlReportFile: Path, analyzeAndConvert: bool = False) -> None:
super().__init__("Unprocessed OSVVM YAML file")
- Document.__init__(self, yamlReportFile)
self._yamlDocument = None
- if parse:
- self.Analyze()
- self.Convert()
+ Document.__init__(self, yamlReportFile, analyzeAndConvert)
def Analyze(self) -> None:
"""
diff --git a/pyEDAA/Reports/Unittesting/__init__.py b/pyEDAA/Reports/Unittesting/__init__.py
index 60618212..8d2ebe4c 100644
--- a/pyEDAA/Reports/Unittesting/__init__.py
+++ b/pyEDAA/Reports/Unittesting/__init__.py
@@ -1630,12 +1630,16 @@ class Document(metaclass=ExtendedType, mixin=True):
_analysisDuration: float #: TODO: replace by Timer; should be timedelta?
_modelConversion: float #: TODO: replace by Timer; should be timedelta?
- def __init__(self, path: Path):
- self._path = path
+ def __init__(self, reportFile: Path, analyzeAndConvert: bool = False):
+ self._path = reportFile
self._analysisDuration = -1.0
self._modelConversion = -1.0
+ if analyzeAndConvert:
+ self.Analyze()
+ self.Convert()
+
@readonly
def Path(self) -> Path:
"""
diff --git a/pyEDAA/Reports/__init__.py b/pyEDAA/Reports/__init__.py
index 48092ba3..24ac9eec 100644
--- a/pyEDAA/Reports/__init__.py
+++ b/pyEDAA/Reports/__init__.py
@@ -35,7 +35,7 @@
__email__ = "Paebbels@gmail.com"
__copyright__ = "2021-2024, Electronic Design Automation Abstraction (EDA²)"
__license__ = "Apache License, Version 2.0"
-__version__ = "0.13.1"
+__version__ = "0.14.0"
__keywords__ = ["Reports", "Abstract Model", "Data Model", "Unit Testing", "Testcase", "Testsuite", "OSVVM", "YAML", "XML"]
from enum import Enum
diff --git a/run.ps1 b/run.ps1
index e4ef1626..c1cad93e 100644
--- a/run.ps1
+++ b/run.ps1
@@ -97,7 +97,7 @@ if ($install)
{ Write-Host -ForegroundColor Cyan "[ADMIN][UNINSTALL] Uninstalling $PackageName ..."
py -3.12 -m pip uninstall -y $PackageName
Write-Host -ForegroundColor Cyan "[ADMIN][INSTALL] Installing $PackageName from wheel ..."
- py -3.12 -m pip install .\dist\$PackageName-0.13.1-py3-none-any.whl
+ py -3.12 -m pip install .\dist\$PackageName-0.14.0-py3-none-any.whl
Write-Host -ForegroundColor Cyan "[ADMIN][INSTALL] Closing window in 5 seconds ..."
Start-Sleep -Seconds 5
diff --git a/tests/data/JUnit/pyGHDL/pyGHDL-Ubuntu-24.04-3.12.xml b/tests/data/JUnit/pyGHDL/pyGHDL-Ubuntu-24.04-3.12.xml
new file mode 100644
index 00000000..98691262
--- /dev/null
+++ b/tests/data/JUnit/pyGHDL/pyGHDL-Ubuntu-24.04-3.12.xml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/tests/data/JUnit/pyGHDL/pyGHDL-Ubuntu-3.12.xml b/tests/data/JUnit/pyGHDL/pyGHDL-Ubuntu-3.12.xml
new file mode 100644
index 00000000..62aec127
--- /dev/null
+++ b/tests/data/JUnit/pyGHDL/pyGHDL-Ubuntu-3.12.xml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/tests/data/JUnit/pyGHDL/pyGHDL-Windows-3.12.xml b/tests/data/JUnit/pyGHDL/pyGHDL-Windows-3.12.xml
new file mode 100644
index 00000000..386b8336
--- /dev/null
+++ b/tests/data/JUnit/pyGHDL/pyGHDL-Windows-3.12.xml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/tests/data/JUnit/pyGHDL/pyGHDL-Winodws-2022-3.12.xml b/tests/data/JUnit/pyGHDL/pyGHDL-Winodws-2022-3.12.xml
new file mode 100644
index 00000000..ce7c6156
--- /dev/null
+++ b/tests/data/JUnit/pyGHDL/pyGHDL-Winodws-2022-3.12.xml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/tests/unit/Unittesting/Examples/OSVVM.py b/tests/unit/Unittesting/Examples/OSVVM.py
index 914e4829..587e0c8e 100644
--- a/tests/unit/Unittesting/Examples/OSVVM.py
+++ b/tests/unit/Unittesting/Examples/OSVVM.py
@@ -89,7 +89,7 @@ def test_OsvvmLibraries(self) -> None:
print()
yamlPath = Path("tests/data/OSVVM/OSVVMLibraries_OsvvmLibraries.yml")
- doc = BuildSummaryDocument(yamlPath, parse=True)
+ doc = BuildSummaryDocument(yamlPath, analyzeAndConvert=True)
print("=" * 40)
tree = doc.ToTree()
@@ -113,7 +113,7 @@ def test_RunAllTests(self) -> None:
print()
yamlPath = Path("tests/data/OSVVM/OSVVMLibraries_RunAllTests.yml")
- doc = BuildSummaryDocument(yamlPath, parse=True)
+ doc = BuildSummaryDocument(yamlPath, analyzeAndConvert=True)
print("=" * 40)
tree = doc.ToTree()