[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