test suite reviews and discussions
 help / color / mirror / Atom feed
From: "Chen, Zhaoyan" <zhaoyan.chen@intel.com>
To: "dts@dpdk.org" <dts@dpdk.org>
Cc: "Chen, Zhaoyan" <zhaoyan.chen@intel.com>
Subject: [dts] DTS Enhancement Plan
Date: Wed, 24 Jul 2019 02:51:38 +0000	[thread overview]
Message-ID: <9DEEADBC57E43F4DA73B571777FECECA41D52001@SHSMSX104.ccr.corp.intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 3301 bytes --]

Hi, DTS developers/users,

With DPDK development rapidly, more and more test suites were developed in DTS. (150+ test suites and 3k+ test cases in DTS). Meanwhile, paralleling execution tests for NICs/crypto/other device on same DUT become important for reducing execution time for covering all test cases. So we plan to enhance the DTS, for

*        Improve test suite quality

*        Unified test capability/function into framework

*        Paralleling execution

So we draft a DTS development plan, and share with you.

Looking forward to hear your thoughts, ideas and suggestions.

/Zhaoyan

DTS framework enhancement
=========================

Unified packet sending for functionality test
              * Implement all packet sending features in Packet Class
              * Remove others sending functions in DTS framework
              * Sending packet from Tester only

Generic EAL options generator for DPDK based application
              * Generate EAL options for DPDK app, and consider the assigned hardware resource for test, instead of whole DUT
              * Test suite can overwrite the options, in restricted range
              * Define hardware resource in crb.cfg, port.cfg and pktgen.cfg

Global resource management
              * Global driver load or unload, vfio-pci, igb_uio, uio_pci_generic
              * Define a parameter to decside if insmod/rmmod, if the module updated. otherwise, keep this module on host.
              * External_memory setup
              * Define DUT's cores mask in crb configuration
              * Define DUT's ports mask
              * Define physical ports in crb config

Clean up unused APIs, unused imported libraries, and unused APIs
              * plotting.py, plotgraph.py, numpy, matplotlib
              * e.g. self.tester.run_rfc2544, has been replaced by pktgen class
              * Replace private texttable.py with public version

All-in-one configuration file
              * Support configure all information in one configuration file for easy using
              * yaml file is better

Prepare to move to Python 3, make code be compatible with py2 and py3

Generate auto-script for all DTS dependencies
              * Update requirements.txt
              * Generate script for binary dependencies for compilation python packages

Release DTS container version


Test Suites cleanness
=================

Move to new packet sending API
              * Update all tests, which generate packets and send packets

Move to generic EAL generator API
              * Update all tests which use DPDK based application with new EAL string

Clean up "sleep"
              * Replace "sleep" with a stable checking mechanism

Replace "pktgen app" with "testpmd app" for testing
              * pktgen app needs be built for special DPDK version and too heavy for a simple function test, replace it in test case with testpmd app
Clean up absolute path
              * Replace "/tmp" with "/tmp/<dts_pid_random>/", or relative path "tmp".
              * Replace specific OS path in test case

Clean up test case dependencies, (files, libraries or tools)
              * Check all test suites, and add dependencies into auto-script or requirements.txt


[-- Attachment #2: Type: text/html, Size: 14655 bytes --]

             reply	other threads:[~2019-07-24  2:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-24  2:51 Chen, Zhaoyan [this message]
2019-07-24  3:16 ` Liu, Yong
2019-07-25  2:57   ` Chen, Zhaoyan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9DEEADBC57E43F4DA73B571777FECECA41D52001@SHSMSX104.ccr.corp.intel.com \
    --to=zhaoyan.chen@intel.com \
    --cc=dts@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).