diff options
Diffstat (limited to 'spec/rtems/req/ident-local.yml')
-rw-r--r-- | spec/rtems/req/ident-local.yml | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/spec/rtems/req/ident-local.yml b/spec/rtems/req/ident-local.yml new file mode 100644 index 00000000..416d8fc6 --- /dev/null +++ b/spec/rtems/req/ident-local.yml @@ -0,0 +1,165 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: action +links: [] +post-conditions: +- name: Status + states: + - name: Ok + test-code: | + T_rsc( ctx->status, RTEMS_SUCCESSFUL ); + text: | + The status shall be RTEMS_SUCCESSFUL. + - name: InvAddr + test-code: | + T_rsc( ctx->status, RTEMS_INVALID_ADDRESS ); + text: | + The status shall be RTEMS_INVALID_ADDRESS. + - name: InvName + test-code: | + T_rsc( ctx->status, RTEMS_INVALID_NAME ); + text: | + The status shall be RTEMS_INVALID_NAME. + test-epilogue: null + test-prologue: null +- name: Id + states: + - name: Nop + test-code: | + T_eq_ptr( ctx->id, &ctx->id_value ); + T_eq_u32( ctx->id_value, 0xffffffff ); + text: | + The value of the object identifier referenced by the id parameter shall + be the value before the action. + - name: NullPtr + test-code: | + T_null( ctx->id ) + text: | + The id parameter shall be NULL. + - name: Id + test-code: | + T_eq_ptr( ctx->id, &ctx->id_value ); + T_eq_u32( ctx->id_value, ctx->id_local_object ); + text: | + The value of the object identifier referenced by the id parameter shall + be the identifier of a local object of the specified class with a name + equal to the name parameter. If more than one local object of the + specified class with such a name exists, then it shall be the identifier + of the object with the lowest object index. + test-epilogue: null + test-prologue: null +pre-conditions: +- name: Name + states: + - name: Invalid + test-code: | + ctx->name = 1; + text: | + The name parameter shall not equal to a name of an active Classic API + object of the specified class. + - name: Valid + test-code: | + ctx->name = ClassicObjectLocalIdentName; + text: | + The name parameter shall equal to a name of an active Classic API object + of the specified class. + test-epilogue: null + test-prologue: null +- name: Id + states: + - name: NullPtr + test-code: | + ctx->id = NULL; + text: | + The id parameter shall be NULL. + - name: Valid + test-code: | + ctx->id_value = 0xffffffff; + ctx->id = &ctx->id_value; + text: | + The id parameter shall point to an object identifier. + test-epilogue: null + test-prologue: null +rationale: null +references: [] +requirement-type: functional +skip-reasons: {} +test-action: | + ctx->status = ( *ctx->action )( ctx->name, ctx->id ); +test-brief: null +test-cleanup: null +test-context: +- brief: null + description: null + member: rtems_status_code status +- brief: null + description: null + member: rtems_name name +- brief: null + description: null + member: rtems_id *id +- brief: null + description: null + member: rtems_id id_value +test-context-support: null +test-description: null +test-header: + code: | + #define ClassicObjectLocalIdentName \ + rtems_build_name( 'I', 'D', 'N', 'T' ) + includes: + - rtems.h + local-includes: [] + run-params: + - description: | + is the identifier of an active object of the class under test with the + name ClassicObjectLocalIdentName. + dir: null + name: id_local_object + specifier: rtems_id ${.:name} + - description: | + is the action handler. + dir: null + name: action + specifier: rtems_status_code ( *${.:name} )( rtems_name, rtems_id * ) + target: testsuites/validation/tr-object-ident-local.h +test-includes: [] +test-local-includes: +- tr-object-ident-local.h +test-prepare: null +test-setup: null +test-stop: null +test-support: null +test-target: testsuites/validation/tr-object-ident-local.c +test-teardown: null +text: ${.:text-template} +transition-map: +- enabled-by: true + post-conditions: + Id: NullPtr + Status: InvAddr + pre-conditions: + Id: + - NullPtr + Name: all +- enabled-by: true + post-conditions: + Id: Nop + Status: InvName + pre-conditions: + Id: + - Valid + Name: + - Invalid +- enabled-by: true + post-conditions: + Id: Id + Status: Ok + pre-conditions: + Id: + - Valid + Name: + - Valid +type: requirement |