Hi Alex, Please ignore the v6 patch set. As there is minor correction in rust.py - cmd = cmd + " cd %s; python3 src/bootstrap/bootstrap.py test codegen %s --target %s ;" % (builddir, testargs, targetsys) + cmd = cmd + " cd %s; python3 src/bootstrap/bootstrap.py test %s --target %s ;" % (builddir, testargs, targetsys)
Sent v7 patches with corrections of runCmd and ssh. For copying "remote-test-server" used copy_to from sshcontrol.py, and for ssh background execution used "subprocess" module. Regarding result.output, whenever there is failure it gets printed test summary and also captured in "oe-selftest-results.log". And when there is failure with runCmd then no test summary details or printed. This is taken care of by runCmd() itself from commands.py. Verified with 2 independent test modules "compile-fail" and "codegen" which are part of rust testing. compile-test : All tests get passed and no errors thrown, so oe-selftes does not print the test results. codegen : Some of the tests fail, making the shell exit. In this case oe-selftest prints test details with stdout and stderr. Regards, Vinay On Thu, May 27, 2021 at 7:05 PM Alexander Kanavin <[email protected]> wrote: > > Hello Vinay, > > sure, no problem. I see that SSHControl.run() isn't designed for starting > background processes on the target. But I still think it's then better to use > subprocess module for starting the server over ssh, rather than bundle > everything into one gigantic runCmd(). > > Alex > > On Thu, 27 May 2021 at 14:18, Vinay Kumar <[email protected]> wrote: >> >> Hi Alex, >> >> The reason why I changed this is, we have to execute >> "remote-test-server" on the image through background ssh. >> So that the "remote-test-server" will be alive waiting for connection. >> Then in the rust.py control passed to the next command (cmd) for >> execution. >> If we use the sshcontrol.py method we have to set a timeout of 600 >> otherwise default timeout is 300. Even if the test execution completes >> early due to failure then we have to wait till this timeout. >> >> I tried reducing the timeout to 60 seconds and some of the tests got skipped. >> >> If that is ok I will use that copy_to and run from sshcontrol.py as we >> did in v4 patches and work for the result.output >> >> Regards, >> Vinay >> >> On Thu, May 27, 2021 at 5:33 PM Alexander Kanavin >> <[email protected]> wrote: >> > >> > On Thu, 27 May 2021 at 10:11, Vinay Kumar <[email protected]> wrote: >> >> >> >> + # To kill remote-test-server executing through >> >> background ssh >> >> + killcommand = "kill -9 \$(ps | grep >> >> remote-test-server | grep -v \"grep\" | awk '{print \$1}')" >> >> + cmd = cmd + "ssh %s root@%s \"%s\";" % (sshargs, >> >> qemu.ip, killcommand) >> > >> > >> > I don't think you actually need to kill the remote test server. As qemu >> > will be stopped anyway, and with it, all the processes that run inside >> > qemu. >> > >> > Also, it's better to use cmd only to execute the tests. Starting the >> > server is better done through SSHControl.run(), and copying the binary via >> > SSHControl.copy_to() - see examples in selfttest's imagefeatures.py or >> > runtime_test.py. >> > >> > Alex >> >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#152393): https://lists.openembedded.org/g/openembedded-core/message/152393 Mute This Topic: https://lists.openembedded.org/mt/83120117/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
