From db9e90cdc59cc271626cabed6a01d603b171e436 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 3 Aug 2020 12:59:00 +0200 Subject: spec: Specify Event Manager --- spec/req/rtems/event/val/system-send-receive.yml | 71 ++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 spec/req/rtems/event/val/system-send-receive.yml (limited to 'spec/req/rtems/event/val/system-send-receive.yml') diff --git a/spec/req/rtems/event/val/system-send-receive.yml b/spec/req/rtems/event/val/system-send-receive.yml new file mode 100644 index 00000000..a683f565 --- /dev/null +++ b/spec/req/rtems/event/val/system-send-receive.yml @@ -0,0 +1,71 @@ +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 +links: +- role: validation + uid: ../system-receive +- role: validation + uid: ../system-send +test-actions: +- action: | + ${../send-receive:/test-run}( + EventSystemSend, + EventSystemReceive, + GetPendingSystemEvents, + THREAD_WAIT_CLASS_SYSTEM_EVENT, + STATES_WAITING_FOR_SYSTEM_EVENT + ); + checks: [] + description: | + Run the event send and receive tests for the system event set defined + by ${../send-receive}. + links: [] +test-brief: | + Tests the ${/if/rtems/event/system-send:/name} and + ${/if/rtems/event/system-receive:/name} directives. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: +- rtems/rtems/eventimpl.h +- rtems/rtems/tasksdata.h +- rtems/score/statesimpl.h +- rtems/score/threadimpl.h +test-local-includes: +- tr-event-send-receive.h +test-prologue: null +test-support: | + static rtems_status_code EventSystemSend( + rtems_id id, + rtems_event_set event_in + ) + { + return rtems_event_system_send( id, event_in ); + } + + static rtems_status_code EventSystemReceive( + rtems_id event_in, + rtems_option option_set, + rtems_interval ticks, + rtems_event_set *event_out + ) + { + return rtems_event_system_receive( + event_in, + option_set, + ticks, + event_out + ); + } + + static rtems_event_set GetPendingSystemEvents( Thread_Control *thread ) + { + RTEMS_API_Control *api; + + api = thread->API_Extensions[ THREAD_API_RTEMS ]; + return api->System_event.pending_events; + } +test-target: testsuites/validation/tc-event-send-receive.c +type: test-case -- cgit v1.2.3