The cover letter says: “The series applies on top of [PATCHv5 1/3] validation: 
schedule: free
queues and pool".

It’s based on Ciprian’s patch, which should be merged today.

-Petri



From: ext Bill Fischofer [mailto:[email protected]]
Sent: Tuesday, March 24, 2015 2:21 AM
To: Savolainen, Petri (Nokia - FI/Espoo)
Cc: LNG ODP Mailman List
Subject: Re: [lng-odp] [PATCH 3/4] validation: schedule: added queue destroy 
test

This patch fails to apply to current tip. Looks like struct CU_TestInfo 
schd_tests[] has been renamed to test_odp_schedule[]

Bill

On Mon, Mar 23, 2015 at 9:42 AM, Petri Savolainen 
<[email protected]<mailto:[email protected]>> wrote:
The test creates one queue of each schedule sync type and
destroys those.

Signed-off-by: Petri Savolainen 
<[email protected]<mailto:[email protected]>>
---
 test/validation/odp_schedule.c | 64 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/test/validation/odp_schedule.c b/test/validation/odp_schedule.c
index b86f997..8cea798 100644
--- a/test/validation/odp_schedule.c
+++ b/test/validation/odp_schedule.c
@@ -33,6 +33,7 @@
 #define DISABLE_EXCL_ATOMIC    0
 #define ENABLE_EXCL_ATOMIC     1

+#define MAGIC                   0xdeadbeef

 /* Test global variables */
 typedef struct {
@@ -80,6 +81,68 @@ static void test_schedule_num_prio(void)
        CU_ASSERT(prio == odp_schedule_num_prio());
 }

+static void test_schedule_queue_destroy(void)
+{
+       odp_pool_t p;
+       odp_pool_param_t params;
+       odp_queue_param_t qp;
+       odp_queue_t queue, from;
+       odp_buffer_t buf;
+       odp_event_t ev;
+       uint32_t *u32;
+       int i;
+       odp_schedule_sync_t sync[] = {ODP_SCHED_SYNC_NONE,
+                                     ODP_SCHED_SYNC_ATOMIC,
+                                     ODP_SCHED_SYNC_ORDERED};
+
+       params.buf.size  = 100;
+       params.buf.align = 0;
+       params.buf.num   = 1;
+       params.type      = ODP_POOL_BUFFER;
+
+       p = odp_pool_create("sched_destroy_pool", ODP_SHM_NULL, &params);
+
+       CU_ASSERT_FATAL(p != ODP_POOL_INVALID);
+
+       for (i = 0; i < 3; i++) {
+               qp.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
+               qp.sched.group = ODP_SCHED_GROUP_DEFAULT;
+               qp.sched.sync  = sync[i];
+
+               queue = odp_queue_create("sched_destroy_queue",
+                                        ODP_QUEUE_TYPE_SCHED, &qp);
+
+               CU_ASSERT_FATAL(queue != ODP_QUEUE_INVALID);
+
+               buf = odp_buffer_alloc(p);
+
+               CU_ASSERT_FATAL(buf != ODP_BUFFER_INVALID);
+
+               u32 = odp_buffer_addr(buf);
+               u32[0] = MAGIC;
+
+               ev = odp_buffer_to_event(buf);
+               CU_ASSERT(odp_queue_enq(queue, ev) == 0);
+
+               ev = odp_schedule(&from, ODP_SCHED_WAIT);
+
+               CU_ASSERT_FATAL(ev != ODP_EVENT_INVALID);
+
+               CU_ASSERT_FATAL(from == queue);
+
+               buf = odp_buffer_from_event(ev);
+               u32 = odp_buffer_addr(buf);
+
+               CU_ASSERT_FATAL(u32[0] == MAGIC);
+
+               odp_buffer_free(buf);
+
+               CU_ASSERT_FATAL(odp_queue_destroy(queue) == 0);
+       }
+
+       CU_ASSERT_FATAL(odp_pool_destroy(p) == 0);
+}
+
 static void *schedule_common_(void *arg)
 {
        thread_args_t *args = (thread_args_t *)arg;
@@ -678,6 +741,7 @@ static int schd_suite_term(void)
 struct CU_TestInfo schd_tests[] = {
        {"schedule_wait_time",          test_schedule_wait_time},
        {"schedule_num_prio",           test_schedule_num_prio},
+       {"schedule_queue_destroy",      test_schedule_queue_destroy},
        {"schedule_1q_1t_n",            test_schedule_1q_1t_n},
        {"schedule_1q_1t_a",            test_schedule_1q_1t_a},
        {"schedule_1q_1t_o",            test_schedule_1q_1t_o},
--
2.3.3


_______________________________________________
lng-odp mailing list
[email protected]<mailto:[email protected]>
http://lists.linaro.org/mailman/listinfo/lng-odp

_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to