blob: 3a35a0e0b9d290b98a60711f513fe99f118d35fe (
plain) (
tree)
|
|
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
functional-type: action
links:
- role: interface-function
uid: ../if/get-scheduler
post-conditions:
- name: Status
states:
- name: Ok
test-code: |
T_rsc_success( ctx->status );
text: |
The return status of ${../if/get-scheduler:/name} shall be
${../../status/if/successful:/name}.
- name: InvAddr
test-code: |
T_rsc( ctx->status, RTEMS_INVALID_ADDRESS );
text: |
The return status of ${../if/get-scheduler:/name} shall be
${../../status/if/invalid-address:/name}.
- name: InvId
test-code: |
T_rsc( ctx->status, RTEMS_INVALID_ID );
text: |
The return status of ${../if/get-scheduler:/name} shall be
${../../status/if/invalid-id:/name}.
test-epilogue: null
test-prologue: null
- name: SchedulerIDObj
states:
- name: Set
test-code: |
T_eq_u32( ctx->scheduler_id_obj, 0x0f010001 );
text: |
The value of the object referenced by the
${../if/get-scheduler:/params[1]/name} parameter shall be set to the
object identifier of the ${/glossary/scheduler-home:/term} of the task
specified by the ${../if/get-scheduler:/params[0]/name} parameter at some
point during the call after the return of the
${../if/get-scheduler:/name} call.
- name: Nop
test-code: |
T_eq_u32( ctx->scheduler_id_obj, INVALID_ID );
text: |
Objects referenced by the ${../if/get-scheduler:/params[1]/name}
parameter in past calls to ${../if/get-scheduler:/name} shall
not be accessed by the ${../if/get-scheduler:/name} call.
test-epilogue: null
test-prologue: null
pre-conditions:
- name: Id
states:
- name: Invalid
test-code: |
ctx->id = INVALID_ID;
text: |
While the ${../if/get-scheduler:/params[0]/name} parameter is not
associated with a task.
- name: Task
test-code: |
ctx->id = RTEMS_SELF;
text: |
While the ${../if/get-scheduler:/params[0]/name} parameter is
associated with a task.
test-epilogue: null
test-prologue: null
- name: SchedulerID
states:
- name: Valid
test-code: |
ctx->scheduler_id = &ctx->scheduler_id_obj;
text: |
While the ${../if/get-scheduler:/params[1]/name} parameter references an
object of type ${../../type/if/id:/name}.
- name: 'Null'
test-code: |
ctx->scheduler_id = NULL;
text: |
While the ${../if/get-scheduler:/params[1]/name} parameter is equal to
${/c/if/null:/name}.
test-epilogue: null
test-prologue: null
rationale: null
references: []
requirement-type: functional
skip-reasons: {}
test-action: |
ctx->status = rtems_task_get_scheduler( ctx->id, ctx->scheduler_id );
test-brief: null
test-cleanup: null
test-context:
- brief: |
This member provides the object referenced by the
${../if/get-scheduler:/params[1]/name} parameter.
description: null
member: |
rtems_id scheduler_id_obj
- brief: |
This member contains the return value of the ${../if/get-scheduler:/name}
call.
description: null
member: |
rtems_status_code status
- brief: |
This member specifies if the ${../if/get-scheduler:/params[0]/name}
parameter value.
description: null
member: |
rtems_id id
- brief: |
This member specifies if the ${../if/get-scheduler:/params[1]/name}
parameter value.
description: null
member: |
rtems_id *scheduler_id
test-context-support: null
test-description: null
test-header: null
test-includes:
- rtems.h
test-local-includes:
- tx-support.h
test-prepare: |
ctx->scheduler_id_obj = INVALID_ID;
test-setup: null
test-stop: null
test-support: null
test-target: testsuites/validation/tc-task-get-scheduler.c
test-teardown: null
text: ${.:text-template}
transition-map:
- enabled-by: true
post-conditions:
Status: Ok
SchedulerIDObj: Set
pre-conditions:
Id:
- Task
SchedulerID:
- Valid
- enabled-by: true
post-conditions:
Status: InvAddr
SchedulerIDObj: Nop
pre-conditions:
Id: all
SchedulerID:
- 'Null'
- enabled-by: true
post-conditions:
Status: InvId
SchedulerIDObj: Nop
pre-conditions:
Id:
- Invalid
SchedulerID:
- Valid
type: requirement
|