<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Microsoft YaHei";
        panose-1:2 11 5 3 2 2 4 2 2 4;}
@font-face
        {font-family:"\@Microsoft YaHei";
        panose-1:2 11 5 3 2 2 4 2 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:SimSun;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin:0in;
        margin-bottom:.0001pt;
        text-indent:21.0pt;
        font-size:12.0pt;
        font-family:SimSun;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1816099407;
        mso-list-type:hybrid;
        mso-list-template-ids:838602716 1000001636 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:23.25pt;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%2\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:47.25pt;
        text-indent:-21.0pt;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:68.25pt;
        text-indent:-21.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:89.25pt;
        text-indent:-21.0pt;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%5\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:110.25pt;
        text-indent:-21.0pt;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:131.25pt;
        text-indent:-21.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:152.25pt;
        text-indent:-21.0pt;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%8\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:173.25pt;
        text-indent:-21.0pt;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:194.25pt;
        text-indent:-21.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">A PR is created.
<a href="https://github.com/tianocore/edk2/pull/1376">https://github.com/tianocore/edk2/pull/1376</a>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> devel@edk2.groups.io <devel@edk2.groups.io>
<b>On Behalf Of </b>Bob Feng<br>
<b>Sent:</b> Tuesday, January 19, 2021 9:58 PM<br>
<b>To:</b> devel@edk2.groups.io; Feng, Bob C <bob.c.feng@intel.com>; gaoliming@byosoft.com.cn<br>
<b>Subject:</b> Re: [edk2-devel] </span><span lang="ZH-CN" style="font-size:11.0pt;font-family:"Microsoft YaHei",sans-serif">回复</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">: [edk2-devel] [Patch 0/2] Convert Split tool to python<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">A reminder that if the user has the windows bat script that calls Split in it</span><span lang="ZH-CN" style="font-size:11.0pt">,</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">it
 needs to change to "call Split" because Split will be a bat script but not an executable file.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Bob<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">
<a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a> <<a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a>>
<b>On Behalf Of </b>Bob Feng<br>
<b>Sent:</b> Tuesday, January 19, 2021 9:29 AM<br>
<b>To:</b> <a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a>; <a href="mailto:gaoliming@byosoft.com.cn">
gaoliming@byosoft.com.cn</a><br>
<b>Subject:</b> Re: [edk2-devel] </span><span lang="ZH-CN" style="font-size:11.0pt;font-family:"Microsoft YaHei",sans-serif">回复</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">: [edk2-devel] [Patch 0/2] Convert Split tool to python<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">That’s is good suggestion.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Bob<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">
<a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a> <<a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a>>
<b>On Behalf Of </b>gaoliming<br>
<b>Sent:</b> Tuesday, January 19, 2021 9:10 AM<br>
<b>To:</b> <a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a>; Feng, Bob C <<a href="mailto:bob.c.feng@intel.com">bob.c.feng@intel.com</a>><br>
<b>Subject:</b> </span><span lang="ZH-CN" style="font-size:11.0pt;font-family:"Microsoft YaHei",sans-serif">回复</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">: [edk2-devel]
</span><span lang="ZH-CN" style="font-size:11.0pt;font-family:"Microsoft YaHei",sans-serif">回复</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">: [edk2-devel] [Patch 0/2] Convert Split tool to python<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:DengXian">Bob:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt"> </span><span style="font-size:10.5pt;font-family:DengXian">The code logic is fine. This is a big change. I suggest to update tool version from 1.0 to 2.0. With this change, Reviewed-by: Liming Gao <</span><a href="mailto:gaoliming@byosoft.com.cn"><span style="font-size:10.5pt;font-family:DengXian">gaoliming@byosoft.com.cn</span></a><span style="font-size:10.5pt;font-family:DengXian">><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:DengXian"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:DengXian">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:DengXian">Liming<o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span lang="ZH-CN" style="font-size:11.0pt;font-family:DengXian">发件人</span></b><b><span style="font-size:11.0pt;font-family:DengXian">:</span></b><span style="font-size:11.0pt;font-family:DengXian">
</span><a href="mailto:bounce+27952+70509+4905953+8761045@groups.io"><span style="font-size:11.0pt;font-family:DengXian">bounce+27952+70509+4905953+8761045@groups.io</span></a><span style="font-size:11.0pt;font-family:DengXian"> <</span><a href="mailto:bounce+27952+70509+4905953+8761045@groups.io"><span style="font-size:11.0pt;font-family:DengXian">bounce+27952+70509+4905953+8761045@groups.io</span></a><span style="font-size:11.0pt;font-family:DengXian">>
<b><span lang="ZH-CN">代表 </span></b>Bob Feng<br>
<b><span lang="ZH-CN">发送时间</span>:</b> 2021<span lang="ZH-CN">年</span>1<span lang="ZH-CN">月</span>19<span lang="ZH-CN">日</span> 7:57<br>
<b><span lang="ZH-CN">收件人</span>:</b> </span><a href="mailto:devel@edk2.groups.io"><span style="font-size:11.0pt;font-family:DengXian">devel@edk2.groups.io</span></a><span style="font-size:11.0pt;font-family:DengXian">;
</span><a href="mailto:gaoliming@byosoft.com.cn"><span style="font-size:11.0pt;font-family:DengXian">gaoliming@byosoft.com.cn</span></a><span style="font-size:11.0pt;font-family:DengXian"><br>
<b><span lang="ZH-CN">主题</span>:</b> Re: [edk2-devel] <span lang="ZH-CN">回复</span>: [edk2-devel] [Patch 0/2] Convert Split tool to python<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Liming,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">I have sent the patch V3 that is to move the unit test to tests/Split folder.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Do you have any other concerns about this patch?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Bob<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Feng, Bob C
<br>
<b>Sent:</b> Friday, January 15, 2021 9:50 AM<br>
<b>To:</b> </span><a href="mailto:devel@edk2.groups.io"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">devel@edk2.groups.io</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">;
</span><a href="mailto:gaoliming@byosoft.com.cn"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">gaoliming@byosoft.com.cn</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<b>Cc:</b> Feng, Bob C <</span><a href="mailto:bob.c.feng@intel.com"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">bob.c.feng@intel.com</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">><br>
<b>Subject:</b> RE: [edk2-devel] </span><span lang="ZH-CN" style="font-size:11.0pt;font-family:"Microsoft YaHei",sans-serif">回复</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">: [edk2-devel] [Patch 0/2] Convert Split tool to python<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Hi Liming,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">1. The test framework can be used for both incremental test and functionality test. We can do more discussion when I send out this framework for review.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">2. Yes, I agree to add a sub folder under the test folder. I’ll update the patch.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Is there any other comments before I send the patch V2?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Bob<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">
</span><a href="mailto:devel@edk2.groups.io"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">devel@edk2.groups.io</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> <</span><a href="mailto:devel@edk2.groups.io"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">devel@edk2.groups.io</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">>
<b>On Behalf Of </b>gaoliming<br>
<b>Sent:</b> Friday, January 15, 2021 9:13 AM<br>
<b>To:</b> Feng, Bob C <</span><a href="mailto:bob.c.feng@intel.com"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">bob.c.feng@intel.com</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">>;
</span><a href="mailto:devel@edk2.groups.io"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">devel@edk2.groups.io</span></a><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<b>Subject:</b> </span><span lang="ZH-CN" style="font-size:11.0pt;font-family:"Microsoft YaHei",sans-serif">回复</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">: [edk2-devel]
</span><span lang="ZH-CN" style="font-size:11.0pt;font-family:"Microsoft YaHei",sans-serif">回复</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">: [edk2-devel] [Patch 0/2] Convert Split tool to python<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:DengXian">Bob:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt"> </span><span style="font-size:10.5pt;font-family:DengXian">Thanks for your planning sharing. For BaseTools test, I still have some questions.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:DengXian"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="margin-left:23.25pt;text-indent:-.25in;mso-list:l0 level1 lfo2">
<![if !supportLists]><span style="font-size:10.5pt;font-family:DengXian"><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">    
</span></span></span><![endif]><span style="font-size:10.5pt;font-family:DengXian">For test framework, is it the incremental test framework or the functionality test framework or both?
<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:23.25pt;text-indent:-.25in;mso-list:l0 level1 lfo2">
<![if !supportLists]><span style="font-size:10.5pt;font-family:DengXian"><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">    
</span></span></span><![endif]><span style="font-size:10.5pt;font-family:DengXian">For BaseTools\Source\Python\tests\test_split.py, it creates new directory
<span lang="ZH-CN">‘</span>tests<span lang="ZH-CN">’</span> for test case scripts, and use test_split.py for split tool. So, new tool test script will follow the same style. Besides, split tool is simple. It may not have its special test case. But, Fce/FMMT
 are too complex. They need the different bios images as their test cases. Then, where are those test cases placed into? I would prefer to place the test script and its test cases into the same directory. So, I would propose to create the subdirectory in
<span lang="ZH-CN">‘</span>tests<span lang="ZH-CN">’</span> for each tool test, such as Split for this case. Then, every tool can place its test script and test case into its own directory.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:DengXian"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:DengXian">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:DengXian">Liming<o:p></o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span lang="ZH-CN" style="font-size:11.0pt;font-family:DengXian">发件人</span></b><b><span style="font-size:11.0pt;font-family:DengXian">:</span></b><span style="font-size:11.0pt;font-family:DengXian">
</span><a href="mailto:tosubbounce+27952+0+0+0@groups.io"><span style="font-size:11.0pt;font-family:DengXian">tosubbounce+27952+0+0+0@groups.io</span></a><span style="font-size:11.0pt;font-family:DengXian"> <</span><a href="mailto:tosubbounce+27952+0+0+0@groups.io"><span style="font-size:11.0pt;font-family:DengXian">tosubbounce+27952+0+0+0@groups.io</span></a><span style="font-size:11.0pt;font-family:DengXian">>
<b><span lang="ZH-CN">代表 </span></b>Bob Feng<br>
<b><span lang="ZH-CN">发送时间</span>:</b> 2021<span lang="ZH-CN">年</span>1<span lang="ZH-CN">月</span>14<span lang="ZH-CN">日</span> 10:46<br>
<b><span lang="ZH-CN">收件人</span>:</b> gaoliming <</span><a href="mailto:gaoliming@byosoft.com.cn"><span style="font-size:11.0pt;font-family:DengXian">gaoliming@byosoft.com.cn</span></a><span style="font-size:11.0pt;font-family:DengXian">>;
</span><a href="mailto:devel@edk2.groups.io"><span style="font-size:11.0pt;font-family:DengXian">devel@edk2.groups.io</span></a><span style="font-size:11.0pt;font-family:DengXian"><br>
<b><span lang="ZH-CN">主题</span>:</b> Re: [edk2-devel] <span lang="ZH-CN">回复</span>: [edk2-devel] [Patch 0/2] Convert Split tool to python<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Good questions. I answer them inline.<br>
<br>
Thanks,<br>
Bob<br>
<br>
On Thu, Jan 14, 2021 at 08:53 AM, gaoliming wrote:<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Bob:<br>
Have you plan to convert all C tools to Python tools? Or only some ones?<o:p></o:p></p>
</blockquote>
<p class="MsoNormal">I am still investigating the feasibility of converting the C tools to Python tools. Some C tools are simple but some are complex. I hope all the C tools can be converted to Python tools so that all the tools can be moved to the BaseTools
 separate repo. I think we can file some BZs to track the progress of the C tools conversion. And I hope there could be more volunteers to be involved in this work.<br>
<br>
Here are the discussions about the benefit and process of moving BaseTools out of the edk2 repo for reference.<o:p></o:p></p>
<div>
<p class="MsoNormal"><a href="https://edk2.groups.io/g/devel/topic/76572200#64993" target="_blank">https://edk2.groups.io/g/devel/topic/76572200#64993</a> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://edk2.groups.io/g/rfc/topic/74009714#270" target="_blank">https://edk2.groups.io/g/rfc/topic/74009714#270</a> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><a href="https://edk2.groups.io/g/devel/topic/73069134#58048" target="_blank">https://edk2.groups.io/g/devel/topic/73069134#58048</a><o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Can you share your planning for the changes in BaseTools?<o:p></o:p></p>
</blockquote>
<p class="MsoNormal" style="margin-bottom:12.0pt">Except for this patch, my current work for Basetools are:<br>
1. Re-write the FMMT/FCE with Python and propose to add these 2 tools to the edk2 BaseTools.<br>
2. Prepare to publish the Basetools incremental build regression test cases and test framework.<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">And, I see you also add unittest for new split tool. Can you introduce the<br>
unittest framework for python tool? If so, new added tool can follow the<br>
same way to add unittest.<o:p></o:p></p>
</blockquote>
<p class="MsoNormal" style="margin-bottom:12.0pt">The unittest is the python build-in library for the unit test.
<a href="https://docs.python.org/3/library/unittest.html" target="_blank">https://docs.python.org/3/library/unittest.html</a> <br>
I provide the unit test is to help you to review this patch. From the unit test case, it will be easy to<br>
see if this tool's behavior is as expected. <br>
<br>
I think for the python code development, we can try our best to follow this document. <a href="https://edk2-docs.gitbook.io/edk-ii-python-development-process-specification/" target="_blank">https://edk2-docs.gitbook.io/edk-ii-python-development-process-specification/</a> <o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><br>
Thanks<br>
Liming<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">-----<span lang="ZH-CN">邮件原件</span>-----<br>
<span lang="ZH-CN">发件人</span>: <a href="mailto:bounce+27952+70232+4905953+8761045@groups.io">
bounce+27952+70232+4905953+8761045@groups.io</a><br>
<<a href="mailto:bounce+27952+70232+4905953+8761045@groups.io">bounce+27952+70232+4905953+8761045@groups.io</a>>
<span lang="ZH-CN">代表</span> Bob Feng<br>
<span lang="ZH-CN">发送时间</span>: 2021<span lang="ZH-CN">年</span>1<span lang="ZH-CN">月</span>13<span lang="ZH-CN">日</span> 17:56<br>
<span lang="ZH-CN">收件人</span>: <a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a><br>
<span lang="ZH-CN">主题</span>: [edk2-devel] [Patch 0/2] Convert Split tool to python<br>
<br>
There are 2 reasons to convert Split tool from C to Python.<br>
<br>
1. We are in the process of moving the Basetools Python code<br>
<br>
to a separate repository. But there still are many C tools under<br>
<br>
edk2/BaseTools. To make all Basetools be in the separate repo,<br>
<br>
we can convert the C tools to Python tools.<br>
<br>
2. The original Split tool is very slow. This python tool can reduce<br>
<br>
90% time<br>
<br>
Bob Feng (2):<br>
BaseTools: Convert Split tool to python<br>
BaseTools: Add unittest for Split tool<br>
<br>
BaseTools/Source/C/Split/Split.c | 466 --------------------<br>
BaseTools/BinWrappers/PosixLike/Split | 31 +-<br>
BaseTools/BinWrappers/WindowsLike/Split.bat | 3 +<br>
BaseTools/Source/C/GNUmakefile | 1 -<br>
BaseTools/Source/C/Makefile | 1 -<br>
BaseTools/Source/C/Split/GNUmakefile | 17 -<br>
BaseTools/Source/C/Split/Makefile | 16 -<br>
BaseTools/Source/Python/Split/Split.py | 203 +++++++++<br>
BaseTools/Source/Python/Split/__init__.py | 10 +<br>
BaseTools/Source/Python/tests/test_split.py | 101 +++++<br>
10 files changed, 325 insertions(+), 524 deletions(-)<br>
delete mode 100644 BaseTools/Source/C/Split/Split.c<br>
create mode 100644 BaseTools/BinWrappers/WindowsLike/Split.bat<br>
delete mode 100644 BaseTools/Source/C/Split/GNUmakefile<br>
delete mode 100644 BaseTools/Source/C/Split/Makefile<br>
create mode 100644 BaseTools/Source/Python/Split/Split.py<br>
create mode 100644 BaseTools/Source/Python/Split/__init__.py<br>
create mode 100644 BaseTools/Source/Python/tests/test_split.py<br>
<br>
--<br>
2.29.1.windows.1<br>
<br>
<br>
<br>
-=-=-=-=-=-=<br>
Groups.io Links: You receive all messages sent to this group.<br>
View/Reply Online (#70232): <a href="https://edk2.groups.io/g/devel/message/70232" target="_blank">
https://edk2.groups.io/g/devel/message/70232</a><br>
Mute This Topic: <a href="https://groups.io/mt/79647273/4905953" target="_blank">
https://groups.io/mt/79647273/4905953</a><br>
Group Owner: <a href="mailto:devel+owner@edk2.groups.io">devel+owner@edk2.groups.io</a><br>
Unsubscribe: <a href="https://edk2.groups.io/g/devel/unsub" target="_blank">https://edk2.groups.io/g/devel/unsub</a><br>
[gaoliming@byosoft.com.cn]<br>
-=-=-=-=-=-=<o:p></o:p></p>
</blockquote>
</blockquote>
</div>
<div>
<p class="MsoNormal"></o:p></span></p>
</div>
</div>
</body>
</html>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr> Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/70612">View/Reply Online (#70612)</a> |    |  <a target="_blank" href="https://groups.io/mt/79999334/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>