mbox

[V3,0/6] Rewrite test suite for checksum_offload, tso and vf_offload

Message ID 20230718023311.2480869-1-ke1.xu@intel.com (mailing list archive)
Headers

Message

Ke Xu July 18, 2023, 2:33 a.m. UTC
  Checksum offload cases were in bad situation. Cases are not well organized
 in structure. Cases were added one by one along with the development of
 features.

The very beginning cases are designed to verifying RX Checksum Offload
 enabling / disabling. The followed cases are to verify the TX Offload, and
 found a gap when TX introduces differences to IP and L4. Then IP and L4 RX
 cases are added again. There were also a gap found on the flag verifying
 and a seperate ol_flag case was added.

To better organizing the checksum offload cases. I introduced the scenario
 based common cases and specific cases named with sufix to cover specific
 scenarios of special requirements. And we placed all available test scopes
 introduced in any existing cases to each of our common test execution to
 ensure no leakage to our test scopes.

For scenarios, we introduce the very commonly used configurations for
 checksum as our test scenarios. These scenarios cover combined usage of HW
 checksum Offload, SW checksum and differently configured tunneling scenario,
 w/wo VLAN. These cases formed a organized web for future cases that if a new
 configuration is introduced, cases of new configuration combinations are to
 be added but existing configurations for different scopes are not to be added.

For test scopes, we introduce verifying ol_flag, fwd stats, other verbose lines,
 and forwarded packet capturing and analyzing. All these scopes are recorder for
 verifying in each common checksum offload execution. This ensures no scope would
 be missed in this rewrite and in future case updating.

The newly organized cases also helps better covering our existing test
 requirements. A common packet sending and recording helps cut down the repeating
 time cost of different executions for scope based redundant cases.

This rewrite also helps formating a data-process-seperated suite structure. The
 test parameters and required packets are listed in front and cases are referring
 to the configured parameters. This helps better reading the suite code.

In the test plan, new cases are added and old ones are merged with the new cases.
 Packets, ol_flags, stats and related test scopes are listed in table to show where
 the expected result is from.

Similar modifications are also made to TSO cases. Common TSO executions are introduced
 and scenarios are designed based on configurations with test scopes covering all
 cases. Common packets are introduced.

In vf_offload, checksum_offload and tso cases are synced with those in checksum_offload
 and tso suites. During the release DPDK 22.11 and 23.03, several main features are
 synced from PF to VF. This means the cases and scopes in checksum_offload and tso are
 available in vf_offload now. This patch also helped introducing these common test execution
 and scopes to vf_offload suite.

Generally speaking, this case rewrite helps formating the cases structure and helps
 better maintaining the cases in future.

Ke Xu (6):
  test_plans/checksum_offload: Refactor checksum_offload case.
  tests/checksum_offload: Refactor checksum_offload case.
  test_plans/tso: Refactor TSO case.
  tests/tso: Refactor TSO cases.
  test_plans/vf_offload: Refactor checksum_offload case.
  tests/vf_offload: Refactor vf_offload cases.

 test_plans/checksum_offload_test_plan.rst | 1478 ++++------
 test_plans/tso_test_plan.rst              |  489 +++-
 test_plans/vf_offload_test_plan.rst       | 1356 +++++----
 tests/TestSuite_checksum_offload.py       | 1790 ++++++------
 tests/TestSuite_tso.py                    | 1100 +++++---
 tests/TestSuite_vf_offload.py             | 3053 +++++++++++++--------
 6 files changed, 5371 insertions(+), 3895 deletions(-)