Example #1
0
static void test(test_context *self)
{
  uintptr_t pattern_0 = (uintptr_t) 0xaaaaaaaaaaaaaaaaU;
  uintptr_t pattern_1 = (uintptr_t) 0x5555555555555555U;

  memset(self, 0, sizeof(*self));

  self->control_task = rtems_task_self();

  start_validate_task(&self->validate_tasks[0], pattern_0, PRIORITY_LOW);
  start_validate_task(&self->validate_tasks[1], pattern_1, PRIORITY_HIGH);
  start_timer(self);
  wait_for_finish();
}
Example #2
0
static void test(
  test_context *self,
  bool task_0_fpu,
  bool task_1_fpu,
  bool task_2_fpu
)
{
  rtems_status_code sc;
  uintptr_t pattern_0 = (uintptr_t) 0xaaaaaaaaaaaaaaaaU;
  uintptr_t pattern_1 = (uintptr_t) 0x5555555555555555U;
  uintptr_t pattern_2 = (uintptr_t) 0x0000000000000000U;

  memset(self, 0, sizeof(*self));

  self->control_task = rtems_task_self();
  start_validate_task(
    &self->validate_tasks[0],
    pattern_0,
    PRIORITY_HIGH,
    task_0_fpu
  );
  start_validate_task(
    &self->validate_tasks[1],
    pattern_1,
    PRIORITY_LOW,
    task_1_fpu
  );
  start_validate_task(
    &self->validate_tasks[2],
    pattern_2,
    PRIORITY_LOW,
    task_2_fpu
  );
  start_timer(self);
  wait_for_finish();

  sc = rtems_task_delete(self->validate_tasks[0]);
  rtems_test_assert(sc == RTEMS_SUCCESSFUL);

  sc = rtems_task_delete(self->validate_tasks[1]);
  rtems_test_assert(sc == RTEMS_SUCCESSFUL);

  sc = rtems_task_delete(self->validate_tasks[2]);
  rtems_test_assert(sc == RTEMS_SUCCESSFUL);

  sc = rtems_timer_delete(self->timer);
  rtems_test_assert(sc == RTEMS_SUCCESSFUL);
}