From patchwork Thu Jan 29 15:32:39 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ola Liljedahl X-Patchwork-Id: 43943 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-lb0-f200.google.com (mail-lb0-f200.google.com [209.85.217.200]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 70D192410D for ; Thu, 29 Jan 2015 15:33:25 +0000 (UTC) Received: by mail-lb0-f200.google.com with SMTP id u10sf21221209lbd.3 for ; Thu, 29 Jan 2015 07:33:21 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:from:to:date:message-id:in-reply-to :references:subject:precedence:list-id:list-unsubscribe:list-archive :list-post:list-help:list-subscribe:mime-version:content-type :content-transfer-encoding:errors-to:sender:x-original-sender :x-original-authentication-results:mailing-list; bh=jBUccyVr8b1wLYGAhLiwBAVybLTQpOIx0+wrfb/RozU=; b=CbHu0YffKn2Fi57lJa4VN9DMANpS8vhOaGXcGDiZXz7yWiZ6WJodtbmMfAaUykV0mj tfaIB0fPHojv0iHoKhgBz1P6Ht5SEdp1vlAwK9COm2ruaBdKXzzBkLoydXcE5NMhFKb2 zrFiH/ogYfPAMIN9s159uV1LKe0woPusc8dqyrfNl+buEbgNkerLrHmgqG5PMvGlUMhL qINpCI1K76hV8SC8C4K7vOVd5D4hCKjugIt8Xe1EaX0GmS1NgmS6Gj3FzeFqQn96X9H6 N3yPje8lVEEwU9gZURo03Ej8qySu2vhEcTRgGgNTnFW0qWf3aJGSyXQ8o/oTMA/YHj8G 1+CQ== X-Gm-Message-State: ALoCoQlxaXTjWhbyFphodzjHYu6VbmXpDZwKDVoEPnEaegCQpF2dWus4HvD98lzEk9tb84TJgWG0 X-Received: by 10.152.36.168 with SMTP id r8mr191686laj.2.1422545601562; Thu, 29 Jan 2015 07:33:21 -0800 (PST) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.120.67 with SMTP id la3ls196508lab.25.gmail; Thu, 29 Jan 2015 07:33:21 -0800 (PST) X-Received: by 10.112.199.39 with SMTP id jh7mr1606849lbc.46.1422545601236; Thu, 29 Jan 2015 07:33:21 -0800 (PST) Received: from mail-lb0-f180.google.com (mail-lb0-f180.google.com. [209.85.217.180]) by mx.google.com with ESMTPS id a9si7759256lbc.44.2015.01.29.07.33.21 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 29 Jan 2015 07:33:21 -0800 (PST) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.217.180 as permitted sender) client-ip=209.85.217.180; Received: by mail-lb0-f180.google.com with SMTP id b6so29293779lbj.11 for ; Thu, 29 Jan 2015 07:33:21 -0800 (PST) X-Received: by 10.112.25.104 with SMTP id b8mr1430988lbg.69.1422545601053; Thu, 29 Jan 2015 07:33:21 -0800 (PST) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.35.133 with SMTP id h5csp1798707lbj; Thu, 29 Jan 2015 07:33:20 -0800 (PST) X-Received: by 10.140.85.9 with SMTP id m9mr2005779qgd.7.1422545599247; Thu, 29 Jan 2015 07:33:19 -0800 (PST) Received: from ip-10-35-177-41.ec2.internal (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTPS id k32si10557788qge.43.2015.01.29.07.33.17 (version=TLSv1 cipher=RC4-SHA bits=128/128); Thu, 29 Jan 2015 07:33:19 -0800 (PST) Received-SPF: none (google.com: lng-odp-bounces@lists.linaro.org does not designate permitted sender hosts) client-ip=54.225.227.206; Received: from localhost ([127.0.0.1] helo=ip-10-35-177-41.ec2.internal) by ip-10-35-177-41.ec2.internal with esmtp (Exim 4.76) (envelope-from ) id 1YGr5o-00044s-F6; Thu, 29 Jan 2015 15:33:16 +0000 Received: from mail-lb0-f174.google.com ([209.85.217.174]) by ip-10-35-177-41.ec2.internal with esmtp (Exim 4.76) (envelope-from ) id 1YGr5V-00042e-QJ for lng-odp@lists.linaro.org; Thu, 29 Jan 2015 15:32:57 +0000 Received: by mail-lb0-f174.google.com with SMTP id f15so29374133lbj.5 for ; Thu, 29 Jan 2015 07:32:52 -0800 (PST) X-Received: by 10.152.22.129 with SMTP id d1mr1647210laf.22.1422545572157; Thu, 29 Jan 2015 07:32:52 -0800 (PST) Received: from macmini.lan (78-82-118-111.tn.glocalnet.net. [78.82.118.111]) by mx.google.com with ESMTPSA id rv1sm2172650lbb.25.2015.01.29.07.32.51 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 29 Jan 2015 07:32:51 -0800 (PST) From: Ola Liljedahl To: lng-odp@lists.linaro.org Date: Thu, 29 Jan 2015 16:32:39 +0100 Message-Id: <1422545560-6466-5-git-send-email-ola.liljedahl@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1422545560-6466-1-git-send-email-ola.liljedahl@linaro.org> References: <1422545560-6466-1-git-send-email-ola.liljedahl@linaro.org> X-Topics: timers patch Subject: [lng-odp] [PATCHv4 4/5] validation: odp_timer.c: cunit cleanup X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: , List-Help: , List-Subscribe: , MIME-Version: 1.0 Errors-To: lng-odp-bounces@lists.linaro.org Sender: lng-odp-bounces@lists.linaro.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: ola.liljedahl@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.217.180 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 Use CU_ASSERT_FATAL instead of plain assert so to work better with the cunit test framework. Use LOG_DBG instead of printf. Remove some unnecessary printouts. Ensure we run at least one worker thread. Signed-off-by: Ola Liljedahl --- (This document/code contribution attached is provided under the terms of agreement LES-LTM-21309) test/validation/odp_timer.c | 52 ++++++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/test/validation/odp_timer.c b/test/validation/odp_timer.c index d24de2c..d78f6b6 100644 --- a/test/validation/odp_timer.c +++ b/test/validation/odp_timer.c @@ -10,7 +10,6 @@ /* For rand_r and nanosleep */ #define _POSIX_C_SOURCE 200112L -#include #include #include #include @@ -54,8 +53,7 @@ struct test_timer { /* @private Handle a received (timeout) event */ static void handle_tmo(odp_event_t ev, bool stale, uint64_t prev_tick) { - /* Use assert() for internal correctness checks of test program */ - assert(ev != ODP_EVENT_INVALID); + CU_ASSERT_FATAL(ev != ODP_EVENT_INVALID); /* Internal error */ if (odp_event_type(ev) != ODP_EVENT_TIMEOUT) { /* Not a timeout event */ CU_FAIL("Unexpected event type received"); @@ -87,7 +85,7 @@ static void handle_tmo(odp_event_t ev, bool stale, uint64_t prev_tick) CU_FAIL("Wrong status (stale) for fresh timeout"); /* Fresh timeout => local timer must have matching tick */ if (ttp != NULL && ttp->tick != tick) { - printf("Wrong tick: expected %"PRIu64" actual %"PRIu64"\n", + LOG_DBG("Wrong tick: expected %"PRIu64" actual %"PRIu64"\n", ttp->tick, tick); CU_FAIL("odp_timeout_tick() wrong tick"); } @@ -233,14 +231,14 @@ static void *worker_entrypoint(void *arg) CU_FAIL("odp_timer_free"); } - printf("Thread %u: %u timers set\n", thr, nset); - printf("Thread %u: %u timers reset\n", thr, nreset); - printf("Thread %u: %u timers cancelled\n", thr, ncancel); - printf("Thread %u: %u timers reset/cancelled too late\n", - thr, ntoolate); - printf("Thread %u: %u timeouts received\n", thr, nrcv); - printf("Thread %u: %u stale timeout(s) after odp_timer_free()\n", - thr, nstale); + LOG_DBG("Thread %u: %u timers set\n", thr, nset); + LOG_DBG("Thread %u: %u timers reset\n", thr, nreset); + LOG_DBG("Thread %u: %u timers cancelled\n", thr, ncancel); + LOG_DBG("Thread %u: %u timers reset/cancelled too late\n", + thr, ntoolate); + LOG_DBG("Thread %u: %u timeouts received\n", thr, nrcv); + LOG_DBG("Thread %u: %u stale timeout(s) after odp_timer_free()\n", + thr, nstale); /* Delay some more to ensure timeouts for expired timers can be * received */ @@ -264,7 +262,7 @@ static void *worker_entrypoint(void *arg) if (ev != ODP_EVENT_INVALID) CU_FAIL("Unexpected event received"); - printf("Thread %u: exiting\n", thr); + LOG_DBG("Thread %u: exiting\n", thr); return NULL; } @@ -273,9 +271,13 @@ static void test_odp_timer_all(void) { odp_pool_param_t params; odp_timer_pool_param_t tparam; - /* This is a stressfull test - need to reserve some cpu cycles - * @TODO move to test/performance */ - int num_workers = min(odp_sys_cpu_count()-1, MAX_WORKERS); + /* Reserve at least one core for running other processes so the timer + * test hopefully can run undisturbed and thus get better timing + * results. */ + int num_workers = min(odp_sys_cpu_count() - 1, MAX_WORKERS); + /* On a single-CPU machine run at least one thread */ + if (num_workers < 1) + num_workers = 1; /* Create timeout pools */ params.tmo.num = (NTIMERS + 1) * num_workers; @@ -309,19 +311,11 @@ static void test_odp_timer_all(void) CU_ASSERT(tpinfo.param.res_ns == RES); CU_ASSERT(tpinfo.param.min_tmo == MIN); CU_ASSERT(tpinfo.param.max_tmo == MAX); - printf("Timer pool\n"); - printf("----------\n"); - printf(" name: %s\n", tpinfo.name); - printf(" resolution: %"PRIu64" ns (%"PRIu64" us)\n", - tpinfo.param.res_ns, tpinfo.param.res_ns / 1000); - printf(" min tmo: %"PRIu64" ns\n", tpinfo.param.min_tmo); - printf(" max tmo: %"PRIu64" ns\n", tpinfo.param.max_tmo); - printf("\n"); - - printf("#timers..: %u\n", NTIMERS); - printf("Tmo range: %u ms (%"PRIu64" ticks)\n", RANGE_MS, - odp_timer_ns_to_tick(tp, 1000000ULL * RANGE_MS)); - printf("\n"); + CU_ASSERT(strcmp(tpinfo.name, NAME) == 0); + + LOG_DBG("#timers..: %u\n", NTIMERS); + LOG_DBG("Tmo range: %u ms (%"PRIu64" ticks)\n", RANGE_MS, + odp_timer_ns_to_tick(tp, 1000000ULL * RANGE_MS)); uint64_t tick; for (tick = 0; tick < 1000000000000ULL; tick += 1000000ULL) {