diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-11-21 11:13:16 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-11-21 11:15:25 +0100 |
commit | cc0ab75a2c65917cee72410c514d9c4a90275f3a (patch) | |
tree | e99d96607df54da6c3bbb81b002a0b3c437fc203 /rtemsspec/tests | |
parent | 2ddd68a9db4dc56f1d35a4a30691bc1dc987266c (diff) |
packagemanual: New
Diffstat (limited to 'rtemsspec/tests')
36 files changed, 1728 insertions, 8 deletions
diff --git a/rtemsspec/tests/spec-packagebuild/qdp/build/disabled.yml b/rtemsspec/tests/spec-packagebuild/qdp/build/disabled.yml new file mode 100644 index 00000000..dd02ea89 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/build/disabled.yml @@ -0,0 +1,13 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +copyrights-by-license: {} +directory: ${../variant:/build-directory} +directory-state-type: generic +enabled-by: false +files: [] +hash: null +links: [] +patterns: [] +qdp-type: directory-state +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/build/doc-ddf-sreld.yml b/rtemsspec/tests/spec-packagebuild/qdp/build/doc-ddf-sreld.yml new file mode 100644 index 00000000..7ba058de --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/build/doc-ddf-sreld.yml @@ -0,0 +1,13 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +copyrights-by-license: {} +directory: ${../variant:/build-directory}/doc-ddf-sreld +directory-state-type: generic +enabled-by: true +files: [] +hash: null +links: [] +patterns: [] +qdp-type: directory-state +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/build/doc-package-manual.yml b/rtemsspec/tests/spec-packagebuild/qdp/build/doc-package-manual.yml new file mode 100644 index 00000000..dff94d6a --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/build/doc-package-manual.yml @@ -0,0 +1,13 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +copyrights-by-license: {} +directory: ${../variant:/build-directory}/doc-package-manual +directory-state-type: generic +enabled-by: true +files: [] +hash: null +links: [] +patterns: [] +qdp-type: directory-state +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/deployment/doc-ddf-sreld.yml b/rtemsspec/tests/spec-packagebuild/qdp/deployment/doc-ddf-sreld.yml new file mode 100644 index 00000000..d8eb494b --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/deployment/doc-ddf-sreld.yml @@ -0,0 +1,13 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +copyrights-by-license: {} +directory: ${../variant:/deployment-directory}/doc-ddf-sreld +directory-state-type: generic +enabled-by: true +files: [] +hash: null +links: [] +patterns: [] +qdp-type: directory-state +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/deployment/doc-package-manual.yml b/rtemsspec/tests/spec-packagebuild/qdp/deployment/doc-package-manual.yml new file mode 100644 index 00000000..213b23d4 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/deployment/doc-package-manual.yml @@ -0,0 +1,13 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +copyrights-by-license: {} +directory: ${../variant:/deployment-directory}/doc-package-manual +directory-state-type: generic +enabled-by: true +files: [] +hash: null +links: [] +patterns: [] +qdp-type: directory-state +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/issue/rtems/2189.yml b/rtemsspec/tests/spec-packagebuild/qdp/issue/rtems/2189.yml new file mode 100644 index 00000000..23828c53 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/issue/rtems/2189.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: [] +created: '2019-04-02T15:06:29.497Z' +enabled-by: true +identifier: '2189' +labels: [] +links: +- role: issue-member + uid: database +milestone: null +qdp-type: issue +status: assigned +subject: Insufficient documentation for rtems_clock_get_tod() +type: qdp +updated: '2019-04-02T15:06:29.497Z' diff --git a/rtemsspec/tests/spec-packagebuild/qdp/issue/rtems/2365.yml b/rtemsspec/tests/spec-packagebuild/qdp/issue/rtems/2365.yml new file mode 100644 index 00000000..6eb59a51 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/issue/rtems/2365.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +created: '2019-04-02T15:06:29.497Z' +copyrights: [] +enabled-by: true +identifier: '2365' +labels: [] +links: +- role: issue-member + uid: database +milestone: null +qdp-type: issue +status: assigned +subject: Task pre-emption disable is broken due to pseudo ISR tasks +type: qdp +updated: '2019-04-02T15:06:29.497Z' diff --git a/rtemsspec/tests/spec-packagebuild/qdp/issue/rtems/2548.yml b/rtemsspec/tests/spec-packagebuild/qdp/issue/rtems/2548.yml new file mode 100644 index 00000000..ab099623 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/issue/rtems/2548.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +created: '2019-04-02T15:06:29.497Z' +copyrights: [] +enabled-by: true +identifier: '2548' +labels: [] +links: +- role: issue-member + uid: database +milestone: null +qdp-type: issue +status: assigned +subject: Problematic integer conversion in rtems_clock_get_tod() +type: qdp +updated: '2019-04-02T15:06:29.497Z' diff --git a/rtemsspec/tests/spec-packagebuild/qdp/issue/rtems/database.yml b/rtemsspec/tests/spec-packagebuild/qdp/issue/rtems/database.yml new file mode 100644 index 00000000..93617b81 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/issue/rtems/database.yml @@ -0,0 +1,10 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +enabled-by: true +format-identifier: '#${.:/identifier}' +links: [] +name: RTEMS Ticket +qdp-type: issue-database +type: qdp +url: https://devel.rtems.org/ticket/${.:/identifier} diff --git a/rtemsspec/tests/spec-packagebuild/qdp/package-build.yml b/rtemsspec/tests/spec-packagebuild/qdp/package-build.yml index 4147fd6f..7ec67413 100644 --- a/rtemsspec/tests/spec-packagebuild/qdp/package-build.yml +++ b/rtemsspec/tests/spec-packagebuild/qdp/package-build.yml @@ -26,6 +26,10 @@ links: - role: build-step uid: steps/doc-2 - role: build-step + uid: steps/doc-ddf-sreld +- role: build-step uid: steps/archive +- role: build-step + uid: steps/doc-package-manual qdp-type: package-build type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/package-changes.yml b/rtemsspec/tests/spec-packagebuild/qdp/package-changes.yml new file mode 100644 index 00000000..7819522e --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/package-changes.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +enabled-by: true +change-list: +- description: | + Description 1. + name: Name 1 + package-status: package-status/test-1 +- description: | + Description 2. + name: Name 2 + package-status: package-status/test-2 +links: [] +qdp-type: package-changes +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/package-status/test-1.yml b/rtemsspec/tests/spec-packagebuild/qdp/package-status/test-1.yml new file mode 100644 index 00000000..612c6e12 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/package-status/test-1.yml @@ -0,0 +1,13 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +enabled-by: true +links: +- role: issue + status: open + uid: ../issue/rtems/2189 +- role: issue + status: open + uid: ../issue/rtems/2365 +qdp-type: package-status +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/package-status/test-2.yml b/rtemsspec/tests/spec-packagebuild/qdp/package-status/test-2.yml new file mode 100644 index 00000000..42fc5c2e --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/package-status/test-2.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +enabled-by: true +links: +- role: issue + status: closed + uid: ../issue/rtems/2189 +- role: issue + status: open + uid: ../issue/rtems/2365 +- role: issue + status: open + uid: ../issue/rtems/2548 +qdp-type: package-status +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/repo/a.yml b/rtemsspec/tests/spec-packagebuild/qdp/repo/a.yml new file mode 100644 index 00000000..0cf7de1a --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/repo/a.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +branch: qdp +commit: a412700fd90e6195c255aea2048ae2ef37244df5 +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +copyrights-by-license: {} +description: A +directory: ${../variant:/deployment-directory}/build/src/a +directory-state-type: repository +enabled-by: true +files: [] +hash: null +links: +- role: repository + uid: ../variant +origin-branch: null +origin-commit: null +origin-commit-url: null +origin-url: null +patterns: [] +qdp-type: directory-state +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/repo/b.yml b/rtemsspec/tests/spec-packagebuild/qdp/repo/b.yml new file mode 100644 index 00000000..e40a6f58 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/repo/b.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +branch: qdp +commit: 52f06822b8921ad825cb593b792eab7640e26cde +copyrights: +- Copyright (C) 2020 embedded brains GmbH & Co. KG +copyrights-by-license: {} +description: B +directory: ${../variant:/deployment-directory}/build/src/b +directory-state-type: repository +enabled-by: true +files: [] +hash: null +links: +- role: repository + uid: ../variant +origin-branch: master +origin-commit: bcef89f2360b97005e490c92fe624ab9dec789e6 +origin-commit-url: https://git.rtems.org/rtems/commit/?id=${.:/origin-commit} +origin-url: git://git.rtems.org/rtems.git +patterns: [] +qdp-type: directory-state +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/source/a.yml b/rtemsspec/tests/spec-packagebuild/qdp/source/a.yml index 498a5546..049202ce 100644 --- a/rtemsspec/tests/spec-packagebuild/qdp/source/a.yml +++ b/rtemsspec/tests/spec-packagebuild/qdp/source/a.yml @@ -1,7 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2023 embedded brains GmbH & Co. KG -copyrights-by-license: {} +copyrights-by-license: + BSD-2-Clause: + - Copyright (C) 2023 Alice + files: + - dir/a.txt directory: ${../variant:/prefix-directory} directory-state-type: generic enabled-by: true diff --git a/rtemsspec/tests/spec-packagebuild/qdp/source/archive.yml b/rtemsspec/tests/spec-packagebuild/qdp/source/archive.yml new file mode 100644 index 00000000..4361edca --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/source/archive.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +copyrights-by-license: {} +directory: ${../variant:/prefix-directory} +directory-state-type: generic +enabled-by: true +files: +- file: archive.tar.xz + hash: null +hash: null +links: [] +patterns: [] +qdp-type: directory-state +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/source/doc-ddf-sreld.yml b/rtemsspec/tests/spec-packagebuild/qdp/source/doc-ddf-sreld.yml new file mode 100644 index 00000000..e08c4301 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/source/doc-ddf-sreld.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +copyrights-by-license: {} +directory: ${../variant:/build-directory}/src/doc-ddf-sreld +directory-state-type: generic +enabled-by: true +files: +- file: index.rst + hash: null +hash: null +links: [] +patterns: [] +qdp-type: directory-state +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/source/doc-package-manual.yml b/rtemsspec/tests/spec-packagebuild/qdp/source/doc-package-manual.yml new file mode 100644 index 00000000..366e6f7f --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/source/doc-package-manual.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +copyrights-by-license: {} +directory: ${../variant:/build-directory}/src/doc-package-manual +directory-state-type: generic +enabled-by: true +files: +- file: index.rst + hash: null +hash: null +links: [] +patterns: [] +qdp-type: directory-state +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/steps/archive-2.yml b/rtemsspec/tests/spec-packagebuild/qdp/steps/archive-2.yml new file mode 100644 index 00000000..726a1796 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/steps/archive-2.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +archive-file: archive.tar.xz +archive-strip-prefix: ${../variant:/prefix-directory}/ +build-step-type: archive +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +description: | + Description. +enabled-by: true +links: +- hash: null + name: member + role: input + uid: ../source/a +- name: archive + role: output + uid: ../source/archive +- name: verify-package + role: output + uid: ../deployment/verify-package +qdp-type: build-step +type: qdp +verification-script: verify_package.py diff --git a/rtemsspec/tests/spec-packagebuild/qdp/steps/doc-ddf-sreld.yml b/rtemsspec/tests/spec-packagebuild/qdp/steps/doc-ddf-sreld.yml new file mode 100644 index 00000000..c3c4269f --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/steps/doc-ddf-sreld.yml @@ -0,0 +1,47 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-step-type: sphinx +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +description: | + Builds the SRelD. +document-type: ddf-sreld +document-title: SRelD +document-toctree-maxdepth: 4 +document-html-help-base-name: SRelD +document-components: +- action: copy-and-substitute + add-to-index: false + source: index.rst + destination: source/index.rst +document-contract: Contract +document-key: blub +document-releases: [] +document-contributors: [] +document-copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +document-license: CC-BY-SA-4.0 +document-license-map: {} +enabled-by: ddf-sreld +links: +- hash: null + name: spec + role: input + uid: rtems-item-cache +- hash: null + name: package-changes + role: input + uid: ../package-changes +- hash: null + name: source + role: input + uid: ../source/doc-ddf-sreld +- name: destination + role: output + uid: ../deployment/doc-ddf-sreld +- name: build + role: output + uid: ../build/doc-ddf-sreld +output-html: null +output-pdf: null +qdp-type: build-step +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/steps/doc-package-manual.yml b/rtemsspec/tests/spec-packagebuild/qdp/steps/doc-package-manual.yml new file mode 100644 index 00000000..1e812b71 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/steps/doc-package-manual.yml @@ -0,0 +1,84 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-step-type: sphinx +benchmark-variants: +- description: + Description 1 + build-label: arch/bsp + name: Name 1 + test-log-uid: ../test-logs/perf +- description: | + Description 2 + build-label: arch/bsp + name: Name 2 + test-log-uid: ../test-logs/perf +- description: | + Description 3 + build-label: arch/bsp + name: Name 3 + test-log-uid: ../build/disabled +copyrights: +- Copyright (C) 2020 embedded brains GmbH & Co. KG +description: | + Builds the package manual. +document-type: package-manual +document-title: Package Manual +document-toctree-maxdepth: 4 +document-html-help-base-name: PM +document-components: +- action: add-to-index + add-to-index: true + destination: source/glossary.rst +- action: copy-and-substitute + add-to-index: false + source: index.rst + destination: source/index.rst +- action: glossary + add-to-index: false + destination: source/glossary.rst + glossary-groups: + - /glossary-general +document-contract: Contract +document-copyrights: +- Copyright (C) 2020 embedded brains GmbH & Co. KG +document-key: blub +document-releases: [] +document-contributors: [] +enabled-by: package-manual +links: +- hash: null + name: spec + role: input + uid: rtems-item-cache +- hash: null + name: membench-results + role: input + uid: ../test-logs/membench-2 +- hash: null + name: package-changes + role: input + uid: ../package-changes +- hash: null + name: source + role: input + uid: ../source/doc-package-manual +- hash: null + name: archive + role: input + uid: ../source/archive +- hash: null + name: verify-package + role: input + uid: ../deployment/verify-package +- name: destination + role: output + uid: ../deployment/doc-package-manual +- name: build + role: output + uid: ../build/doc-package-manual +document-license: CC-BY-SA-4.0 +document-license-map: {} +memory-benchmark-build-label: arch/bsp +output-html: null +output-pdf: null +qdp-type: build-step +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/test-logs/membench-2.yml b/rtemsspec/tests/spec-packagebuild/qdp/test-logs/membench-2.yml new file mode 100644 index 00000000..21979ff0 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/test-logs/membench-2.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +copyrights-by-license: {} +directory: ${../variant:/build-directory}/src +directory-state-type: generic +enabled-by: true +files: +- file: membench.json + hash: null +hash: null +links: [] +patterns: [] +qdp-type: directory-state +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/qdp/test-logs/perf.yml b/rtemsspec/tests/spec-packagebuild/qdp/test-logs/perf.yml new file mode 100644 index 00000000..66a89a4e --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/qdp/test-logs/perf.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +copyrights-by-license: {} +directory: ${../variant:/deployment-directory} +directory-state-type: test-log +enabled-by: true +files: +- file: test-log-perf.json + hash: null +hash: null +links: [] +patterns: [] +qdp-type: directory-state +type: qdp diff --git a/rtemsspec/tests/spec-packagebuild/req/api.yml b/rtemsspec/tests/spec-packagebuild/req/api.yml new file mode 100644 index 00000000..3c3d4626 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/req/api.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH & Co. KG +enabled-by: true +links: +- role: requirement-refinement + uid: root +non-functional-type: interface-requirement +rationale: null +references: [] +requirement-type: non-functional +text: | + The software product shall provide an API. +type: requirement diff --git a/rtemsspec/tests/spec-packagebuild/rtems/group.yml b/rtemsspec/tests/spec-packagebuild/rtems/group.yml index 7f7864b7..60560a04 100644 --- a/rtemsspec/tests/spec-packagebuild/rtems/group.yml +++ b/rtemsspec/tests/spec-packagebuild/rtems/group.yml @@ -12,7 +12,7 @@ links: - role: interface-placement uid: header - role: requirement-refinement - uid: ../req/root + uid: ../req/api name: Name text: | Text. diff --git a/rtemsspec/tests/spec-packagebuild/rtems/req/mem-basic.yml b/rtemsspec/tests/spec-packagebuild/rtems/req/mem-basic.yml new file mode 100644 index 00000000..f04e03a9 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/rtems/req/mem-basic.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH & Co. KG +enabled-by: true +links: +- role: requirement-refinement + uid: ../group +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration. +type: requirement diff --git a/rtemsspec/tests/spec-packagebuild/rtems/req/perf.yml b/rtemsspec/tests/spec-packagebuild/rtems/req/perf.yml new file mode 100644 index 00000000..9fd145a9 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/rtems/req/perf.yml @@ -0,0 +1,25 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +enabled-by: true +links: +- role: requirement-refinement + uid: ../group +non-functional-type: performance-runtime +params: {} +rationale: null +references: [] +requirement-type: non-functional +test-body: + brief: | + Brief. + code: | + code(); + description: null +test-cleanup: null +test-prepare: null +test-setup: null +test-teardown: null +text: | + Text. +type: requirement diff --git a/rtemsspec/tests/spec-packagebuild/rtems/target-a.yml b/rtemsspec/tests/spec-packagebuild/rtems/target-a.yml new file mode 100644 index 00000000..cd2b1ea3 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/rtems/target-a.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Brief target A. +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +enabled-by: true +description: | + Description target A. +links: +- role: requirement-refinement + uid: ../req/root +name: Name Target A +non-functional-type: design-target +rationale: null +references: [] +requirement-type: non-functional +text: | + The ${.:/name} shall be a target. +type: requirement diff --git a/rtemsspec/tests/spec-packagebuild/rtems/target-b.yml b/rtemsspec/tests/spec-packagebuild/rtems/target-b.yml new file mode 100644 index 00000000..0b61c867 --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/rtems/target-b.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Brief target B. +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +enabled-by: target-b +description: | + Description target B. +links: +- role: requirement-refinement + uid: ../req/root +name: Name Target B +non-functional-type: design-target +rationale: null +references: [] +requirement-type: non-functional +text: | + The ${.:/name} shall be a target. +type: requirement diff --git a/rtemsspec/tests/spec-packagebuild/rtems/val/mem-basic.yml b/rtemsspec/tests/spec-packagebuild/rtems/val/mem-basic.yml new file mode 100644 index 00000000..8cfcd1cf --- /dev/null +++ b/rtemsspec/tests/spec-packagebuild/rtems/val/mem-basic.yml @@ -0,0 +1,54 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH & Co. KG +enabled-by: true +links: [] +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + /* Nothing to do */ + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_IDLE_TASK_STORAGE_SIZE RTEMS_MINIMUM_STACK_SIZE + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: | + This resource benchmark is configured for exactly one processor, no clock + driver, no Newlib reentrancy support, and no file system. +test-includes: +- rtems.h +test-local-includes: [] +test-target: mem-rtems-basic.c +type: memory-benchmark diff --git a/rtemsspec/tests/test-files/pkg/build/src/doc-ddf-sreld/index.rst b/rtemsspec/tests/test-files/pkg/build/src/doc-ddf-sreld/index.rst new file mode 100644 index 00000000..7df5827a --- /dev/null +++ b/rtemsspec/tests/test-files/pkg/build/src/doc-ddf-sreld/index.rst @@ -0,0 +1,6 @@ +.. SPDX-License-Identifier: CC-BY-SA-4.0 + +.. Copyright (C) 2023 embedded brains GmbH & Co. KG + +${.:/changes} +${.:/issues} diff --git a/rtemsspec/tests/test-files/pkg/build/src/doc-package-manual/index.rst b/rtemsspec/tests/test-files/pkg/build/src/doc-package-manual/index.rst new file mode 100644 index 00000000..8279d40b --- /dev/null +++ b/rtemsspec/tests/test-files/pkg/build/src/doc-package-manual/index.rst @@ -0,0 +1,29 @@ +.. SPDX-License-Identifier: CC-BY-SA-4.0 + +.. Copyright (C) 2023 embedded brains GmbH & Co. KG + +${.:/archive-file} +${.:/archive-sha512} +${.:/pkg-config} +${.:/verify-package-file} +${.:/verify-package-help} +${.:/verify-package-sha512} +${.:/make:dir super clean,} +${.:/object-size:/rtems/task/obj} +${.:/benchmark-variants-list} +${.:/memory-benchmarks} +${.:/memory-benchmark-section:/rtems/val/mem-basic:.text} +${.:/memory-benchmark-compare-section:/rtems/val/mem-basic:/rtems/val/mem-basic:.text} +${.:/memory-benchmark-variants-table} +${.:/performance-variants-table} +${.:/clear-benchmark-variants} +${.:/memory-benchmark-variants-table} +${.:/performance-variants-table} +${.:/repositories} +${.:/pre-qualified-interfaces} +${.:/targets} +${.:/change-list} +${.:/open-issues} +${.:/license-info} +${.:/clear-copyrights-by-license} +${.:/license-info} diff --git a/rtemsspec/tests/test-files/pkg/build/src/membench.json b/rtemsspec/tests/test-files/pkg/build/src/membench.json new file mode 100644 index 00000000..69b27a5f --- /dev/null +++ b/rtemsspec/tests/test-files/pkg/build/src/membench.json @@ -0,0 +1,16 @@ +{ + "arch/bsp": { + "membench": { + "/rtems/val/mem-basic": { + ".bss": 0, + ".data": 8, + ".noinit": 1, + ".rodata": 5, + ".text": 123 + } + }, + "object-sizes": { + "/rtems/task/obj": 4 + } + } +} diff --git a/rtemsspec/tests/test-files/pkg/test-log-perf.json b/rtemsspec/tests/test-files/pkg/test-log-perf.json new file mode 100644 index 00000000..85b30111 --- /dev/null +++ b/rtemsspec/tests/test-files/pkg/test-log-perf.json @@ -0,0 +1,637 @@ +{ + "duration": 272.82567146699876, + "end-time": "2023-07-11T09:52:01.875951", + "reports": [ + { + "command-line": [], + "data-ranges": [], + "executable": "ts-performance-no-clock-0.exe", + "executable-sha512": "EgqXYmQTKT8anJjQCs7OW4S51KtKc4eoGi5G6y8Q_ZakVWGCy_Yf2VuxMgIVDGeljyrhin76CNppSg_T_Y-plw==", + "info": { + "build": [], + "line-begin-of-test": 84, + "line-build": 87, + "line-end-of-test": 2443, + "line-state": 86, + "line-tools": 88, + "line-version": 85, + "name": "TestsuitesPerformanceNoClock0", + "state": "EXPECTED_PASS", + "tools": "13.2.0", + "version": "6.0.0.8c9a5d0e1eae450dd28344be9390936a4573740d" + }, + "output": [ + "*** BEGIN OF TEST TestsuitesPerformanceNoClock0 ***", + "*** TEST VERSION: 6.0.0.8c9a5d0e1eae450dd28344be9390936a4573740d", + "*** TEST STATE: EXPECTED_PASS", + "*** TEST BUILD:", + "*** TEST TOOLS: 13.2.0", + "A:TestsuitesPerformanceNoClock0", + "S:Platform:RTEMS", + "S:Compiler:13.2.0", + "S:Version:6.0.0.8c9a5d0e1eae450dd28344be9390936a4573740d", + "S:BSP:gr712rc", + "S:BuildLabel:sparc/gr712rc/uni/6/qual-only", + "S:TargetHash:SHA256:cpI09Ju6orF2eoJcmJi4igeIarypsRNwUxTrZSs9LMg=", + "S:RTEMS_DEBUG:0", + "S:RTEMS_MULTIPROCESSING:0", + "S:RTEMS_POSIX_API:0", + "S:RTEMS_PROFILING:0", + "S:RTEMS_SMP:0", + "B:ScoreCpuValPerf", + "M:B:RtemsReqPerf", + "M:V:FullCache", + "M:N:100", + "M:S:99:0.000000275", + "M:S:1:0.000000475", + "M:MI:0.000000275", + "M:P1:0.000000275", + "M:Q1:0.000000275", + "M:Q2:0.000000275", + "M:Q3:0.000000275", + "M:P99:0.000000475", + "M:MX:0.000000475", + "M:MAD:0.000000000", + "M:D:0.000027697", + "M:E:RtemsReqPerf:D:0.007165362", + "M:B:RtemsReqPerf", + "M:V:HotCache", + "M:N:100", + "M:S:100:0.000000275", + "M:MI:0.000000275", + "M:P1:0.000000275", + "M:Q1:0.000000275", + "M:Q2:0.000000275", + "M:Q3:0.000000275", + "M:P99:0.000000275", + "M:MX:0.000000275", + "M:MAD:0.000000000", + "M:D:0.000027497", + "M:E:RtemsReqPerf:D:0.000178950", + "M:B:RtemsReqPerf", + "M:V:DirtyCache", + "M:N:100", + "M:S:100:0.000002125", + "M:MI:0.000002125", + "M:P1:0.000002125", + "M:Q1:0.000002125", + "M:Q2:0.000002125", + "M:Q3:0.000002125", + "M:P99:0.000002125", + "M:MX:0.000002125", + "M:MAD:0.000000000", + "M:D:0.000212481", + "M:E:RtemsReqPerf:D:0.005231937", + "M:B:RtemsReqPerf", + "M:V:Load/1", + "M:N:100", + "M:S:100:0.000001062", + "M:MI:0.000001062", + "M:P1:0.000001062", + "M:Q1:0.000001062", + "M:Q2:0.000001062", + "M:Q3:0.000001062", + "M:P99:0.000001062", + "M:MX:0.000001062", + "M:MAD:0.000000000", + "M:D:0.000106241", + "M:E:RtemsReqPerf:D:0.005695012", + "E:ScoreCpuValPerf:N:1:F:0:D:3.654440", + "Z:TestsuitesPerformanceNoClock0:C:7:N:4039:F:0:D:56.967524", + "Y:ReportHash:SHA256:D7Ra09o36-RifrdQ5T9G7Flk31HmQL9BYw6Cq4HROA8=", + "", + "*** END OF TEST TestsuitesPerformanceNoClock0 ***", + "", + " ", + " CPU 0: Program exited normally." + ], + "test-suite": { + "bsp": "gr712rc", + "build-label": "sparc/gr712rc/uni/6/qual-only", + "compiler": "13.2.0", + "duration": 56.967524, + "failed-steps-count": 0, + "line-begin": 89, + "line-bsp": 93, + "line-build-label": 94, + "line-compiler": 91, + "line-duration": 2440, + "line-end": 2440, + "line-failed-steps-count": 2440, + "line-platform": 90, + "line-report-hash": 2441, + "line-rtems-debug": 96, + "line-rtems-multiprocessing": 97, + "line-rtems-posix-api": 98, + "line-rtems-profiling": 99, + "line-rtems-smp": 100, + "line-step-count": 2440, + "line-target-hash": 95, + "line-version": 92, + "name": "TestsuitesPerformanceNoClock0", + "platform": "RTEMS", + "report-hash": "D7Ra09o36-RifrdQ5T9G7Flk31HmQL9BYw6Cq4HROA8=", + "report-hash-calculated": "D7Ra09o36-RifrdQ5T9G7Flk31HmQL9BYw6Cq4HROA8=", + "rtems-debug": false, + "rtems-multiprocessing": false, + "rtems-posix-api": false, + "rtems-profiling": false, + "rtems-smp": false, + "step-count": 4039, + "target-hash": "cpI09Ju6orF2eoJcmJi4igeIarypsRNwUxTrZSs9LMg=", + "test-cases": [ + { + "duration": 3.65444, + "failed-steps-count": 0, + "line-begin": 101, + "line-duration": 222, + "line-end": 222, + "line-failed-steps-count": 222, + "line-step-count": 222, + "name": "ScoreCpuValPerf", + "runtime-measurements": [ + { + "duration-sum": 2.7697e-05, + "duration-total": 0.007165362, + "line-begin": 102, + "line-end": 116, + "mad": 0.0, + "max": 4.75e-07, + "min": 2.75e-07, + "name": "RtemsReqPerf", + "p1": 2.75e-07, + "p99": 4.75e-07, + "q1": 2.75e-07, + "q2": 2.75e-07, + "q3": 2.75e-07, + "sample-count": 100, + "samples": [ + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 4.75e-07 + ], + "variant": "FullCache" + }, + { + "duration-sum": 2.7497e-05, + "duration-total": 0.00017895, + "line-begin": 117, + "line-end": 130, + "mad": 0.0, + "max": 2.75e-07, + "min": 2.75e-07, + "name": "RtemsReqPerf", + "p1": 2.75e-07, + "p99": 2.75e-07, + "q1": 2.75e-07, + "q2": 2.75e-07, + "q3": 2.75e-07, + "sample-count": 100, + "samples": [ + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07, + 2.75e-07 + ], + "variant": "HotCache" + }, + { + "duration-sum": 0.000212481, + "duration-total": 0.005231937, + "line-begin": 131, + "line-end": 144, + "mad": 0.0, + "max": 2.125e-06, + "min": 2.125e-06, + "name": "RtemsReqPerf", + "p1": 2.125e-06, + "p99": 2.125e-06, + "q1": 2.125e-06, + "q2": 2.125e-06, + "q3": 2.125e-06, + "sample-count": 100, + "samples": [ + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06, + 2.125e-06 + ], + "variant": "DirtyCache" + }, + { + "duration-sum": 0.000106241, + "duration-total": 0.005695012, + "line-begin": 145, + "line-end": 158, + "mad": 0.0, + "max": 1.062e-06, + "min": 1.062e-06, + "name": "RtemsReqPerf", + "p1": 1.062e-06, + "p99": 1.062e-06, + "q1": 1.062e-06, + "q2": 1.062e-06, + "q3": 1.062e-06, + "sample-count": 100, + "samples": [ + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06, + 1.062e-06 + ], + "variant": "Load/1" + } + ] + } + ], + "version": "6.0.0.8c9a5d0e1eae450dd28344be9390936a4573740d" + } + } + ], + "start-time": "2023-07-11T09:47:29.050266" +} diff --git a/rtemsspec/tests/test_packagebuild.py b/rtemsspec/tests/test_packagebuild.py index 5ad614d8..eff36428 100644 --- a/rtemsspec/tests/test_packagebuild.py +++ b/rtemsspec/tests/test_packagebuild.py @@ -41,7 +41,9 @@ from rtemsspec.packagebuild import BuildItem, BuildItemMapper, \ build_item_input, PackageBuildDirector from rtemsspec.packagebuildfactory import create_build_item_factory from rtemsspec.rtems import RTEMSItemCache +import rtemsspec.packagemanual from rtemsspec.specverify import verify +from rtemsspec.sphinxcontent import make_label import rtemsspec.sphinxbuilder import rtemsspec.testrunner from rtemsspec.testrunner import Executable, Report, TestRunner @@ -150,14 +152,43 @@ def _sphinx_builder_run_command(args, cwd=None, stdout=None): if "pkg-config" in args: stdout.append(" ".join(args)) return 0 - if args[0].endswith("verify"): - stdout.append("verify") + if args[0].endswith("verify_package.py"): + stdout.append("verify_package.py") return 0 return 1 +def _package_manual_generate(content, sections_by_uid, root, table_pivots, + mapper): + content.add([root.uid, mapper.item.uid] + table_pivots + + list(sections_by_uid.keys())) + + +def _clear_benchmark_variants(ctx: ItemGetValueContext) -> str: + ctx.item["benchmark-variants"] = [{ + "description": "Description", + "build-label": "foobar", + "name": "Name", + "test-log-uid": "../build/disabled" + }] + return "clear benchmark variants" + + +def _clear_copyrights_by_license(ctx: ItemGetValueContext) -> str: + ctx.item.cache["/qdp/source/a"]["copyrights-by-license"] = {} + return "clear copyrights by license" + + +def _format_path(path: Path) -> str: + path_2 = str(path) + for char in "/-_.": + path_2 = path_2.replace(char, f"{char}\u200b") + return path_2 + + def test_packagebuild(caplog, tmpdir, monkeypatch): tmp_dir = Path(tmpdir) + tmp_dir_len = len(str(tmp_dir)) item_cache = _create_item_cache(tmp_dir, Path("spec-packagebuild")) caplog.set_level(logging.WARN) @@ -196,7 +227,11 @@ def test_packagebuild(caplog, tmpdir, monkeypatch): assert [item.uid for item in related_items] == ["/rtems/test-case"] related_types = rtems_item_cache.get_related_types_by_prefix("requirement") assert related_types == [ - "requirement/functional/function", "requirement/non-functional/design" + "requirement/functional/function", "requirement/non-functional/design", + "requirement/non-functional/design-target", + "requirement/non-functional/interface-requirement", + "requirement/non-functional/performance-runtime", + "requirement/non-functional/quality" ] related_items = rtems_item_cache.get_related_interfaces() assert [item.uid for item in related_items] == [ @@ -204,11 +239,15 @@ def test_packagebuild(caplog, tmpdir, monkeypatch): "/rtems/if" ] related_items = rtems_item_cache.get_related_requirements() - assert [item.uid for item in related_items] == ["/req/root", "/rtems/req"] + assert [item.uid for item in related_items] == [ + "/req/api", "/req/root", "/rtems/req", "/rtems/req/mem-basic", + "/rtems/req/perf", "/rtems/target-a" + ] related_items = rtems_item_cache.get_related_interfaces_and_requirements() assert [item.uid for item in related_items] == [ - "/req/root", "/rtems/domain", "/rtems/group", "/rtems/group-acfg", - "/rtems/header", "/rtems/if", "/rtems/req" + "/req/api", "/req/root", "/rtems/domain", "/rtems/group", + "/rtems/group-acfg", "/rtems/header", "/rtems/if", "/rtems/req", + "/rtems/req/mem-basic", "/rtems/req/perf", "/rtems/target-a" ] director.build_package(None, ["/qdp/steps/a"]) @@ -236,6 +275,9 @@ def test_packagebuild(caplog, tmpdir, monkeypatch): assert c["blub"] == "bar" assert c.substitute(c.item["blub"], c.item) == "bar" assert c.substitute("${/qdp/variant:/spec}") == "spec:/qdp/variant" + assert c.substitute( + "${/qdp/issue/rtems/2189:/name}" + ) == "`RTEMS Ticket #2189 <https://devel.rtems.org/ticket/2189>`__" assert c.variant.uid == "/qdp/variant" variant_config = c.variant["config"] c.variant["config"] = "" @@ -659,3 +701,401 @@ Terms, definitions and abbreviated terms doc_2.add_component_action("foobar", action) director.build_package(None, None) assert action_run == 1 + + # Test SRelDBuilder + variant["enabled"] = ["ddf-sreld"] + director["/qdp/source/doc-ddf-sreld"].load() + director.build_package(None, None) + ddf_sreld_build = Path(director["/qdp/build/doc-ddf-sreld"].directory) + ddf_sreld_index = ddf_sreld_build / "source" / "index.rst" + with open(ddf_sreld_index, "r", encoding="utf-8") as src: + assert src.read() == f""".. SPDX-License-Identifier: CC-BY-SA-4.0 + +.. Copyright (C) 2023 embedded brains GmbH & Co. KG + +Description 2. + +.. _NewIssues: + +New issues +---------- + +When the QDP of this package version was produced, there were the following new issues associated: + +.. table:: + :class: longtable + :widths: 27,14,59 + + +--------------+-----------------------------------------------+---------------------------------------------------------+ + | Database | Identifier | Subject | + +==============+===============================================+=========================================================+ + | RTEMS Ticket | `2548 <https://devel.rtems.org/ticket/2548>`_ | Problematic integer conversion in rtems_clock_get_tod() | + +--------------+-----------------------------------------------+---------------------------------------------------------+ + +.. _OpenIssues: + +Open issues +----------- + +When the QDP of this package version was produced, there were the following open issues associated: + +.. table:: + :class: longtable + :widths: 27,14,59 + + +--------------+-----------------------------------------------+------------------------------------------------------------+ + | Database | Identifier | Subject | + +==============+===============================================+============================================================+ + | RTEMS Ticket | `2365 <https://devel.rtems.org/ticket/2365>`_ | Task pre-emption disable is broken due to pseudo ISR tasks | + +--------------+-----------------------------------------------+------------------------------------------------------------+ + +.. _ClosedIssues: + +Closed issues +------------- + +The following issues were closed for this package version. + +.. table:: + :class: longtable + :widths: 27,14,59 + + +--------------+-----------------------------------------------+------------------------------------------------------+ + | Database | Identifier | Subject | + +==============+===============================================+======================================================+ + | RTEMS Ticket | `2189 <https://devel.rtems.org/ticket/2189>`_ | Insufficient documentation for rtems_clock_get_tod() | + +--------------+-----------------------------------------------+------------------------------------------------------+ +""" + + # Test PackageManualBuilder + variant["enabled"] = ["package-manual"] + director["/qdp/source/archive"].load() + director["/qdp/source/doc-package-manual"].load() + director["/qdp/test-logs/membench-2"].load() + pm = director["/qdp/steps/doc-package-manual"] + pm.mapper.add_get_value(f"{pm.item.type}:/clear-benchmark-variants", + _clear_benchmark_variants) + pm.mapper.add_get_value(f"{pm.item.type}:/clear-copyrights-by-license", + _clear_copyrights_by_license) + monkeypatch.setattr(rtemsspec.packagemanual, "run_command", + _sphinx_builder_run_command) + monkeypatch.setattr(rtemsspec.packagemanual, "generate", + _package_manual_generate) + director.build_package(None, None) + monkeypatch.undo() + pm_build = Path(director["/qdp/build/doc-package-manual"].directory) + pm_index = pm_build / "source" / "index.rst" + with open(pm_index, "r", encoding="utf-8") as src: + assert src.read() == f""".. SPDX-License-Identifier: CC-BY-SA-4.0 + +.. Copyright (C) 2023 embedded brains GmbH & Co. KG + +archive.tar.xz +6\u200b6\u200b3\u200b0\u200b4\u200b9\u200ba\u200b2\u200b0\u200bd\u200bf\u200be\u200ba\u200b6\u200bb\u200b8\u200bd\u200ba\u200b2\u200b8\u200bb\u200b2\u200be\u200bb\u200b9\u200b0\u200be\u200bd\u200bd\u200bd\u200b1\u200b0\u200bc\u200bc\u200bf\u200b2\u200b8\u200be\u200bf\u200b2\u200b5\u200b1\u200b9\u200b5\u200b6\u200b3\u200b3\u200b1\u200b0\u200bb\u200b9\u200bb\u200bd\u200be\u200b2\u200b5\u200bb\u200b7\u200b2\u200b6\u200b8\u200b4\u200b4\u200b4\u200b0\u200b1\u200b4\u200bc\u200b4\u200b8\u200bc\u200b4\u200b3\u200b8\u200b4\u200be\u200be\u200b5\u200bc\u200b5\u200ba\u200b5\u200b4\u200be\u200b7\u200b8\u200b3\u200b0\u200be\u200b4\u200b5\u200bf\u200bc\u200bd\u200b8\u200b7\u200bd\u200bf\u200b7\u200b9\u200b1\u200b0\u200ba\u200b7\u200bf\u200bd\u200ba\u200b7\u200b7\u200bb\u200b6\u200b8\u200bc\u200b2\u200be\u200bf\u200bd\u200bd\u200b7\u200b5\u200bf\u200b8\u200bd\u200be\u200b2\u200b5\u200be\u200b8 +.. code-block:: none + + $ pkg-config --variable=ABI_FLAGS {tmp_dir}/pkg/lib/pkgconfig/sparc-rtems6-gr712rc-qual-only.pc + pkg-config --variable=ABI_FLAGS {tmp_dir}/pkg/lib/pkgconfig/sparc-rtems6-gr712rc-qual-only.pc + + $ pkg-config --cflags {tmp_dir}/pkg/lib/pkgconfig/sparc-rtems6-gr712rc-qual-only.pc + pkg-config --cflags {tmp_dir}/pkg/lib/pkgconfig/sparc-rtems6-gr712rc-qual-only.pc + + $ pkg-config --libs {tmp_dir}/pkg/lib/pkgconfig/sparc-rtems6-gr712rc-qual-only.pc + pkg-config --libs {tmp_dir}/pkg/lib/pkgconfig/sparc-rtems6-gr712rc-qual-only.pc +verify_package.py +.. code-block:: none + + $ cd {tmp_dir} + $ ./verify_package.py --help + verify_package.py +b6354f64a1a261a2e71015ab51fc5d3ca876305cba2733557ebfe3e2c0a0951e2c61e763d8a9eddbb4d41e56cef3ddf8a8023ea7ef7aafe996bbb1fa45473350 +.. code-block:: none + + example +4 +Name 1 + Description 1 + +Name 2 + Description 2 + +Name 3 + Description 3 +/rtems/req/mem-basic +/rtems/req/mem-basic +/rtems/req/mem-smp-1 +/rtems/val/mem-basic +123 ++0 +.. raw:: latex + + \\begin{{scriptsize}} + +.. table:: + :class: longtable + :widths: 35,20,9,9,9,9,9 + + +---------------+---------+-------+---------+-------+------+---------+ + | Specification | Variant | .text | .rodata | .data | .bss | .noinit | + +===============+=========+=======+=========+=======+======+=========+ + +---------------+---------+-------+---------+-------+------+---------+ + +.. raw:: latex + + \\end{{scriptsize}} +.. raw:: latex + + \\begin{{scriptsize}} + +.. table:: + :class: longtable + :widths: 31,14,19,12,12,12 + + +----------------------+-------------{'-' * tmp_dir_len}------------------------------------------------------------------------------------------+---------+----------+-------------+----------+ + | Specification | Environment {' ' * tmp_dir_len} | Variant | Min [μs] | Median [μs] | Max [μs] | + +======================+============={'=' * tmp_dir_len}==========================================================================================+=========+==========+=============+==========+ + | spec:/rtems/req/perf | `HotCache <{tmp_dir}/pkg/doc/ts/srs/html/requirements.html#spec-req-perf-runtime-environment-hot-cache>`__ | Name 1 | 0.275 | 0.275 | 0.275 | + + + {' ' * tmp_dir_len} +---------+----------+-------------+----------+ + | | {' ' * tmp_dir_len} | Name 2 | +0 % | +0 % | +0 % | + + + {' ' * tmp_dir_len} +---------+----------+-------------+----------+ + | | {' ' * tmp_dir_len} | Name 3 | ? | ? | ? | + + +-------------{'-' * tmp_dir_len}------------------------------------------------------------------------------------------+---------+----------+-------------+----------+ + | | `FullCache <{tmp_dir}/pkg/doc/ts/srs/html/requirements.html#spec-req-perf-runtime-environment-full-cache>`__ | Name 1 | 0.275 | 0.275 | 0.475 | + + + {' ' * tmp_dir_len} +---------+----------+-------------+----------+ + | | {' ' * tmp_dir_len} | Name 2 | +0 % | +0 % | +0 % | + + + {' ' * tmp_dir_len} +---------+----------+-------------+----------+ + | | {' ' * tmp_dir_len} | Name 3 | ? | ? | ? | + + +-------------{'-' * tmp_dir_len}------------------------------------------------------------------------------------------+---------+----------+-------------+----------+ + | | `DirtyCache <{tmp_dir}/pkg/doc/ts/srs/html/requirements.html#spec-req-perf-runtime-environment-dirty-cache>`__ | Name 1 | 2.125 | 2.125 | 2.125 | + + + {' ' * tmp_dir_len} +---------+----------+-------------+----------+ + | | {' ' * tmp_dir_len} | Name 2 | +0 % | +0 % | +0 % | + + + {' ' * tmp_dir_len} +---------+----------+-------------+----------+ + | | {' ' * tmp_dir_len} | Name 3 | ? | ? | ? | + + +-------------{'-' * tmp_dir_len}------------------------------------------------------------------------------------------+---------+----------+-------------+----------+ + | | `Load/1 <{tmp_dir}/pkg/doc/ts/srs/html/requirements.html#spec-req-perf-runtime-environment-load>`__ | Name 1 | 1.062 | 1.062 | 1.062 | + + + {' ' * tmp_dir_len} +---------+----------+-------------+----------+ + | | {' ' * tmp_dir_len} | Name 2 | +0 % | +0 % | +0 % | + + + {' ' * tmp_dir_len} +---------+----------+-------------+----------+ + | | {' ' * tmp_dir_len} | Name 3 | ? | ? | ? | + +----------------------+-------------{'-' * tmp_dir_len}------------------------------------------------------------------------------------------+---------+----------+-------------+----------+ + +.. raw:: latex + + \\end{{scriptsize}} +clear benchmark variants +.. raw:: latex + + \\begin{{scriptsize}} + +.. table:: + :class: longtable + :widths: 35,20,9,9,9,9,9 + + +---------------+---------+-------+---------+-------+------+---------+ + | Specification | Variant | .text | .rodata | .data | .bss | .noinit | + +===============+=========+=======+=========+=======+======+=========+ + +---------------+---------+-------+---------+-------+------+---------+ + +.. raw:: latex + + \\end{{scriptsize}} +There is no performance variants table available. +.. _GitRepositoryBuildSrcB: + +Git Repository: build/src/b +--------------------------- + +B + +The ``qdp`` branch with +commit ``52f06822b8921ad825cb593b792eab7640e26cde`` +was used to build the QDP. This branch is checked out after unpacking the +archive. It is based on +commit `bcef89f2360b97005e490c92fe624ab9dec789e6 <https://git.rtems.org/rtems/commit/?id=bcef89f2360b97005e490c92fe624ab9dec789e6>`_ +of the ``master`` branch of the ``origin`` remote repository. +.. _Name: + +Name +---- + +* identity +.. _NameTargetA: + +Name Target A +------------- + +Brief target A. + +Description target A. + +.. _Name2: + +Name 2 +------ + +Description 2. + +.. _Name2NewIssues: + +New issues +^^^^^^^^^^ + +When the QDP of this package version was produced, there were the following new issues associated: + +.. table:: + :class: longtable + :widths: 27,14,59 + + +--------------+-----------------------------------------------+---------------------------------------------------------+ + | Database | Identifier | Subject | + +==============+===============================================+=========================================================+ + | RTEMS Ticket | `2548 <https://devel.rtems.org/ticket/2548>`_ | Problematic integer conversion in rtems_clock_get_tod() | + +--------------+-----------------------------------------------+---------------------------------------------------------+ + +.. _Name2OpenIssues: + +Open issues +^^^^^^^^^^^ + +When the QDP of this package version was produced, there were the following open issues associated: + +.. table:: + :class: longtable + :widths: 27,14,59 + + +--------------+-----------------------------------------------+------------------------------------------------------------+ + | Database | Identifier | Subject | + +==============+===============================================+============================================================+ + | RTEMS Ticket | `2365 <https://devel.rtems.org/ticket/2365>`_ | Task pre-emption disable is broken due to pseudo ISR tasks | + +--------------+-----------------------------------------------+------------------------------------------------------------+ + +.. _Name2ClosedIssues: + +Closed issues +^^^^^^^^^^^^^ + +The following issues were closed for this package version. + +.. table:: + :class: longtable + :widths: 27,14,59 + + +--------------+-----------------------------------------------+------------------------------------------------------+ + | Database | Identifier | Subject | + +==============+===============================================+======================================================+ + | RTEMS Ticket | `2189 <https://devel.rtems.org/ticket/2189>`_ | Insufficient documentation for rtems_clock_get_tod() | + +--------------+-----------------------------------------------+------------------------------------------------------+ + +.. _Name1: + +Name 1 +------ + +Description 1. + +.. _Name1NewIssues: + +New issues +^^^^^^^^^^ + +When the QDP of this package version was produced, there were the following new issues associated: + +.. table:: + :class: longtable + :widths: 27,14,59 + + +--------------+-----------------------------------------------+------------------------------------------------------------+ + | Database | Identifier | Subject | + +==============+===============================================+============================================================+ + | RTEMS Ticket | `2189 <https://devel.rtems.org/ticket/2189>`_ | Insufficient documentation for rtems_clock_get_tod() | + +--------------+-----------------------------------------------+------------------------------------------------------------+ + | RTEMS Ticket | `2365 <https://devel.rtems.org/ticket/2365>`_ | Task pre-emption disable is broken due to pseudo ISR tasks | + +--------------+-----------------------------------------------+------------------------------------------------------------+ + +.. _Name1OpenIssues: + +Open issues +^^^^^^^^^^^ + +When the QDP of this package version was produced, +there were no open issues associated. + +.. _Name1ClosedIssues: + +Closed issues +^^^^^^^^^^^^^ + +When the QDP of this package version was produced, +there were no closed issues associated. +.. _OpenIssues: + +Open issues +----------- + +When the QDP of this package version was produced, there were the following open issues associated: + +.. table:: + :class: longtable + :widths: 27,14,59 + + +--------------+-----------------------------------------------+------------------------------------------------------------+ + | Database | Identifier | Subject | + +==============+===============================================+============================================================+ + | RTEMS Ticket | `2365 <https://devel.rtems.org/ticket/2365>`_ | Task pre-emption disable is broken due to pseudo ISR tasks | + +--------------+-----------------------------------------------+------------------------------------------------------------+ + | RTEMS Ticket | `2548 <https://devel.rtems.org/ticket/2548>`_ | Problematic integer conversion in rtems_clock_get_tod() | + +--------------+-----------------------------------------------+------------------------------------------------------------+ +All directories and file paths in this section are +relative to :file:`{_format_path(tmp_dir / 'pkg')}`. + +.. _Directory: + +Directory - .. +-------------- + +.. _Directory FileDirATxt: + +File - dir/a.txt +^^^^^^^^^^^^^^^^ + +The license file +:file:`../dir/a.txt` +is applicable to this directory or parts of the directory: + +.. code-block:: none + + A + +.. _BSD2ClauseCopyrights: + +BSD-2-Clause copyrights +----------------------- + +| © 2023 Alice + +.. code-block:: none + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +clear copyrights by license +All directories and file paths in this section are +relative to :file:`{_format_path(tmp_dir / 'pkg')}`. +""" |