On Thu, Apr 16, 2020 at 11:26:46AM +0000, Trahe, Fiona wrote: > > > > -----Original Message----- > > From: Akhil Goyal <akhil.go...@nxp.com> > > Sent: Thursday, April 16, 2020 11:25 AM > > To: Trahe, Fiona <fiona.tr...@intel.com>; Dybkowski, AdamX > > <adamx.dybkow...@intel.com>; > > dev@dpdk.org > > Cc: Shally Verma <shal...@marvell.com> > > Subject: RE: [PATCH v2 2/2] test/compress: im buffer too small - add unit > > tests > > > > Hi Fiona, > > > > > > Hi Akhil, > > > > > > > > > > > Hi Fiona/Adam, > > > > > > > > > This patch adds a new test suite for verification of the "internal > > > > > QAT IM buffer too small" case handling. These unit tests are > > > > > specific to the QAT PMD only - that's why they are contained in > > > > > a separate test suite. > > > > > > > > > > Signed-off-by: Adam Dybkowski <adamx.dybkow...@intel.com> > > > > > --- > > > > > > > > Why do we need to have separate testsuite for QAT? > > > > Can't we have a single one and based on capability of the driver, > > > > Determine which tests need to be skipped in case they are not supported. > > > > This would create a mess in the longer run just like cryptodev. > > > > > > > > Please fix this, we cannot take this patch as is. > > > > > > [Fiona] Yes, I understand your concern and we considered including in the > > > main > > > suite. > > > However these tests are not based on something that can be > > > checked in capabilities. They are tests to hone in on a specific corner > > > case > > > based on a QAT limitation in its intermediate buffer size. So some of the > > > tests are to validate that the recent changes we made in the PMD correctly > > > work around that limitation, but other tests are negative and expected to > > > fail > > > as provoking a corner-case that still exists. Other devices would > > > probably not fail > > > the same tests. > > > > Does that mean that all PMDs will pass with the newly added testcase which > > is for > > A corner case in QAT. If that is the case what is the issue in adding that > > in the main > > Test suite. It will get passed in all PMDs, isn't it? Am I missing > > something? > > > > I believe we should not have PMD specific test suites, rather it should be > > based on > > Capabilities to identify the cases which should be run for that particular > > PMD. > [Fiona] yes, several of the cases should pass on all PMDs. > So we could move those into the main suite. > But what to do about the negative tests? > Example: If a very large data buffer is passed to QAT to compress with dyn > compression, it will get > split in the PMD into many smaller requests to the hardware. However if the > number > of requests is bigger than can fit on the qp then this will never succeed. > The test > validates that the PMD behaves appropriately in this expected error case. > That same > case would probably not have an error on another device. Maybe we should just > leave out > such negative tests, but I find them useful as they validate the known > behaviour. > The buffer size used in the test is based on the known size QAT can handle > and the > corner case in which QAT will return an error. > > I see 4 options to handle this: > 1. Leave out those tests > 2. Use a qat-specific test suite only for negative cases which are > constructed based on specific qat internal meta-data. > 3. Include the negative tests in the main suite, but only run them on QAT (by > checking driver type) > 4. include the negative tests in the main suite, run them on all, expecting a > FAIL from QAT and a PASS from other devices. > > My preference is for 2. > But up to you. > While not something for this release, perhaps in future cryptodev could implement a "selftest()" callback API like rawdev does [1], which allows drivers to implement their own specific test cases too.
[1] http://doc.dpdk.org/api-20.02/rte__rawdev_8h.html#a776edaa7060fc6a9d66e00f84132e140