[rtems-central commit] spec: Use ${xzy:/spec} for item references

Sebastian Huber sebh at rtems.org
Tue May 9 13:45:26 UTC 2023


Module:    rtems-central
Branch:    master
Commit:    7f913b96254af72e1d7cd55ff37a1cfaecd6b906
Changeset: http://git.rtems.org/rtems-central/commit/?id=7f913b96254af72e1d7cd55ff37a1cfaecd6b906

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri May  5 14:41:19 2023 +0200

spec: Use ${xzy:/spec} for item references

---

 spec/acfg/val/acfg.yml                               |  4 ++--
 spec/acfg/val/appl-disable-filesystem.yml            |  2 +-
 spec/acfg/val/bsp-prerequisite-drivers.yml           |  2 +-
 spec/acfg/val/disable-newlib-reentrancy.yml          |  2 +-
 spec/acfg/val/malloc-bsp-supports-sbrk.yml           |  2 +-
 spec/acfg/val/max-file-descriptors.yml               |  2 +-
 spec/acfg/val/one-cpu.yml                            |  2 +-
 spec/newlib/req/sys-lock-mutex-acquire-timed.yml     |  2 +-
 spec/newlib/req/sys-lock-mutex-acquire.yml           |  2 +-
 .../req/sys-lock-mutex-recursive-acquire-timed.yml   |  2 +-
 spec/newlib/req/sys-lock-mutex-recursive-acquire.yml |  2 +-
 spec/newlib/req/sys-lock-mutex-recursive-release.yml |  2 +-
 .../req/sys-lock-mutex-recursive-try-acquire.yml     |  2 +-
 spec/newlib/req/sys-lock-mutex-release.yml           |  2 +-
 spec/newlib/req/sys-lock-mutex-try-acquire.yml       |  2 +-
 spec/rtems/barrier/req/ident.yml                     |  2 +-
 spec/rtems/barrier/val/ident.yml                     |  2 +-
 spec/rtems/event/req/receive.yml                     |  2 +-
 spec/rtems/event/req/send.yml                        |  2 +-
 spec/rtems/event/req/system-receive.yml              |  2 +-
 spec/rtems/event/req/system-send.yml                 |  2 +-
 spec/rtems/event/val/send-receive.yml                |  2 +-
 spec/rtems/event/val/system-send-receive.yml         |  2 +-
 spec/rtems/message/req/ident.yml                     |  2 +-
 spec/rtems/message/val/ident.yml                     |  2 +-
 spec/rtems/part/req/ident.yml                        |  2 +-
 spec/rtems/part/val/ident.yml                        |  2 +-
 spec/rtems/ratemon/req/ident.yml                     |  2 +-
 spec/rtems/ratemon/val/ident.yml                     |  2 +-
 spec/rtems/sem/req/flush.yml                         |  8 ++++----
 spec/rtems/sem/req/ident.yml                         |  2 +-
 spec/rtems/sem/req/obtain.yml                        | 20 ++++++++++----------
 spec/rtems/sem/req/release.yml                       | 12 ++++++------
 spec/rtems/sem/req/timeout.yml                       |  6 +++---
 spec/rtems/sem/val/ident.yml                         |  2 +-
 spec/rtems/task/req/ident.yml                        |  2 +-
 spec/rtems/timer/req/ident.yml                       |  2 +-
 spec/rtems/timer/val/ident.yml                       |  2 +-
 spec/rtems/userext/req/ident.yml                     |  2 +-
 spec/rtems/userext/val/ident.yml                     |  2 +-
 specview.py                                          | 15 +++++++++++++++
 41 files changed, 75 insertions(+), 60 deletions(-)

diff --git a/spec/acfg/val/acfg.yml b/spec/acfg/val/acfg.yml
index a962424e..7fe44888 100644
--- a/spec/acfg/val/acfg.yml
+++ b/spec/acfg/val/acfg.yml
@@ -262,10 +262,10 @@ test-actions:
   - brief: |
       Check the configured ${/acfg/if/task-stack-allocator:/name} hook.  Using
       the test stack allocator validates also
-      ${/acfg/if/init-task-construct-storage-size}, since the
+      ${/acfg/if/init-task-construct-storage-size:/spec}, since the
       test_task_stack_allocate() allocate handler only supports
       ${/acfg/if/max-tasks:/name} minus one stacks and the validation test for
-      ${/rtems/task/req/create-errors} creates for some pre-condition variants
+      ${/rtems/task/req/create-errors:/spec} creates for some pre-condition variants
       all tasks until ${/rtems/status/if/too-many:/name} is returned.  In
       addition, test_task_stack_allocate() checks that the allocation size is
       greater than or equal to TEST_MINIMUM_STACK_SIZE which validates
diff --git a/spec/acfg/val/appl-disable-filesystem.yml b/spec/acfg/val/appl-disable-filesystem.yml
index f89d9f09..73be0495 100644
--- a/spec/acfg/val/appl-disable-filesystem.yml
+++ b/spec/acfg/val/appl-disable-filesystem.yml
@@ -20,5 +20,5 @@ text: |
   pre-qualified feature set, if ${../if/appl-disable-filesystem:/name} is not
   defined.  For the pre-qualified only build of RTEMS, this would lead to an
   unresolved reference linker error.  This shows that the
-  ${../req/appl-disable-filesystem} requirement is implemented as specified.
+  ${../req/appl-disable-filesystem:/spec} requirement is implemented as specified.
 type: validation
diff --git a/spec/acfg/val/bsp-prerequisite-drivers.yml b/spec/acfg/val/bsp-prerequisite-drivers.yml
index 9a3376f6..fbe9c1c0 100644
--- a/spec/acfg/val/bsp-prerequisite-drivers.yml
+++ b/spec/acfg/val/bsp-prerequisite-drivers.yml
@@ -12,6 +12,6 @@ references:
   type: file
 text: |
   Inspection of the referenced ${/glossary/sourcecode:/term} file showed that
-  the ${../req/bsp-prerequisite-drivers} requirement is implemented as
+  the ${../req/bsp-prerequisite-drivers:/spec} requirement is implemented as
   specified.
 type: validation
diff --git a/spec/acfg/val/disable-newlib-reentrancy.yml b/spec/acfg/val/disable-newlib-reentrancy.yml
index 2c37b427..f29ff79d 100644
--- a/spec/acfg/val/disable-newlib-reentrancy.yml
+++ b/spec/acfg/val/disable-newlib-reentrancy.yml
@@ -29,6 +29,6 @@ text: |
   the ``__getreent()`` function is not provided by RTEMS.  If
   ${../if/disable-newlib-reentrancy:/name} is defined, then the Newlib
   reentrancy structure is not contained in the ${/glossary/tcb:/term}.  This
-  shows that the ${../req/disable-newlib-reentrancy} requirement is implemented
+  shows that the ${../req/disable-newlib-reentrancy:/spec} requirement is implemented
   as specified.
 type: validation
diff --git a/spec/acfg/val/malloc-bsp-supports-sbrk.yml b/spec/acfg/val/malloc-bsp-supports-sbrk.yml
index fe4d6626..e018e2c7 100644
--- a/spec/acfg/val/malloc-bsp-supports-sbrk.yml
+++ b/spec/acfg/val/malloc-bsp-supports-sbrk.yml
@@ -12,6 +12,6 @@ references:
   type: file
 text: |
   Inspection of the referenced ${/glossary/sourcecode:/term} file showed that
-  the ${../req/malloc-bsp-supports-sbrk} requirement is implemented as
+  the ${../req/malloc-bsp-supports-sbrk:/spec} requirement is implemented as
   specified.
 type: validation
diff --git a/spec/acfg/val/max-file-descriptors.yml b/spec/acfg/val/max-file-descriptors.yml
index b2a12040..85d88738 100644
--- a/spec/acfg/val/max-file-descriptors.yml
+++ b/spec/acfg/val/max-file-descriptors.yml
@@ -23,6 +23,6 @@ text: |
   defined to zero, otherwise a table with an entry count specified by the
   option is statically allocated.  For a not pre-qualified only build of RTEMS,
   a file descriptor table with zero entries is provided by an RTEMS library.
-  This shows that the ${../req/max-file-descriptors} requirement is implemented
+  This shows that the ${../req/max-file-descriptors:/spec} requirement is implemented
   as specified.
 type: validation
diff --git a/spec/acfg/val/one-cpu.yml b/spec/acfg/val/one-cpu.yml
index a9438d51..125d0d4e 100644
--- a/spec/acfg/val/one-cpu.yml
+++ b/spec/acfg/val/one-cpu.yml
@@ -14,7 +14,7 @@ test-actions:
   - brief: |
       Check that the ${/acfg/if/max-priority:/name} application configuration
       option resulted in the expected system setting using
-      ${/rtems/task/if/maximum-priority}.
+      ${/rtems/task/if/maximum-priority:/spec}.
     code: |
       T_eq_u32( RTEMS_MAXIMUM_PRIORITY, 127 );
     links:
diff --git a/spec/newlib/req/sys-lock-mutex-acquire-timed.yml b/spec/newlib/req/sys-lock-mutex-acquire-timed.yml
index 08f5e49c..262604d4 100644
--- a/spec/newlib/req/sys-lock-mutex-acquire-timed.yml
+++ b/spec/newlib/req/sys-lock-mutex-acquire-timed.yml
@@ -15,5 +15,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/sys-lock-mutex-acquire-timed:/name} directive shall seize the
-  mutex as specified by ${/score/mtx/req/seize-wait}.
+  mutex as specified by ${/score/mtx/req/seize-wait:/spec}.
 type: requirement
diff --git a/spec/newlib/req/sys-lock-mutex-acquire.yml b/spec/newlib/req/sys-lock-mutex-acquire.yml
index 1538c67b..5ad8f804 100644
--- a/spec/newlib/req/sys-lock-mutex-acquire.yml
+++ b/spec/newlib/req/sys-lock-mutex-acquire.yml
@@ -15,5 +15,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/sys-lock-mutex-acquire:/name} directive shall seize the mutex as
-  specified by ${/score/mtx/req/seize-wait}.
+  specified by ${/score/mtx/req/seize-wait:/spec}.
 type: requirement
diff --git a/spec/newlib/req/sys-lock-mutex-recursive-acquire-timed.yml b/spec/newlib/req/sys-lock-mutex-recursive-acquire-timed.yml
index fccce451..e37455dc 100644
--- a/spec/newlib/req/sys-lock-mutex-recursive-acquire-timed.yml
+++ b/spec/newlib/req/sys-lock-mutex-recursive-acquire-timed.yml
@@ -15,5 +15,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/sys-lock-mutex-recursive-acquire-timed:/name} directive shall
-  seize the mutex as specified by ${/score/mtx/req/seize-wait}.
+  seize the mutex as specified by ${/score/mtx/req/seize-wait:/spec}.
 type: requirement
diff --git a/spec/newlib/req/sys-lock-mutex-recursive-acquire.yml b/spec/newlib/req/sys-lock-mutex-recursive-acquire.yml
index afc5137c..f9215044 100644
--- a/spec/newlib/req/sys-lock-mutex-recursive-acquire.yml
+++ b/spec/newlib/req/sys-lock-mutex-recursive-acquire.yml
@@ -15,5 +15,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/sys-lock-mutex-recursive-acquire:/name} directive shall seize the
-  mutex as specified by ${/score/mtx/req/seize-wait}.
+  mutex as specified by ${/score/mtx/req/seize-wait:/spec}.
 type: requirement
diff --git a/spec/newlib/req/sys-lock-mutex-recursive-release.yml b/spec/newlib/req/sys-lock-mutex-recursive-release.yml
index 85be154f..9685b657 100644
--- a/spec/newlib/req/sys-lock-mutex-recursive-release.yml
+++ b/spec/newlib/req/sys-lock-mutex-recursive-release.yml
@@ -15,5 +15,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/sys-lock-mutex-release:/name} directive shall surrender the mutex
-  as specified by ${/score/mtx/req/surrender}.
+  as specified by ${/score/mtx/req/surrender:/spec}.
 type: requirement
diff --git a/spec/newlib/req/sys-lock-mutex-recursive-try-acquire.yml b/spec/newlib/req/sys-lock-mutex-recursive-try-acquire.yml
index a0f4011b..30de9be1 100644
--- a/spec/newlib/req/sys-lock-mutex-recursive-try-acquire.yml
+++ b/spec/newlib/req/sys-lock-mutex-recursive-try-acquire.yml
@@ -15,5 +15,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/sys-lock-mutex-recursive-try-acquire:/name} directive shall seize
-  the mutex as specified by ${/score/mtx/req/seize-try}.
+  the mutex as specified by ${/score/mtx/req/seize-try:/spec}.
 type: requirement
diff --git a/spec/newlib/req/sys-lock-mutex-release.yml b/spec/newlib/req/sys-lock-mutex-release.yml
index e3e97fc4..e9496ec9 100644
--- a/spec/newlib/req/sys-lock-mutex-release.yml
+++ b/spec/newlib/req/sys-lock-mutex-release.yml
@@ -15,5 +15,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/sys-lock-mutex-release:/name} directive shall surrender the mutex
-  as specified by ${/score/mtx/req/surrender}.
+  as specified by ${/score/mtx/req/surrender:/spec}.
 type: requirement
diff --git a/spec/newlib/req/sys-lock-mutex-try-acquire.yml b/spec/newlib/req/sys-lock-mutex-try-acquire.yml
index 28cb56c5..02fe6f68 100644
--- a/spec/newlib/req/sys-lock-mutex-try-acquire.yml
+++ b/spec/newlib/req/sys-lock-mutex-try-acquire.yml
@@ -15,5 +15,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/sys-lock-mutex-try-acquire:/name} directive shall seize the mutex
-  as specified by ${/score/mtx/req/seize-try}.
+  as specified by ${/score/mtx/req/seize-try:/spec}.
 type: requirement
diff --git a/spec/rtems/barrier/req/ident.yml b/spec/rtems/barrier/req/ident.yml
index 021ec077..f8ddc433 100644
--- a/spec/rtems/barrier/req/ident.yml
+++ b/spec/rtems/barrier/req/ident.yml
@@ -11,5 +11,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/ident:/name} directive shall identify an Classic API
-  barrier class object by its name as specified by ${../../req/ident-local}.
+  barrier class object by its name as specified by ${../../req/ident-local:/spec}.
 type: requirement
diff --git a/spec/rtems/barrier/val/ident.yml b/spec/rtems/barrier/val/ident.yml
index c8a4ea1f..1848c2e0 100644
--- a/spec/rtems/barrier/val/ident.yml
+++ b/spec/rtems/barrier/val/ident.yml
@@ -8,7 +8,7 @@ links:
 test-actions:
 - action-brief: |
     Run the generic object identification tests for Classic API partition class
-    objects defined by ${../../req/ident-local}.
+    objects defined by ${../../req/ident-local:/spec}.
   action-code: |
     rtems_status_code sc;
     rtems_id          id_local_object;
diff --git a/spec/rtems/event/req/receive.yml b/spec/rtems/event/req/receive.yml
index b2bdab64..5174141d 100644
--- a/spec/rtems/event/req/receive.yml
+++ b/spec/rtems/event/req/receive.yml
@@ -11,5 +11,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/receive:/name} directive shall receive events from the
-  application event set of a task as specified by ${send-receive}.
+  application event set of a task as specified by ${send-receive:/spec}.
 type: requirement
diff --git a/spec/rtems/event/req/send.yml b/spec/rtems/event/req/send.yml
index 328e1293..6132eb8e 100644
--- a/spec/rtems/event/req/send.yml
+++ b/spec/rtems/event/req/send.yml
@@ -11,5 +11,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/send:/name} directive shall send events to the application event
-  set of a task as specified by ${send-receive}.
+  set of a task as specified by ${send-receive:/spec}.
 type: requirement
diff --git a/spec/rtems/event/req/system-receive.yml b/spec/rtems/event/req/system-receive.yml
index 5343d749..1ba3ec09 100644
--- a/spec/rtems/event/req/system-receive.yml
+++ b/spec/rtems/event/req/system-receive.yml
@@ -11,5 +11,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/system-receive:/name} directive shall receive events from the
-  system event set of a task as specified by ${send-receive}.
+  system event set of a task as specified by ${send-receive:/spec}.
 type: requirement
diff --git a/spec/rtems/event/req/system-send.yml b/spec/rtems/event/req/system-send.yml
index 22336d86..65c70073 100644
--- a/spec/rtems/event/req/system-send.yml
+++ b/spec/rtems/event/req/system-send.yml
@@ -11,5 +11,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/system-send:/name} directive shall send events to the system
-  event set of a task as specified by ${send-receive}.
+  event set of a task as specified by ${send-receive:/spec}.
 type: requirement
diff --git a/spec/rtems/event/val/send-receive.yml b/spec/rtems/event/val/send-receive.yml
index f3a41211..e163b8b7 100644
--- a/spec/rtems/event/val/send-receive.yml
+++ b/spec/rtems/event/val/send-receive.yml
@@ -10,7 +10,7 @@ links:
 test-actions:
 - action-brief: |
     Run the event send and receive tests for the application event set defined
-    by ${../req/send-receive}.
+    by ${../req/send-receive:/spec}.
   action-code: |
     ${../req/send-receive:/test-run}(
       EventSend,
diff --git a/spec/rtems/event/val/system-send-receive.yml b/spec/rtems/event/val/system-send-receive.yml
index 7e0418d5..0d0be6a2 100644
--- a/spec/rtems/event/val/system-send-receive.yml
+++ b/spec/rtems/event/val/system-send-receive.yml
@@ -10,7 +10,7 @@ links:
 test-actions:
 - action-brief: |
     Run the event send and receive tests for the system event set defined
-    by ${../req/send-receive}.
+    by ${../req/send-receive:/spec}.
   action-code: |
     ${../req/send-receive:/test-run}(
       EventSystemSend,
diff --git a/spec/rtems/message/req/ident.yml b/spec/rtems/message/req/ident.yml
index 0fc2aec4..8e8ca526 100644
--- a/spec/rtems/message/req/ident.yml
+++ b/spec/rtems/message/req/ident.yml
@@ -11,5 +11,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/ident:/name} directive shall identify an Classic API
-  message queue class object by its name as specified by ${../../req/ident}.
+  message queue class object by its name as specified by ${../../req/ident:/spec}.
 type: requirement
diff --git a/spec/rtems/message/val/ident.yml b/spec/rtems/message/val/ident.yml
index 0495aadd..777c3454 100644
--- a/spec/rtems/message/val/ident.yml
+++ b/spec/rtems/message/val/ident.yml
@@ -8,7 +8,7 @@ links:
 test-actions:
 - action-brief: |
     Run the generic object identification tests for Classic API message queue
-    class objects defined by ${../../req/ident}.
+    class objects defined by ${../../req/ident:/spec}.
   action-code: |
     rtems_status_code sc;
     rtems_id          id_local_object;
diff --git a/spec/rtems/part/req/ident.yml b/spec/rtems/part/req/ident.yml
index 20c38e6d..61db0160 100644
--- a/spec/rtems/part/req/ident.yml
+++ b/spec/rtems/part/req/ident.yml
@@ -11,5 +11,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/ident:/name} directive shall identify an Classic API
-  partition class object by its name as specified by ${../../req/ident}.
+  partition class object by its name as specified by ${../../req/ident:/spec}.
 type: requirement
diff --git a/spec/rtems/part/val/ident.yml b/spec/rtems/part/val/ident.yml
index cc4a7bac..eb9296b2 100644
--- a/spec/rtems/part/val/ident.yml
+++ b/spec/rtems/part/val/ident.yml
@@ -8,7 +8,7 @@ links:
 test-actions:
 - action-brief: |
     Run the generic object identification tests for Classic API partition class
-    objects defined by ${../../req/ident}.
+    objects defined by ${../../req/ident:/spec}.
   action-code: |
     static RTEMS_ALIGNED( RTEMS_PARTITION_ALIGNMENT ) long area[32];
     rtems_status_code                                      sc;
diff --git a/spec/rtems/ratemon/req/ident.yml b/spec/rtems/ratemon/req/ident.yml
index 18d9d716..66e4fc7d 100644
--- a/spec/rtems/ratemon/req/ident.yml
+++ b/spec/rtems/ratemon/req/ident.yml
@@ -12,5 +12,5 @@ requirement-type: functional
 text: |
   The ${../if/ident:/name} directive shall identify an Classic API
   rate monotonic class object by its name as specified by
-  ${../../req/ident-local}.
+  ${../../req/ident-local:/spec}.
 type: requirement
diff --git a/spec/rtems/ratemon/val/ident.yml b/spec/rtems/ratemon/val/ident.yml
index d15a38de..e23e67ae 100644
--- a/spec/rtems/ratemon/val/ident.yml
+++ b/spec/rtems/ratemon/val/ident.yml
@@ -8,7 +8,7 @@ links:
 test-actions:
 - action-brief: |
     Run the generic object identification tests for Classic API rate monotonic
-    class objects defined by ${../../req/ident-local}.
+    class objects defined by ${../../req/ident-local:/spec}.
   action-code: |
     rtems_status_code sc;
     rtems_id          id_local_object;
diff --git a/spec/rtems/sem/req/flush.yml b/spec/rtems/sem/req/flush.yml
index ab8d86c9..1086af26 100644
--- a/spec/rtems/sem/req/flush.yml
+++ b/spec/rtems/sem/req/flush.yml
@@ -34,25 +34,25 @@ post-conditions:
       ${/score/tq/req/flush-fifo:/test-run}( &ctx->tq_ctx, false );
     text: |
       The calling task shall flush the semaphore as specified by
-      ${/score/tq/req/flush-fifo}.
+      ${/score/tq/req/flush-fifo:/spec}.
   - name: FlushPriority
     test-code: |
       ${/score/tq/req/flush-priority:/test-run}( &ctx->tq_ctx, true );
     text: |
       The calling task shall flush the semaphore as specified by
-      ${/score/tq/req/flush-priority}.
+      ${/score/tq/req/flush-priority:/spec}.
   - name: FlushPriorityCeiling
     test-code: |
       ${/score/tq/req/flush-priority:/test-run}( &ctx->tq_ctx, false );
     text: |
       The calling task shall flush the semaphore as specified by
-      ${/score/tq/req/flush-priority}.
+      ${/score/tq/req/flush-priority:/spec}.
   - name: FlushPriorityInherit
     test-code: |
       ${/score/tq/req/flush-priority-inherit:/test-run}( &ctx->tq_ctx );
     text: |
       The calling task shall flush the semaphore as specified by
-      ${/score/tq/req/flush-priority-inherit}.
+      ${/score/tq/req/flush-priority-inherit:/spec}.
   test-epilogue: null
   test-prologue: |
     rtems_status_code sc;
diff --git a/spec/rtems/sem/req/ident.yml b/spec/rtems/sem/req/ident.yml
index ed075973..b336838c 100644
--- a/spec/rtems/sem/req/ident.yml
+++ b/spec/rtems/sem/req/ident.yml
@@ -11,5 +11,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/ident:/name} directive shall identify an Classic API
-  semaphore class object by its name as specified by ${../../req/ident}.
+  semaphore class object by its name as specified by ${../../req/ident:/spec}.
 type: requirement
diff --git a/spec/rtems/sem/req/obtain.yml b/spec/rtems/sem/req/obtain.yml
index 06470d86..58fac652 100644
--- a/spec/rtems/sem/req/obtain.yml
+++ b/spec/rtems/sem/req/obtain.yml
@@ -33,7 +33,7 @@ post-conditions:
       ${/score/sem/req/seize-try:/test-run}( &ctx->tq_sem_ctx );
     text: |
       The calling task shall try to seize the semaphore as specified by
-      ${/score/sem/req/seize-try}.
+      ${/score/sem/req/seize-try:/spec}.
   - name: SemSeizeWait
     test-code: |
       ctx->tq_sem_ctx.get_count = TQSemGetCountClassic;
@@ -41,7 +41,7 @@ post-conditions:
       ${/score/sem/req/seize-wait:/test-run}( &ctx->tq_sem_ctx );
     text: |
       The calling task shall wait to seize the semaphore as specified by
-      ${/score/sem/req/seize-wait}.
+      ${/score/sem/req/seize-wait:/spec}.
   - name: MtxSeizeTry
     test-code: |
       ctx->tq_mtx_ctx.base.enqueue_variant = TQ_ENQUEUE_BLOCKS;
@@ -51,7 +51,7 @@ post-conditions:
       ${/score/mtx/req/seize-try:/test-run}( &ctx->tq_mtx_ctx );
     text: |
       The calling task shall try to seize the mutex as specified by
-      ${/score/mtx/req/seize-try} where an enqueue blocks, a recursive seize is
+      ${/score/mtx/req/seize-try:/spec} where an enqueue blocks, a recursive seize is
       allowed, and no locking protocol is used.
   - name: MtxSeizeWait
     test-code: |
@@ -62,7 +62,7 @@ post-conditions:
       ${/score/mtx/req/seize-wait:/test-run}( &ctx->tq_mtx_ctx );
     text: |
       The calling task shall wait to seize the mutex as specified by
-      ${/score/mtx/req/seize-wait} where an enqueue blocks, a recursive seize
+      ${/score/mtx/req/seize-wait:/spec} where an enqueue blocks, a recursive seize
       is allowed, and no locking protocol is used.
   - name: InheritMtxSeizeTry
     test-code: |
@@ -73,7 +73,7 @@ post-conditions:
       ${/score/mtx/req/seize-try:/test-run}( &ctx->tq_mtx_ctx );
     text: |
       The calling task shall try to seize the mutex as specified by
-      ${/score/mtx/req/seize-try} where an enqueue blocks, a recursive seize is
+      ${/score/mtx/req/seize-try:/spec} where an enqueue blocks, a recursive seize is
       allowed, and a priority inheritance protocol is used.
   - name: InheritMtxSeizeWait
     test-code: |
@@ -84,7 +84,7 @@ post-conditions:
       ${/score/mtx/req/seize-wait:/test-run}( &ctx->tq_mtx_ctx );
     text: |
       The calling task shall wait to seize the mutex as specified by
-      ${/score/mtx/req/seize-wait} where an enqueue blocks, a recursive seize
+      ${/score/mtx/req/seize-wait:/spec} where an enqueue blocks, a recursive seize
       is allowed, and a priority inheritance protocol is used.
   - name: CeilingMtxSeizeTry
     test-code: |
@@ -95,7 +95,7 @@ post-conditions:
       ${/score/mtx/req/seize-try:/test-run}( &ctx->tq_mtx_ctx );
     text: |
       The calling task shall try to seize the mutex as specified by
-      ${/score/mtx/req/seize-try} where an enqueue blocks, a recursive seize is
+      ${/score/mtx/req/seize-try:/spec} where an enqueue blocks, a recursive seize is
       allowed, and a priority ceiling is used.
   - name: CeilingMtxSeizeWait
     test-code: |
@@ -106,7 +106,7 @@ post-conditions:
       ${/score/mtx/req/seize-wait:/test-run}( &ctx->tq_mtx_ctx );
     text: |
       The calling task shall wait to seize the mutex as specified by
-      ${/score/mtx/req/seize-wait} where an enqueue blocks, a recursive seize
+      ${/score/mtx/req/seize-wait:/spec} where an enqueue blocks, a recursive seize
       is allowed, and a priority ceiling is used.
   - name: MrsPMtxSeizeTry
     test-code: |
@@ -117,7 +117,7 @@ post-conditions:
       ${/score/mtx/req/seize-try:/test-run}( &ctx->tq_mtx_ctx );
     text: |
       The calling task shall try to seize the mutex as specified by
-      ${/score/mtx/req/seize-try} where an enqueue is sticky, a recursive seize
+      ${/score/mtx/req/seize-try:/spec} where an enqueue is sticky, a recursive seize
       returns an error status, and a priority ceiling is used.
   - name: MrsPMtxSeizeWait
     test-code: |
@@ -128,7 +128,7 @@ post-conditions:
       ${/score/mtx/req/seize-wait:/test-run}( &ctx->tq_mtx_ctx );
     text: |
       The calling task shall wait to seize the mutex as specified by
-      ${/score/mtx/req/seize-wait} where an enqueue is sticky, a recursive
+      ${/score/mtx/req/seize-wait:/spec} where an enqueue is sticky, a recursive
       seize returns an error status, and a priority ceiling is used.
   test-epilogue: null
   test-prologue: |
diff --git a/spec/rtems/sem/req/release.yml b/spec/rtems/sem/req/release.yml
index 9e432256..bcf18baf 100644
--- a/spec/rtems/sem/req/release.yml
+++ b/spec/rtems/sem/req/release.yml
@@ -30,7 +30,7 @@ post-conditions:
       ${/score/sem/req/surrender:/test-run}( &ctx->tq_sem_ctx );
     text: |
       The calling task shall surrender the binary semaphore as specified by
-      ${/score/sem/req/surrender}.
+      ${/score/sem/req/surrender:/spec}.
   - name: CountingSurrender
     test-code: |
       ctx->tq_ctx.enqueue_variant = TQ_ENQUEUE_BLOCKS;
@@ -41,7 +41,7 @@ post-conditions:
       ${/score/sem/req/surrender:/test-run}( &ctx->tq_sem_ctx );
     text: |
       The calling task shall surrender the counting semaphore as specified by
-      ${/score/sem/req/surrender}.
+      ${/score/sem/req/surrender:/spec}.
   - name: MtxSurrender
     test-code: |
       ctx->tq_ctx.enqueue_variant = TQ_ENQUEUE_BLOCKS;
@@ -53,7 +53,7 @@ post-conditions:
       ${/score/mtx/req/surrender:/test-run}( &ctx->tq_mtx_ctx );
     text: |
       The calling task shall surrender the mutex as specified by
-      ${/score/mtx/req/surrender} where an enqueue blocks, a recursive seize is
+      ${/score/mtx/req/surrender:/spec} where an enqueue blocks, a recursive seize is
       allowed, the owner is checked, and no locking protocol is used.
   - name: InheritMtxSurrender
     test-code: |
@@ -66,7 +66,7 @@ post-conditions:
       ${/score/mtx/req/surrender:/test-run}( &ctx->tq_mtx_ctx );
     text: |
       The calling task shall surrender the mutex as specified by
-      ${/score/mtx/req/surrender} where an enqueue blocks, a recursive seize is
+      ${/score/mtx/req/surrender:/spec} where an enqueue blocks, a recursive seize is
       allowed, the owner is checked, and a priority inheritance protocol is
       used.
   - name: CeilingMtxSurrender
@@ -80,7 +80,7 @@ post-conditions:
       ${/score/mtx/req/surrender:/test-run}( &ctx->tq_mtx_ctx );
     text: |
       The calling task shall surrender the mutex as specified by
-      ${/score/mtx/req/surrender} where an enqueue blocks, a recursive seize is
+      ${/score/mtx/req/surrender:/spec} where an enqueue blocks, a recursive seize is
       allowed, the owner is checked, and a priority ceiling is used.
   - name: MrsPMtxSurrender
     test-code: |
@@ -93,7 +93,7 @@ post-conditions:
       ${/score/mtx/req/surrender:/test-run}( &ctx->tq_mtx_ctx );
     text: |
       The calling task shall surrender the mutex as specified by
-      ${/score/mtx/req/surrender} where an enqueue is sticky, a recursive seize
+      ${/score/mtx/req/surrender:/spec} where an enqueue is sticky, a recursive seize
       returns an error status, the owner is checked, and a priority ceiling is
       used.
   test-epilogue: null
diff --git a/spec/rtems/sem/req/timeout.yml b/spec/rtems/sem/req/timeout.yml
index 568e39b3..eebd6d38 100644
--- a/spec/rtems/sem/req/timeout.yml
+++ b/spec/rtems/sem/req/timeout.yml
@@ -21,21 +21,21 @@ post-conditions:
       ${/score/tq/req/timeout:/test-run}( &ctx->tq_ctx );
     text: |
       The semaphore obtain timeout actions shall be done as specified by
-      ${/score/tq/req/timeout}.
+      ${/score/tq/req/timeout:/spec}.
   - name: TimeoutMrsP
     test-code: |
       ctx->tq_ctx.wait = TQ_WAIT_TIMED;
       ${/score/tq/req/timeout-mrsp:/test-run}( &ctx->tq_ctx );
     text: |
       The semaphore obtain timeout actions shall be done as specified by
-      ${/score/tq/req/timeout-mrsp}.
+      ${/score/tq/req/timeout-mrsp:/spec}.
   - name: TimeoutPriorityInherit
     test-code: |
       ctx->tq_ctx.wait = TQ_WAIT_FOREVER;
       ${/score/tq/req/timeout-priority-inherit:/test-run}( &ctx->tq_ctx );
     text: |
       The semaphore obtain timeout actions shall be done as specified by
-      ${/score/tq/req/timeout-priority-inherit}.
+      ${/score/tq/req/timeout-priority-inherit:/spec}.
   test-epilogue: null
   test-prologue: null
 pre-conditions:
diff --git a/spec/rtems/sem/val/ident.yml b/spec/rtems/sem/val/ident.yml
index f9957075..346a7780 100644
--- a/spec/rtems/sem/val/ident.yml
+++ b/spec/rtems/sem/val/ident.yml
@@ -8,7 +8,7 @@ links:
 test-actions:
 - action-brief: |
     Run the generic object identification tests for Classic API semaphore class
-    objects defined by ${../../req/ident}.
+    objects defined by ${../../req/ident:/spec}.
   action-code: |
     rtems_status_code sc;
     rtems_id          id_local_object;
diff --git a/spec/rtems/task/req/ident.yml b/spec/rtems/task/req/ident.yml
index ba81544e..919fc3a5 100644
--- a/spec/rtems/task/req/ident.yml
+++ b/spec/rtems/task/req/ident.yml
@@ -49,7 +49,7 @@ pre-conditions:
       ${../../object/if/who-am-i:/name} or ${../if/ident:/params[2]/name}
       parameter is equal to ${/c/if/null:/name},
       the behaviour of ${../if/ident:/name} shall be specified by
-      ${../../req/ident}.
+      ${../../req/ident:/spec}.
   test-epilogue: null
   test-prologue: null
 rationale: null
diff --git a/spec/rtems/timer/req/ident.yml b/spec/rtems/timer/req/ident.yml
index 2bef5bbe..458d6ed8 100644
--- a/spec/rtems/timer/req/ident.yml
+++ b/spec/rtems/timer/req/ident.yml
@@ -11,5 +11,5 @@ references: []
 requirement-type: functional
 text: |
   The ${../if/ident:/name} directive shall identify an Classic API
-  timer class object by its name as specified by ${../../req/ident-local}.
+  timer class object by its name as specified by ${../../req/ident-local:/spec}.
 type: requirement
diff --git a/spec/rtems/timer/val/ident.yml b/spec/rtems/timer/val/ident.yml
index 0190f7e0..fab3448b 100644
--- a/spec/rtems/timer/val/ident.yml
+++ b/spec/rtems/timer/val/ident.yml
@@ -8,7 +8,7 @@ links:
 test-actions:
 - action-brief: |
     Run the generic object identification tests for Classic API timer class
-    objects defined by ${../../req/ident-local}.
+    objects defined by ${../../req/ident-local:/spec}.
   action-code: |
     rtems_status_code sc;
     rtems_id          id_local_object;
diff --git a/spec/rtems/userext/req/ident.yml b/spec/rtems/userext/req/ident.yml
index 75e3316e..214236fd 100644
--- a/spec/rtems/userext/req/ident.yml
+++ b/spec/rtems/userext/req/ident.yml
@@ -12,5 +12,5 @@ requirement-type: functional
 text: |
   The ${../if/ident:/name} directive shall identify an Classic API
   user extension class object by its name as specified by
-  ${../../req/ident-local}.
+  ${../../req/ident-local:/spec}.
 type: requirement
diff --git a/spec/rtems/userext/val/ident.yml b/spec/rtems/userext/val/ident.yml
index beb18904..75b6b0fc 100644
--- a/spec/rtems/userext/val/ident.yml
+++ b/spec/rtems/userext/val/ident.yml
@@ -8,7 +8,7 @@ links:
 test-actions:
 - action-brief: |
     Run the generic object identification tests for Classic API user extension
-    class objects defined by ${../../req/ident-local}.
+    class objects defined by ${../../req/ident-local:/spec}.
   action-code: |
     static const rtems_extensions_table table;
     rtems_status_code                   sc;
diff --git a/specview.py b/specview.py
index 7b6d0d2d..48ba9b8f 100755
--- a/specview.py
+++ b/specview.py
@@ -71,6 +71,21 @@ _MAPPER.add_get_value(
     "requirement/non-functional/performance-runtime-limits:/text-template",
     _get_value_dummy)
 
+_SPEC_TYPES = [
+    "requirement/functional/action",
+    "requirement/functional/capability",
+    "requirement/functional/function",
+    "requirement/non-functional/design",
+    "requirement/non-functional/design-group",
+    "requirement/non-functional/interface-requirement",
+    "requirement/non-functional/performance",
+    "requirement/non-functional/performance-runtime",
+    "requirement/non-functional/quality",
+]
+
+for type_name in _SPEC_TYPES:
+    _MAPPER.add_get_value(f"{type_name}:/spec", _get_value_dummy)
+
 
 def _visit_action_conditions(item: Item, name: str) -> None:
     for index, condition in enumerate(item[name]):



More information about the vc mailing list