From: "Liu, Yong" <yong.liu@intel.com>
To: "Xu, HuilongX" <huilongx.xu@intel.com>, "dts@dpdk.org" <dts@dpdk.org>
Subject: Re: [dts] [PATCH 0/4] compile dpdk different config with different test suite by dts framework befor run test suite
Date: Sat, 1 Apr 2017 08:54:22 +0000 [thread overview]
Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E62DA36B2@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: <DF2A19295B96364286FEB7F3DDA27A4668D776BB@SHSMSX101.ccr.corp.intel.com>
Huilong, thanks for your comments.
> -----Original Message-----
> From: Xu, HuilongX
> Sent: Saturday, April 01, 2017 4:32 PM
> To: Liu, Yong <yong.liu@intel.com>; dts@dpdk.org
> Subject: RE: [dts] [PATCH 0/4] compile dpdk different config with
> different test suite by dts framework befor run test suite
>
>
> See my comments
>
> > -----Original Message-----
> > From: Liu, Yong
> > Sent: Saturday, April 01, 2017 4:21 PM
> > To: Xu, HuilongX; dts@dpdk.org
> > Cc: Xu, HuilongX
> > Subject: RE: [dts] [PATCH 0/4] compile dpdk different config with
> different
> > test suite by dts framework befor run test suite
> >
> > Thanks huilong. The overall idea look good for me. Just some comments as
> > below:
> >
> > 1. Configuration dependency should be based on test case not suite.
> > Configuration requirements maybe changed even in one suite.
> If config dependency test case, must get all case name, but if case name
> same, maybe have issue.
That can be solved like reformat cases names to make sure name different from each other.
Or compile configuration format changed to "suite+case".
>
> > 2. No need to compile all compile sessions. If cases not in execution
> list, we
> > can skip it. It will save more time :)
> The config is global, if test suite not in exection.cfg, the compile
> session will skip.
Thanks, we need to skip useless build.
>
> 3. Assume that suite can remove all dpdk
> > build related code, cause of framework can make case not aware of
> > configuration dependencies.
> Maybe can savel compile switch in target result, but it only for check.
> Because, when we development a case.
> We should know compile switch config and compile.cfg is static and global.
> So not need know dependencies.
> >
Configuration dependencies have been tracked by compile.cfg. Compilation and link action can be handled in framework.
Test case code can ignore or discard DPDK configuration difference.
Logic will be like:
Compile config: tracking all configuration dependencies
DTS init:
Load compile config
Load execution config
Build dpdk with default configuration
If execution cases need in compile configuration
Build dpdk with modified configuration file
Build app with modified configuration file
Move built target to other folder
Move built binary to other folder
DTS run test Case:
If case need special configuration
Link compile session target for this case to default target
Link app for this case to default folder
Run test case
After case finished, remove that link and restore default target back
If case not need special configuration
Just run the case(original dpdk recompile code should also work here)
> > Thanks,
> > Marvin
> >
> > > -----Original Message-----
> > > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of xu,huilong
> > > Sent: Saturday, April 01, 2017 3:42 PM
> > > To: dts@dpdk.org
> > > Cc: Xu, HuilongX <huilongx.xu@intel.com>
> > > Subject: [dts] [PATCH 0/4] compile dpdk different config with
> > > different test suite by dts framework befor run test suite
> > >
> > > we should compile dpdk many times for different test suite.
> > > if we exec a test suite must update dpdk compile suite or change dpdk
> > > code, we must cpmpile dpdk two times at least.
> > > So this change for read exec test_suite list and compile dpdk befor
> > > run test suite.
> > >
> > > update list:
> > > 1. conf/common_base
> > > this is dpdk all compile switch from dpdk source code. it for
> > > check compile.cfg switch vaild.
> > > 2. conf/compile.cfg
> > > compile config template, detaile config please see comments in
> > > file 3. framework/config.py
> > > parse compile.cfg, detaile info please see comments in commit 4.
> > > framework/project_dpdk.py
> > > a)define interface for test suit:
> > > reset_compile_target()
> > > b) read compile conf and get test suite list, then update compile
> > > switch and compile dpdk 5. framework/dts.py
> > > set test suite list
> > > 6. tests/TestSuite_coremask.py and
> tests/TestSuite_queue_start_stop.py
> > > example for use compile config.
> > > Now old interface for compile dpdk is vaild, so other case will also
> > > run pass.
> > >
> > > xu,huilong (4):
> > > add dpdk all compile switch
> > > add compile config file template and parse compile config class
> > > read compile switch config and compile dpdk before test
> > > add example for test suite
> > >
> > > conf/common_base | 632
> > > ++++++++++++++++++++++++++++++++++++
> > > conf/compile.cfg | 30 ++
> > > framework/config.py | 21 +-
> > > framework/dts.py | 2 +-
> > > framework/project_dpdk.py | 103 +++++-
> > > tests/TestSuite_coremask.py | 12 +-
> > > tests/TestSuite_queue_start_stop.py | 28 +-
> > > 7 files changed, 789 insertions(+), 39 deletions(-) create mode
> > > 100644 conf/common_base create mode 100644 conf/compile.cfg
> > >
> > > --
> > > 1.9.3
prev parent reply other threads:[~2017-04-01 8:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-01 7:42 xu,huilong
2017-04-01 7:42 ` [dts] [PATCH 1/4] add dpdk all compile switch xu,huilong
2017-04-01 8:02 ` Liu, Yong
2017-04-01 7:42 ` [dts] [PATCH 2/4] add compile config file template and parse compile config class xu,huilong
2017-04-01 7:42 ` [dts] [PATCH 3/4] read compile switch config and compile dpdk before test xu,huilong
2017-04-01 7:42 ` [dts] [PATCH 4/4] add example for test suite xu,huilong
2017-04-01 8:20 ` [dts] [PATCH 0/4] compile dpdk different config with different test suite by dts framework befor run " Liu, Yong
2017-04-01 8:31 ` Xu, HuilongX
2017-04-01 8:54 ` Liu, Yong [this message]
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=86228AFD5BCD8E4EBFD2B90117B5E81E62DA36B2@SHSMSX103.ccr.corp.intel.com \
--to=yong.liu@intel.com \
--cc=dts@dpdk.org \
--cc=huilongx.xu@intel.com \
/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).