diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-02-18 16:14:43 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-02-23 09:18:17 +0100 |
commit | eb5ef75379781bf94a097b3ffc60acc56270300a (patch) | |
tree | 717ff1ebe78d2670b8c8a7e9003094950a056860 | |
parent | spec: Use test cases for validation (diff) | |
download | rtems-central-eb5ef75379781bf94a097b3ffc60acc56270300a.tar.bz2 |
spec: Use code inspections
-rw-r--r-- | spec/acfg/val/appl-disable-filesystem.yml | 24 | ||||
-rw-r--r-- | spec/acfg/val/disable-newlib-reentrancy.yml | 34 | ||||
-rw-r--r-- | spec/acfg/val/max-file-descriptors.yml | 28 | ||||
-rw-r--r-- | 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 00000000..f89d9f09 --- /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 00000000..2c37b427 --- /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 00000000..b2a12040 --- /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 9a97c6d2..5d9bd6df 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 |