Re: [lng-odp] [PATCH v2] validation: add odp_system test

2014-12-15 Thread Mike Holmes
On 15 December 2014 at 01:35, Jerin Jacob jerin.ja...@caviumnetworks.com
wrote:

 On Fri, Dec 12, 2014 at 03:40:29PM -0500, Mike Holmes wrote:
  Add tests for ODP system_info interface
 
  Signed-off-by: Mike Holmes mike.hol...@linaro.org
  ---
 
  This api has poor documentaion, these testis attempt to do something
 sensible
  against linux-generic in its present form.
 
   test/validation/.gitignore   |  1 +
   test/validation/Makefile.am  |  4 ++-
   test/validation/odp_system.c | 73
 
   3 files changed, 77 insertions(+), 1 deletion(-)
   create mode 100644 test/validation/odp_system.c
 
  diff --git a/test/validation/.gitignore b/test/validation/.gitignore
  index 32834ae..a388488 100644
  --- a/test/validation/.gitignore
  +++ b/test/validation/.gitignore
  @@ -5,3 +5,4 @@ odp_queue
   odp_crypto
   odp_schedule
   odp_shm
  +odp_system
  diff --git a/test/validation/Makefile.am b/test/validation/Makefile.am
  index d0b5426..98376b9 100644
  --- a/test/validation/Makefile.am
  +++ b/test/validation/Makefile.am
  @@ -6,7 +6,7 @@ AM_LDFLAGS += -static
   if ODP_CUNIT_ENABLED
   TESTS = ${bin_PROGRAMS}
   check_PROGRAMS = ${bin_PROGRAMS}
  -bin_PROGRAMS = odp_init odp_queue odp_crypto odp_shm odp_schedule
  +bin_PROGRAMS = odp_init odp_queue odp_crypto odp_shm odp_schedule
 odp_system
   odp_init_LDFLAGS = $(AM_LDFLAGS)
   odp_queue_LDFLAGS = $(AM_LDFLAGS)
   odp_crypto_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/crypto
  @@ -15,6 +15,7 @@ odp_shm_CFLAGS = $(AM_CFLAGS)
   odp_shm_LDFLAGS = $(AM_LDFLAGS)
   odp_schedule_CFLAGS = $(AM_CFLAGS)
   odp_schedule_LDFLAGS = $(AM_LDFLAGS)
  +odp_system_LDFLAGS = $(AM_LDFLAGS)
   endif
 
   dist_odp_init_SOURCES = odp_init.c
  @@ -25,6 +26,7 @@ dist_odp_crypto_SOURCES =
 crypto/odp_crypto_test_async_inp.c \
  odp_crypto.c common/odp_cunit_common.c
   dist_odp_shm_SOURCES = odp_shm.c common/odp_cunit_common.c
   dist_odp_schedule_SOURCES = odp_schedule.c common/odp_cunit_common.c
  +dist_odp_system_SOURCES = odp_system.c common/odp_cunit_common.c
 
   #For Linux generic the unimplemented crypto API functions break the
   #regression TODO: https://bugs.linaro.org/show_bug.cgi?id=975
  diff --git a/test/validation/odp_system.c b/test/validation/odp_system.c
  new file mode 100644
  index 000..dfad677
  --- /dev/null
  +++ b/test/validation/odp_system.c
  @@ -0,0 +1,73 @@
  +/* Copyright (c) 2014, Linaro Limited
  + * All rights reserved.
  + *
  + * SPDX-License-Identifier: BSD-3-Clause
  + */
  +
  +#include odp.h
  +#include odp_cunit_common.h
  +
  +static void test_odp_sys_core_count(void)
  +{
  + int cores;
  +
  + cores = odp_sys_core_count();
  + CU_ASSERT(0  cores);
  +}
  +
  +static void test_odp_sys_cache_line_size(void)
  +{
  + int cache_size;
  +
  + cache_size = odp_sys_cache_line_size();
  + CU_ASSERT(0  cache_size);

 May be we can add one more assert here,
 CU_ASSERT(ODP_CACHE_LINE_SIZE == cache_size)


Will fix, linux-generic already does this check already, I will take
another pass at trying to get the documentation for these functions to
describe their behaviour. Presumably all implementations to perform this
check at init time ?


  +}
  +
  +static void test_odp_sys_cpu_model_str(void)
  +{
  + char model[128];
  +
  + snprintf(model, 128, %s, odp_sys_cpu_model_str());
  + CU_ASSERT(strlen(model) = 127);
  + CU_ASSERT_PTR_NOT_NULL(odp_sys_cpu_model_str());
  +}
  +
  +static void test_odp_sys_page_size(void)
  +{
  + uint64_t page;
  +
  + page = odp_sys_page_size();
  + CU_ASSERT(0  page);
  +}
  +
  +static void test_odp_sys_huge_page_size(void)
  +{
  + uint64_t page;
  +
  + page = odp_sys_huge_page_size();
  + CU_ASSERT(0  page || 0 == page);
  +}
  +
  +static void test_odp_sys_cpu_hz(void)
  +{
  + uint64_t hz;
  +
  + hz = odp_sys_cpu_hz();
  + CU_ASSERT(0  hz);
  +}
  +
  +CU_TestInfo test_odp_system[] = {
  + {odp_sys_core_count,  test_odp_sys_core_count},
  + {odp_sys_cache_line_size,  test_odp_sys_cache_line_size},
  + {odp_sys_cpu_model_str,  test_odp_sys_cpu_model_str},
  + {odp_sys_page_size,  test_odp_sys_page_size},
  + {odp_sys_huge_page_size,  test_odp_sys_huge_page_size},
  + {odp_sys_cpu_hz,  test_odp_sys_cpu_hz},
  + CU_TEST_INFO_NULL,
  +};
  +
  +CU_SuiteInfo odp_testsuites[] = {
  + {System Info, NULL, NULL, NULL, NULL,
  +  test_odp_system},
  +  CU_SUITE_INFO_NULL,
  +};
  --
  2.1.0
 
 
  ___
  lng-odp mailing list
  lng-odp@lists.linaro.org
  http://lists.linaro.org/mailman/listinfo/lng-odp



-- 
*Mike Holmes*
Linaro  Sr Technical Manager
LNG - ODP
___
lng-odp mailing list
lng-odp@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/lng-odp


Re: [lng-odp] [PATCH v2] validation: add odp_system test

2014-12-14 Thread Jerin Jacob
On Fri, Dec 12, 2014 at 03:40:29PM -0500, Mike Holmes wrote:
 Add tests for ODP system_info interface
 
 Signed-off-by: Mike Holmes mike.hol...@linaro.org
 ---
 
 This api has poor documentaion, these testis attempt to do something sensible
 against linux-generic in its present form.
 
  test/validation/.gitignore   |  1 +
  test/validation/Makefile.am  |  4 ++-
  test/validation/odp_system.c | 73 
 
  3 files changed, 77 insertions(+), 1 deletion(-)
  create mode 100644 test/validation/odp_system.c
 
 diff --git a/test/validation/.gitignore b/test/validation/.gitignore
 index 32834ae..a388488 100644
 --- a/test/validation/.gitignore
 +++ b/test/validation/.gitignore
 @@ -5,3 +5,4 @@ odp_queue
  odp_crypto
  odp_schedule
  odp_shm
 +odp_system
 diff --git a/test/validation/Makefile.am b/test/validation/Makefile.am
 index d0b5426..98376b9 100644
 --- a/test/validation/Makefile.am
 +++ b/test/validation/Makefile.am
 @@ -6,7 +6,7 @@ AM_LDFLAGS += -static
  if ODP_CUNIT_ENABLED
  TESTS = ${bin_PROGRAMS}
  check_PROGRAMS = ${bin_PROGRAMS}
 -bin_PROGRAMS = odp_init odp_queue odp_crypto odp_shm odp_schedule
 +bin_PROGRAMS = odp_init odp_queue odp_crypto odp_shm odp_schedule odp_system
  odp_init_LDFLAGS = $(AM_LDFLAGS)
  odp_queue_LDFLAGS = $(AM_LDFLAGS)
  odp_crypto_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/crypto
 @@ -15,6 +15,7 @@ odp_shm_CFLAGS = $(AM_CFLAGS)
  odp_shm_LDFLAGS = $(AM_LDFLAGS)
  odp_schedule_CFLAGS = $(AM_CFLAGS)
  odp_schedule_LDFLAGS = $(AM_LDFLAGS)
 +odp_system_LDFLAGS = $(AM_LDFLAGS)
  endif
  
  dist_odp_init_SOURCES = odp_init.c
 @@ -25,6 +26,7 @@ dist_odp_crypto_SOURCES = 
 crypto/odp_crypto_test_async_inp.c \
 odp_crypto.c common/odp_cunit_common.c
  dist_odp_shm_SOURCES = odp_shm.c common/odp_cunit_common.c
  dist_odp_schedule_SOURCES = odp_schedule.c common/odp_cunit_common.c
 +dist_odp_system_SOURCES = odp_system.c common/odp_cunit_common.c
  
  #For Linux generic the unimplemented crypto API functions break the
  #regression TODO: https://bugs.linaro.org/show_bug.cgi?id=975
 diff --git a/test/validation/odp_system.c b/test/validation/odp_system.c
 new file mode 100644
 index 000..dfad677
 --- /dev/null
 +++ b/test/validation/odp_system.c
 @@ -0,0 +1,73 @@
 +/* Copyright (c) 2014, Linaro Limited
 + * All rights reserved.
 + *
 + * SPDX-License-Identifier: BSD-3-Clause
 + */
 +
 +#include odp.h
 +#include odp_cunit_common.h
 +
 +static void test_odp_sys_core_count(void)
 +{
 + int cores;
 +
 + cores = odp_sys_core_count();
 + CU_ASSERT(0  cores);
 +}
 +
 +static void test_odp_sys_cache_line_size(void)
 +{
 + int cache_size;
 +
 + cache_size = odp_sys_cache_line_size();
 + CU_ASSERT(0  cache_size);

May be we can add one more assert here,
CU_ASSERT(ODP_CACHE_LINE_SIZE == cache_size)


 +}
 +
 +static void test_odp_sys_cpu_model_str(void)
 +{
 + char model[128];
 +
 + snprintf(model, 128, %s, odp_sys_cpu_model_str());
 + CU_ASSERT(strlen(model) = 127);
 + CU_ASSERT_PTR_NOT_NULL(odp_sys_cpu_model_str());
 +}
 +
 +static void test_odp_sys_page_size(void)
 +{
 + uint64_t page;
 +
 + page = odp_sys_page_size();
 + CU_ASSERT(0  page);
 +}
 +
 +static void test_odp_sys_huge_page_size(void)
 +{
 + uint64_t page;
 +
 + page = odp_sys_huge_page_size();
 + CU_ASSERT(0  page || 0 == page);
 +}
 +
 +static void test_odp_sys_cpu_hz(void)
 +{
 + uint64_t hz;
 +
 + hz = odp_sys_cpu_hz();
 + CU_ASSERT(0  hz);
 +}
 +
 +CU_TestInfo test_odp_system[] = {
 + {odp_sys_core_count,  test_odp_sys_core_count},
 + {odp_sys_cache_line_size,  test_odp_sys_cache_line_size},
 + {odp_sys_cpu_model_str,  test_odp_sys_cpu_model_str},
 + {odp_sys_page_size,  test_odp_sys_page_size},
 + {odp_sys_huge_page_size,  test_odp_sys_huge_page_size},
 + {odp_sys_cpu_hz,  test_odp_sys_cpu_hz},
 + CU_TEST_INFO_NULL,
 +};
 +
 +CU_SuiteInfo odp_testsuites[] = {
 + {System Info, NULL, NULL, NULL, NULL,
 +  test_odp_system},
 +  CU_SUITE_INFO_NULL,
 +};
 -- 
 2.1.0
 
 
 ___
 lng-odp mailing list
 lng-odp@lists.linaro.org
 http://lists.linaro.org/mailman/listinfo/lng-odp

___
lng-odp mailing list
lng-odp@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/lng-odp


[lng-odp] [PATCH v2] validation: add odp_system test

2014-12-12 Thread Mike Holmes
Add tests for ODP system_info interface

Signed-off-by: Mike Holmes mike.hol...@linaro.org
---

This api has poor documentaion, these testis attempt to do something sensible
against linux-generic in its present form.

 test/validation/.gitignore   |  1 +
 test/validation/Makefile.am  |  4 ++-
 test/validation/odp_system.c | 73 
 3 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 test/validation/odp_system.c

diff --git a/test/validation/.gitignore b/test/validation/.gitignore
index 32834ae..a388488 100644
--- a/test/validation/.gitignore
+++ b/test/validation/.gitignore
@@ -5,3 +5,4 @@ odp_queue
 odp_crypto
 odp_schedule
 odp_shm
+odp_system
diff --git a/test/validation/Makefile.am b/test/validation/Makefile.am
index d0b5426..98376b9 100644
--- a/test/validation/Makefile.am
+++ b/test/validation/Makefile.am
@@ -6,7 +6,7 @@ AM_LDFLAGS += -static
 if ODP_CUNIT_ENABLED
 TESTS = ${bin_PROGRAMS}
 check_PROGRAMS = ${bin_PROGRAMS}
-bin_PROGRAMS = odp_init odp_queue odp_crypto odp_shm odp_schedule
+bin_PROGRAMS = odp_init odp_queue odp_crypto odp_shm odp_schedule odp_system
 odp_init_LDFLAGS = $(AM_LDFLAGS)
 odp_queue_LDFLAGS = $(AM_LDFLAGS)
 odp_crypto_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/crypto
@@ -15,6 +15,7 @@ odp_shm_CFLAGS = $(AM_CFLAGS)
 odp_shm_LDFLAGS = $(AM_LDFLAGS)
 odp_schedule_CFLAGS = $(AM_CFLAGS)
 odp_schedule_LDFLAGS = $(AM_LDFLAGS)
+odp_system_LDFLAGS = $(AM_LDFLAGS)
 endif
 
 dist_odp_init_SOURCES = odp_init.c
@@ -25,6 +26,7 @@ dist_odp_crypto_SOURCES = crypto/odp_crypto_test_async_inp.c \
  odp_crypto.c common/odp_cunit_common.c
 dist_odp_shm_SOURCES = odp_shm.c common/odp_cunit_common.c
 dist_odp_schedule_SOURCES = odp_schedule.c common/odp_cunit_common.c
+dist_odp_system_SOURCES = odp_system.c common/odp_cunit_common.c
 
 #For Linux generic the unimplemented crypto API functions break the
 #regression TODO: https://bugs.linaro.org/show_bug.cgi?id=975
diff --git a/test/validation/odp_system.c b/test/validation/odp_system.c
new file mode 100644
index 000..dfad677
--- /dev/null
+++ b/test/validation/odp_system.c
@@ -0,0 +1,73 @@
+/* Copyright (c) 2014, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include odp.h
+#include odp_cunit_common.h
+
+static void test_odp_sys_core_count(void)
+{
+   int cores;
+
+   cores = odp_sys_core_count();
+   CU_ASSERT(0  cores);
+}
+
+static void test_odp_sys_cache_line_size(void)
+{
+   int cache_size;
+
+   cache_size = odp_sys_cache_line_size();
+   CU_ASSERT(0  cache_size);
+}
+
+static void test_odp_sys_cpu_model_str(void)
+{
+   char model[128];
+
+   snprintf(model, 128, %s, odp_sys_cpu_model_str());
+   CU_ASSERT(strlen(model) = 127);
+   CU_ASSERT_PTR_NOT_NULL(odp_sys_cpu_model_str());
+}
+
+static void test_odp_sys_page_size(void)
+{
+   uint64_t page;
+
+   page = odp_sys_page_size();
+   CU_ASSERT(0  page);
+}
+
+static void test_odp_sys_huge_page_size(void)
+{
+   uint64_t page;
+
+   page = odp_sys_huge_page_size();
+   CU_ASSERT(0  page || 0 == page);
+}
+
+static void test_odp_sys_cpu_hz(void)
+{
+   uint64_t hz;
+
+   hz = odp_sys_cpu_hz();
+   CU_ASSERT(0  hz);
+}
+
+CU_TestInfo test_odp_system[] = {
+   {odp_sys_core_count,  test_odp_sys_core_count},
+   {odp_sys_cache_line_size,  test_odp_sys_cache_line_size},
+   {odp_sys_cpu_model_str,  test_odp_sys_cpu_model_str},
+   {odp_sys_page_size,  test_odp_sys_page_size},
+   {odp_sys_huge_page_size,  test_odp_sys_huge_page_size},
+   {odp_sys_cpu_hz,  test_odp_sys_cpu_hz},
+   CU_TEST_INFO_NULL,
+};
+
+CU_SuiteInfo odp_testsuites[] = {
+   {System Info, NULL, NULL, NULL, NULL,
+test_odp_system},
+CU_SUITE_INFO_NULL,
+};
-- 
2.1.0


___
lng-odp mailing list
lng-odp@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/lng-odp