<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 25, 2020 at 11:57 PM Petr Vorel <<a href="mailto:pvorel@suse.cz">pvorel@suse.cz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Xu,<br>
<br>
> I have seen the history about this problem. We have few C cases to use many<br>
> commands(copy_file_range02.c is a specify case, I ported it from xfstest to<br>
> increase coverage), do we really want to implement need_cmd or<br>
> want_cmds(Usually, we seldom use command in c case and  we should avoid this<br>
> for reduce unnecessary dependencies, except user level command such as mkfs<br>
> or makeswap or useradd)? It will give user a mislead.<br>
<br>
> ps:copy_file_range02.c should use swapon and swapoff syscall instead of<br>
> command.<br>
Yes, rewriting to C would be an improvement for non-standard linux platforms<br>
(but then you need to deal with other exceptions: e.g. whether<br>
swapon()/swapoff() is even supported on platforms like Android and you might<br>
endup with 1) much more code 2) TCONF anyway for these platforms.<br>
And there is also chattr and mkswap.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-size:small">That's right. Rewrite into C can't solve the problem by the roots.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Besides this IMHO there will always be a need for running some command via<br>
tst_run_cmd() in the test instead of reimplementing a wheel. Some of other<br>
dependencies:<br></blockquote><div><br></div><div><div class="gmail_default" style="font-size:small">Agree. We at least need achieve the tst_cmd_available() for tst_run_cmd() or .needs_cmds, let's try it together in code first then help to find best solution in patch polishing.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
cat (testcases/cve/stack_clash.c this one could be using C code),<br>
mpdprobe, make, mkswap, quotacheck,<br>
useradd/userdel (I plan to put these into the library, but still it's much<br>
easier to use them than reimplement code in C).<br>
<br>
Also library itself (these will not use the flag): insmod, modprobe, rmmod,  mkfs.*,<br>
systemd-detect-virt (this one is not a hard dependency).<br>
<br>
Kind regards,<br>
Petr<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Regards,<br></div><div>Li Wang<br></div></div></div></div>