One more issue

On 30.07.15 18:20, Balasubramanian Manoharan wrote:
Additional test suite is added to classification validation suite to test
individual PMRs. This suite will test the defined PMRs by configuring
pktio separately for every test case.

Signed-off-by: Balasubramanian Manoharan <bala.manoha...@linaro.org>
---
  helper/include/odp/helper/tcp.h                    |   4 +
  test/validation/classification/Makefile.am         |   2 +
  test/validation/classification/classification.c    |   5 +
  .../classification/odp_classification_common.c     | 200 +++++++
  .../classification/odp_classification_test_pmr.c   | 629 +++++++++++++++++++++
  .../classification/odp_classification_tests.c      | 116 +---
  .../classification/odp_classification_testsuites.h |   7 +
  7 files changed, 854 insertions(+), 109 deletions(-)
  create mode 100644 test/validation/classification/odp_classification_common.c
  create mode 100644 
test/validation/classification/odp_classification_test_pmr.c

diff --git a/helper/include/odp/helper/tcp.h b/helper/include/odp/helper/tcp.h
index defe422..b52784d 100644
--- a/helper/include/odp/helper/tcp.h
+++ b/helper/include/odp/helper/tcp.h
@@ -26,6 +26,10 @@ extern "C" {
   *  @{
   */

+/** TCP header length (Minimum Header length without options)*/
+/** If options field is added to TCP header then the correct header value
+should be updated by the application */
+#define ODPH_TCPHDR_LEN 20

  /** TCP header */
  typedef struct ODP_PACKED {
diff --git a/test/validation/classification/Makefile.am 
b/test/validation/classification/Makefile.am
index ba468fa..050d5e6 100644
--- a/test/validation/classification/Makefile.am
+++ b/test/validation/classification/Makefile.am
@@ -3,6 +3,8 @@ include ../Makefile.inc
  noinst_LTLIBRARIES = libclassification.la
  libclassification_la_SOURCES = odp_classification_basic.c \
                               odp_classification_tests.c \
+                              odp_classification_test_pmr.c \
+                              odp_classification_common.c \
                               classification.c

  bin_PROGRAMS = classification_main$(EXEEXT)
diff --git a/test/validation/classification/classification.c 
b/test/validation/classification/classification.c
index 2582aaa..aec0655 100644
--- a/test/validation/classification/classification.c
+++ b/test/validation/classification/classification.c
@@ -18,6 +18,11 @@ static CU_SuiteInfo classification_suites[] = {
                        .pInitFunc = classification_suite_init,
                        .pCleanupFunc = classification_suite_term,
        },
+       { .pName = "classification pmr tests",
+                       .pTests = classification_test_pmr,
+                       .pInitFunc = classification_test_pmr_init,
+                       .pCleanupFunc = classification_test_pmr_term,
+       },
        CU_SUITE_INFO_NULL,
  };

diff --git a/test/validation/classification/odp_classification_common.c 
b/test/validation/classification/odp_classification_common.c
new file mode 100644
index 0000000..db994c6
--- /dev/null
+++ b/test/validation/classification/odp_classification_common.c

................

+
+       /* set pkt sequence number */
+       cls_pkt_set_seq(pkt, flag_udp);
+
+       return pkt;
+}
diff --git a/test/validation/classification/odp_classification_test_pmr.c 
b/test/validation/classification/odp_classification_test_pmr.c
new file mode 100644
index 0000000..c18beaf
--- /dev/null
+++ b/test/validation/classification/odp_classification_test_pmr.c
@@ -0,0 +1,629 @@

...................

+
+static inline
+odp_queue_t queue_create(char *queuename, bool sched)
+{
+       odp_queue_t queue;
+
+       if (sched) {
+               odp_queue_param_t qparam;
+
+               qparam.sched.prio = ODP_SCHED_PRIO_HIGHEST;
+               qparam.sched.sync = ODP_SCHED_SYNC_NONE;
+               qparam.sched.group = ODP_SCHED_GROUP_ALL;
+
+               queue = odp_queue_create(queuename,
+                                        ODP_QUEUE_TYPE_SCHED,
+                                        &qparam);
+       } else {
+               queue = odp_queue_create(queuename,
+                                        ODP_QUEUE_TYPE_POLL,
+                                        NULL);
+       }
+
+       return queue;
+}
+
+static uint32_t cls_pkt_get_seq(odp_packet_t pkt)

I think it should be moved to common file also.

+{
+       uint32_t offset;
+       cls_test_packet_t data;
+
+       offset = odp_packet_l4_offset(pkt);
+       if (offset) {
+               odp_packet_copydata_out(pkt, offset + ODPH_UDPHDR_LEN,
+                                       sizeof(data), &data);

what in case of TCP? Incorrect seq num?

+
+               if (data.magic == DATA_MAGIC)
+                       return data.seq;
+       }
+
+       return TEST_SEQ_INVALID;
+}
+

.......

--
Regards,
Ivan Khoronzhuk
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to