[rtems-central commit] spec: Test thread queue API change

Sebastian Huber sebh at rtems.org
Fri Sep 24 11:32:07 UTC 2021


Module:    rtems-central
Branch:    master
Commit:    071e3e10ceb38f2981a69b0948e44039418703d9
Changeset: http://git.rtems.org/rtems-central/commit/?id=071e3e10ceb38f2981a69b0948e44039418703d9

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Sep 21 08:27:40 2021 +0200

spec: Test thread queue API change

---

 spec/rtems/message/req/receive.yml    |  2 +-
 spec/rtems/sem/req/flush.yml          | 10 +++++-----
 spec/rtems/sem/req/obtain.yml         |  2 +-
 spec/rtems/sem/req/timeout.yml        |  2 +-
 spec/score/futex/req/wait.yml         |  2 +-
 spec/score/futex/req/wake.yml         |  2 +-
 spec/score/sem/req/seize-wait.yml     |  2 +-
 spec/score/tq/req/enqueue-ceiling.yml |  3 ++-
 spec/score/tq/req/enqueue-mrsp.yml    |  3 ++-
 9 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/spec/rtems/message/req/receive.yml b/spec/rtems/message/req/receive.yml
index a291895..6cbf78b 100644
--- a/spec/rtems/message/req/receive.yml
+++ b/spec/rtems/message/req/receive.yml
@@ -488,7 +488,7 @@ test-setup:
     memset( ctx, 0, sizeof( *ctx ) );
     ctx->magic                  = magic;
     ctx->tq_ctx.enqueue         = ReceiveMsg;
-    ctx->tq_ctx.surrender       = TQDoNothing;
+    ctx->tq_ctx.surrender       = TQDoNothingSuccessfully;
     ctx->tq_ctx.convert_status  = TQConvertStatusClassic;
     ctx->tq_ctx.enqueue_prepare = EnqueuePrepare;
     ctx->tq_ctx.enqueue_done    = EnqueueDone;
diff --git a/spec/rtems/sem/req/flush.yml b/spec/rtems/sem/req/flush.yml
index 76a3d37..1c6a396 100644
--- a/spec/rtems/sem/req/flush.yml
+++ b/spec/rtems/sem/req/flush.yml
@@ -74,7 +74,7 @@ pre-conditions:
       ctx->attribute_set |= RTEMS_BINARY_SEMAPHORE;
       ctx->initial_count = 1;
       ctx->tq_ctx.enqueue_prepare = EnqueuePrepare;
-      ctx->tq_ctx.enqueue_done = TQSurrenderClassicSem;
+      ctx->tq_ctx.enqueue_done = TQEnqueueDoneDefault;
     text: |
       While the semaphore object is a binary semaphore.
   - name: PrioCeiling
@@ -82,7 +82,7 @@ pre-conditions:
       ctx->attribute_set |= RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY_CEILING;
       ctx->initial_count = 1;
       ctx->tq_ctx.enqueue_prepare = EnqueuePrepare;
-      ctx->tq_ctx.enqueue_done = TQSurrenderClassicSem;
+      ctx->tq_ctx.enqueue_done = TQEnqueueDoneDefault;
     text: |
       While the semaphore object is a priority ceiling semaphore.
   - name: PrioInherit
@@ -90,7 +90,7 @@ pre-conditions:
       ctx->attribute_set |= RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY;
       ctx->initial_count = 1;
       ctx->tq_ctx.enqueue_prepare = EnqueuePrepare;
-      ctx->tq_ctx.enqueue_done = TQSurrenderClassicSem;
+      ctx->tq_ctx.enqueue_done = TQEnqueueDoneDefault;
     text: |
       While the semaphore object is a priority inheritance semaphore.
   - name: MrsP
@@ -99,7 +99,7 @@ pre-conditions:
         RTEMS_MULTIPROCESSOR_RESOURCE_SHARING;
       ctx->initial_count = 1;
       ctx->tq_ctx.enqueue_prepare = EnqueuePrepare;
-      ctx->tq_ctx.enqueue_done = TQSurrenderClassicSem;
+      ctx->tq_ctx.enqueue_done = TQEnqueueDoneDefault;
     text: |
       While the semaphore object is a MrsP semaphore.
   test-epilogue: null
@@ -199,7 +199,7 @@ test-setup:
     memset( ctx, 0, sizeof( *ctx ) );
     ctx->tq_ctx.enqueue = Enqueue;
     ctx->tq_ctx.flush = Flush;
-    ctx->tq_ctx.surrender = TQDoNothing;
+    ctx->tq_ctx.surrender = TQSurrenderClassicSem;
     ctx->tq_ctx.convert_status = TQConvertStatusClassic;
     TQInitialize( &ctx->tq_ctx );
   description: null
diff --git a/spec/rtems/sem/req/obtain.yml b/spec/rtems/sem/req/obtain.yml
index 2e0a3b3..2086c56 100644
--- a/spec/rtems/sem/req/obtain.yml
+++ b/spec/rtems/sem/req/obtain.yml
@@ -269,7 +269,7 @@ test-setup:
   code: |
     memset( ctx, 0, sizeof( *ctx ) );
     ctx->tq_ctx.enqueue_prepare = TQEnqueuePrepareDefault;
-    ctx->tq_ctx.enqueue_done = TQSurrenderClassicSem;
+    ctx->tq_ctx.enqueue_done = TQEnqueueDoneDefault;
     ctx->tq_ctx.enqueue = TQEnqueueClassicSem;
     ctx->tq_ctx.surrender = TQSurrenderClassicSem;
     ctx->tq_ctx.get_owner = TQGetOwnerClassicSem;
diff --git a/spec/rtems/sem/req/timeout.yml b/spec/rtems/sem/req/timeout.yml
index 3030343..5a31fa6 100644
--- a/spec/rtems/sem/req/timeout.yml
+++ b/spec/rtems/sem/req/timeout.yml
@@ -141,7 +141,7 @@ test-setup:
     memset( ctx, 0, sizeof( *ctx ) );
     ctx->tq_ctx.wait = TQ_WAIT_TIMED;
     ctx->tq_ctx.enqueue_prepare = TQEnqueuePrepareDefault;
-    ctx->tq_ctx.enqueue_done = TQSurrenderClassicSem;
+    ctx->tq_ctx.enqueue_done = TQEnqueueDoneDefault;
     ctx->tq_ctx.enqueue = TQEnqueueClassicSem;
     ctx->tq_ctx.surrender = TQSurrenderClassicSem;
     ctx->tq_ctx.convert_status = TQConvertStatusClassic;
diff --git a/spec/score/futex/req/wait.yml b/spec/score/futex/req/wait.yml
index 0f06eee..cd12e1b 100644
--- a/spec/score/futex/req/wait.yml
+++ b/spec/score/futex/req/wait.yml
@@ -108,7 +108,7 @@ test-setup:
     ctx->tq_ctx.enqueue_prepare = TQDoNothing;
     ctx->tq_ctx.enqueue = Enqueue;
     ctx->tq_ctx.enqueue_done = EnqueueDone;
-    ctx->tq_ctx.surrender = TQDoNothing;
+    ctx->tq_ctx.surrender = TQDoNothingSuccessfully;
     ctx->tq_ctx.convert_status = TQConvertStatusPOSIX;
     TQInitialize( &ctx->tq_ctx );
   description: null
diff --git a/spec/score/futex/req/wake.yml b/spec/score/futex/req/wake.yml
index aac9ad3..c7d4265 100644
--- a/spec/score/futex/req/wake.yml
+++ b/spec/score/futex/req/wake.yml
@@ -112,7 +112,7 @@ test-setup:
     ctx->tq_ctx.enqueue = Enqueue;
     ctx->tq_ctx.enqueue_done = TQDoNothing;
     ctx->tq_ctx.flush = Flush;
-    ctx->tq_ctx.surrender = TQDoNothing;
+    ctx->tq_ctx.surrender = TQDoNothingSuccessfully;
     ctx->tq_ctx.convert_status = TQConvertStatusPOSIX;
     TQInitialize( &ctx->tq_ctx );
   description: null
diff --git a/spec/score/sem/req/seize-wait.yml b/spec/score/sem/req/seize-wait.yml
index cbb5297..8df71d9 100644
--- a/spec/score/sem/req/seize-wait.yml
+++ b/spec/score/sem/req/seize-wait.yml
@@ -120,7 +120,7 @@ test-local-includes:
 - tr-tq-enqueue-priority.h
 test-prepare: |
   ctx->tq_ctx->base.enqueue_prepare = TQEnqueuePrepareDefault;
-  ctx->tq_ctx->base.enqueue_done = TQSurrenderClassicSem;
+  ctx->tq_ctx->base.enqueue_done = TQEnqueueDoneDefault;
   ctx->tq_ctx->base.get_properties = GetProperties;
 test-setup: null
 test-stop: null
diff --git a/spec/score/tq/req/enqueue-ceiling.yml b/spec/score/tq/req/enqueue-ceiling.yml
index 66dbe3e..9d68393 100644
--- a/spec/score/tq/req/enqueue-ceiling.yml
+++ b/spec/score/tq/req/enqueue-ceiling.yml
@@ -205,7 +205,8 @@ test-action: |
   status = TQEnqueue( ctx->tq_ctx, TQ_WAIT_FOREVER );
   T_eq_int( status, TQConvertStatus( ctx->tq_ctx, STATUS_SUCCESSFUL ) );
   TQSchedulerRecordStop( ctx->tq_ctx );
-  TQSurrender( ctx->tq_ctx );
+  status = TQSurrender( ctx->tq_ctx );
+  T_eq_int( status, TQConvertStatus( ctx->tq_ctx, STATUS_SUCCESSFUL ) );
 
   if (
     ctx->priority != PRIO_PSEUDO_ISR &&
diff --git a/spec/score/tq/req/enqueue-mrsp.yml b/spec/score/tq/req/enqueue-mrsp.yml
index 376297b..2708cab 100644
--- a/spec/score/tq/req/enqueue-mrsp.yml
+++ b/spec/score/tq/req/enqueue-mrsp.yml
@@ -231,7 +231,8 @@ test-action: |
   );
 
   TQSchedulerRecordStart( ctx->tq_ctx );
-  TQSurrender( ctx->tq_ctx );
+  status = TQSurrender( ctx->tq_ctx );
+  T_eq_int( status, TQConvertStatus( ctx->tq_ctx, STATUS_SUCCESSFUL ) );
   TQWaitForDone( ctx->tq_ctx, TQ_BLOCKER_A );
 
   if ( CanDoFullValidation() ) {



More information about the vc mailing list