test suite reviews and discussions
 help / color / mirror / Atom feed
* [dts] DTS Enhancement Plan
@ 2019-07-24  2:51 Chen, Zhaoyan
  2019-07-24  3:16 ` Liu, Yong
  0 siblings, 1 reply; 3+ messages in thread
From: Chen, Zhaoyan @ 2019-07-24  2:51 UTC (permalink / raw)
  To: dts; +Cc: Chen, Zhaoyan

[-- 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 --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-07-25  2:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-24  2:51 [dts] DTS Enhancement Plan Chen, Zhaoyan
2019-07-24  3:16 ` Liu, Yong
2019-07-25  2:57   ` Chen, Zhaoyan

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).