[rtems-central commit] spec: Use code inspections

Sebastian Huber sebh at rtems.org
Wed Feb 23 08:35:10 UTC 2022


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

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Feb 18 16:14:43 2022 +0100

spec: Use code inspections

---

 spec/acfg/val/appl-disable-filesystem.yml   | 24 ++++++++++++++++++++
 spec/acfg/val/disable-newlib-reentrancy.yml | 34 +++++++++++++++++++++++++++++
 spec/acfg/val/max-file-descriptors.yml      | 28 ++++++++++++++++++++++++
 spec/testsuites/validation-acfg-0.yml       |  6 -----
 4 files changed, 86 insertions(+), 6 deletions(-)

diff --git a/spec/acfg/val/appl-disable-filesystem.yml b/spec/acfg/val/appl-disable-filesystem.yml
new file mode 100644
index 0000000..f89d9f0
--- /dev/null
+++ b/spec/acfg/val/appl-disable-filesystem.yml
@@ -0,0 +1,24 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: validation
+  uid: ../req/appl-disable-filesystem
+method: by-inspection
+references:
+- identifier: cpukit/include/rtems/confdefs/libio.h
+  hash: 2PF8S7RMgdgdPEe68H37pgxQ94KGMIlb5DULb6N0RHA=
+  type: file
+text: |
+  Defining ${../if/appl-disable-filesystem:/name} is mandatory for applications
+  using only the pre-qualified feature set.  The reason is to get linker errors
+  in case such applications are linked if they depend on the files system
+  support.  Thus no validation test case can be used.  Inspection of the
+  referenced ${/glossary/sourcecode:/term} file showed that several data
+  structures are initialized with references to functions which are not in the
+  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.
+type: validation
diff --git a/spec/acfg/val/disable-newlib-reentrancy.yml b/spec/acfg/val/disable-newlib-reentrancy.yml
new file mode 100644
index 0000000..2c37b42
--- /dev/null
+++ b/spec/acfg/val/disable-newlib-reentrancy.yml
@@ -0,0 +1,34 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: validation
+  uid: ../req/disable-newlib-reentrancy
+method: by-inspection
+references:
+- identifier: cpukit/include/rtems/confdefs/extensions.h
+  hash: o1zTKlcoJAoVIQYziWnRhZFx8v1R7ntNmT1W7zfdA5A=
+  type: file
+- identifier: cpukit/include/rtems/confdefs/newlib.h
+  hash: wKlyOe7m5g4ThjUtsP2ujODiuZrOtK9qFBkMiCcFlxU=
+  type: file
+- identifier: cpukit/include/rtems/confdefs/threads.h
+  hash: B3GWt2DpJYAMe6qvc_kBODb4MFOOXcESQ2y4Jk4PIIY=
+  type: file
+text: |
+  Defining ${../if/disable-newlib-reentrancy:/name} is mandatory for
+  applications using only the pre-qualified feature set.  The reason is to get
+  linker errors in case such applications are linked if they depend on the
+  Newlib reentrancy support.  Thus no validation test case can be used.
+  Inspection of the referenced ${/glossary/sourcecode:/term} files showed that
+  an initial extension set is registered, if
+  ${../if/disable-newlib-reentrancy:/name} is not defined.  For the
+  pre-qualified only build of RTEMS, this would lead to an unresolved reference
+  linker error.  If ${../if/disable-newlib-reentrancy:/name} is defined, then
+  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
+  as specified.
+type: validation
diff --git a/spec/acfg/val/max-file-descriptors.yml b/spec/acfg/val/max-file-descriptors.yml
new file mode 100644
index 0000000..b2a1204
--- /dev/null
+++ b/spec/acfg/val/max-file-descriptors.yml
@@ -0,0 +1,28 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: validation
+  uid: ../req/max-file-descriptors
+method: by-inspection
+references:
+- identifier: cpukit/include/rtems/confdefs/libio.h
+  hash: 2PF8S7RMgdgdPEe68H37pgxQ94KGMIlb5DULb6N0RHA=
+  type: file
+- identifier: cpukit/libcsupport/src/libiozeroiops.c
+  hash: 87rsMIa1Z9n0hvw4xH06KrpdmUXetjWvHF25Z8hw1do=
+  type: file
+text: |
+  Setting ${../if/max-file-descriptors:/name} to zero is mandatory for
+  applications using only the pre-qualified feature set.  The reason is to get
+  linker errors in case such applications are linked if they depend on file
+  descriptors.  Thus no validation test case can be used.  Inspection of the
+  referenced ${/glossary/sourcecode:/term} file showed that no file descriptor
+  table is statically allocated, if ${../if/max-file-descriptors:/name} is
+  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
+  as specified.
+type: validation
diff --git a/spec/testsuites/validation-acfg-0.yml b/spec/testsuites/validation-acfg-0.yml
index 9a97c6d..5d9bd6d 100644
--- a/spec/testsuites/validation-acfg-0.yml
+++ b/spec/testsuites/validation-acfg-0.yml
@@ -5,12 +5,6 @@ enabled-by: true
 links:
 - role: requirement-refinement
   uid: /req/test-suites
-- role: validation
-  uid: /acfg/req/max-file-descriptors
-- role: validation
-  uid: /acfg/req/disable-newlib-reentrancy
-- role: validation
-  uid: /acfg/req/appl-disable-filesystem
 test-brief: |
   This validation test suite is used to validate the default value of
   application configuration options taking the optional BSP provided settings



More information about the vc mailing list