blob: 416d8fc60e6b28b082443fc74d0a08d0df479f7f (
plain) (
tree)
|
|
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
|