diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml index a128fc5b..f0a6a459 100644 --- a/.github/workflows/Pipeline.yml +++ b/.github/workflows/Pipeline.yml @@ -90,6 +90,13 @@ jobs: python_version_list: "3.9 3.10 3.11 3.12 pypy-3.9 pypy-3.10" disable_list: "mingw64:* ucrt64:*" + AppTestingParams: + uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev + with: + name: pyEDAA.Reports + python_version_list: "" # use latest Python version + system_list: "ubuntu macos macos-arm" + UnitTesting: uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev needs: @@ -131,19 +138,19 @@ jobs: python_version: ${{ needs.UnitTestingParams.outputs.python_version }} artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }} - ApplicationTest: + AppTesting: + uses: pyTooling/Actions/.github/workflows/ApplicationTesting.yml@r1 needs: + - AppTestingParams + - UnitTestingParams - Package - Java-Ant-JUnit4 - Cpp-GoogleTest - Python-pytest - runs-on: ubuntu-latest - steps: - - name: Download JUnit XML files - uses: actions/download-artifact@v4 - - name: ✅ Run pytest - run: | - ls -lAh + with: + jobs: ${{ needs.AppTestingParams.outputs.python_jobs }} + wheel: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }} + apptest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).apptesting_xml }} PublishCoverageResults: uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@r1 @@ -158,24 +165,13 @@ jobs: secrets: codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }} - PublishTestResults: - uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev - needs: - - UnitTestingParams - - UnitTesting - with: - merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }} - - IntermediateCleanUp: - uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@r1 - needs: - - UnitTestingParams - - PublishCoverageResults - - PublishTestResults - - 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 }}- +# PublishTestResults: +# uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev +# needs: +# - UnitTestingParams +# - UnitTesting +# with: +# merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }} # VerifyDocs: # uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@r1 @@ -184,20 +180,30 @@ 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 + IntermediateCleanUp: + uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@r1 needs: - UnitTestingParams - - PublishTestResults - PublishCoverageResults -# - VerifyDocs +# - PublishTestResults +# - HTMLDocumentation 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 }} + sqlite_coverage_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}- + xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}- # PDFDocumentation: # uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@r1 @@ -209,25 +215,26 @@ 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 }} +# 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 }} +# typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }} ReleasePage: uses: pyTooling/Actions/.github/workflows/Release.yml@r1 if: startsWith(github.ref, 'refs/tags') needs: - Package - - PublishToGitHubPages + - AppTesting +# - PublishToGitHubPages PublishOnPyPI: uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r1 @@ -248,19 +255,17 @@ jobs: - UnitTestingParams - UnitTesting - StaticTypeCheck - - HTMLDocumentation +# - HTMLDocumentation # - PDFDocumentation - - PublishTestResults +# - PublishTestResults - PublishCoverageResults - - PublishToGitHubPages +# - PublishToGitHubPages # - PublishOnPyPI - IntermediateCleanUp with: package: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }} remaining: | - ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-* ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_html }}-* - ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}-* ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}-* ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}-* ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}-* @@ -273,4 +278,5 @@ jobs: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }} ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }} ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }} + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).apptesting_xml }}-* # ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }} diff --git a/doc/Dependency.rst b/doc/Dependency.rst index cb7c992b..67633825 100644 --- a/doc/Dependency.rst +++ b/doc/Dependency.rst @@ -99,7 +99,7 @@ the mandatory dependencies too. +=================================================================================================+==============+==========================================================================================================+======================================================================================================================================================+ | `pyTooling `__ | ≥6.7 | `Apache License, 2.0 `__ | *None* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| `Sphinx `__ | ≥8.0 | `BSD 3-Clause `__ | *Not yet evaluated.* | +| `Sphinx `__ | ≥8.1 | `BSD 3-Clause `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `sphinx_btd_theme `__ | ≥0.5.2 | `MIT `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/doc/requirements.txt b/doc/requirements.txt index 31181215..d037edef 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -14,7 +14,7 @@ sphinx_rtd_theme ~= 3.0.0 # Sphinx Extenstions #sphinxcontrib-actdiag>=0.8.5 -sphinxcontrib-mermaid >= 0.9.2 +sphinxcontrib-mermaid ~= 1.0 #sphinxcontrib-seqdiag>=0.8.5 #sphinxcontrib-textstyle>=0.2.1 #sphinxcontrib-spelling>=2.2.0 diff --git a/pyEDAA/Reports/__init__.py b/pyEDAA/Reports/__init__.py index 62cdc666..48092ba3 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.0" +__version__ = "0.13.1" __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 7241b74f..e4ef1626 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.1.0-py3-none-any.whl + py -3.12 -m pip install .\dist\$PackageName-0.13.1-py3-none-any.whl Write-Host -ForegroundColor Cyan "[ADMIN][INSTALL] Closing window in 5 seconds ..." Start-Sleep -Seconds 5 diff --git a/setup.py b/setup.py index ad5e5a90..2f943d43 100644 --- a/setup.py +++ b/setup.py @@ -52,7 +52,7 @@ dataFiles={ packageName: [ f"py.typed", - f"resources/*.xsd" + f"Resources/*.xsd" ] }, consoleScripts={ diff --git a/tests/app/GitHub/Examples.py b/tests/app/GitHub/Examples.py new file mode 100644 index 00000000..89642d03 --- /dev/null +++ b/tests/app/GitHub/Examples.py @@ -0,0 +1,44 @@ +# ==================================================================================================================== # +# _____ ____ _ _ ____ _ # +# _ __ _ _| ____| _ \ / \ / \ | _ \ ___ _ __ ___ _ __| |_ ___ # +# | '_ \| | | | _| | | | |/ _ \ / _ \ | |_) / _ \ '_ \ / _ \| '__| __/ __| # +# | |_) | |_| | |___| |_| / ___ \ / ___ \ _| _ < __/ |_) | (_) | | | |_\__ \ # +# | .__/ \__, |_____|____/_/ \_\/_/ \_(_)_| \_\___| .__/ \___/|_| \__|___/ # +# |_| |___/ |_| # +# ==================================================================================================================== # +# Authors: # +# Patrick Lehmann # +# # +# License: # +# ==================================================================================================================== # +# Copyright 2021-2024 Electronic Design Automation Abstraction (EDA²) # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +# # +# SPDX-License-Identifier: Apache-2.0 # +# ==================================================================================================================== # +# +"""Testcase for application testing report files generated on GitHub.""" +from pathlib import Path +from unittest import TestCase + + +if __name__ == "__main__": # pragma: no cover + print("ERROR: you called a testcase declaration file as an executable module.") + print("Use: 'python -m unitest '") + exit(1) + + +class Dummy(TestCase): + def test_dummy(self): + print() diff --git a/tests/app/GitHub/__init__.py b/tests/app/GitHub/__init__.py new file mode 100644 index 00000000..244e0b6a --- /dev/null +++ b/tests/app/GitHub/__init__.py @@ -0,0 +1,30 @@ +# ==================================================================================================================== # +# _____ ____ _ _ ____ _ # +# _ __ _ _| ____| _ \ / \ / \ | _ \ ___ _ __ ___ _ __| |_ ___ # +# | '_ \| | | | _| | | | |/ _ \ / _ \ | |_) / _ \ '_ \ / _ \| '__| __/ __| # +# | |_) | |_| | |___| |_| / ___ \ / ___ \ _| _ < __/ |_) | (_) | | | |_\__ \ # +# | .__/ \__, |_____|____/_/ \_\/_/ \_(_)_| \_\___| .__/ \___/|_| \__|___/ # +# |_| |___/ |_| # +# ==================================================================================================================== # +# Authors: # +# Patrick Lehmann # +# # +# License: # +# ==================================================================================================================== # +# Copyright 2024-2024 Electronic Design Automation Abstraction (EDA²) # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +# # +# SPDX-License-Identifier: Apache-2.0 # +# ==================================================================================================================== # +# diff --git a/tests/app/__init__.py b/tests/app/__init__.py new file mode 100644 index 00000000..244e0b6a --- /dev/null +++ b/tests/app/__init__.py @@ -0,0 +1,30 @@ +# ==================================================================================================================== # +# _____ ____ _ _ ____ _ # +# _ __ _ _| ____| _ \ / \ / \ | _ \ ___ _ __ ___ _ __| |_ ___ # +# | '_ \| | | | _| | | | |/ _ \ / _ \ | |_) / _ \ '_ \ / _ \| '__| __/ __| # +# | |_) | |_| | |___| |_| / ___ \ / ___ \ _| _ < __/ |_) | (_) | | | |_\__ \ # +# | .__/ \__, |_____|____/_/ \_\/_/ \_(_)_| \_\___| .__/ \___/|_| \__|___/ # +# |_| |___/ |_| # +# ==================================================================================================================== # +# Authors: # +# Patrick Lehmann # +# # +# License: # +# ==================================================================================================================== # +# Copyright 2024-2024 Electronic Design Automation Abstraction (EDA²) # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +# # +# SPDX-License-Identifier: Apache-2.0 # +# ==================================================================================================================== # +# diff --git a/tests/app/requirements.txt b/tests/app/requirements.txt new file mode 100644 index 00000000..3c8d7e78 --- /dev/null +++ b/tests/app/requirements.txt @@ -0,0 +1 @@ +-r ../requirements.txt