On Tuesday 18 August 2015 10:18:11 Mariano Lopez wrote: > On 08/18/2015 03:33 AM, Paul Eggleton wrote: > > On Monday 17 August 2015 12:41:42 [email protected] wrote: > >> From: Mariano Lopez <[email protected]> > >> > >> This patch modify three files altought two of them > >> are minimal modifications: > >> > >> testimage.bbclass: > >> Create new vars for easy modification of the dump > >> > >> directory and commands to be run on host and target > >> when a test fails > >> > >> TESTIMAGE_DUMP_DIR: Directory to save the dumps > >> TESTIMAGE_DUMP_TRG: Commands to run on target > >> TESTIMAGE_DUMP_HST: Commands to run on host > > > > Can we please use full names (i.e. "...HOST" and "...TARGET")? We're not > > short of space here ;) > > Sure, no problem > > >> targetcontrol.py: > >> Extract vars from the datastore for later use > >> > >> oetest.py: > >> - Allow to use the vars defined in testimage class > >> - Now able to run commands in the host and dump the > >> > >> results > >> > >> - Fix an issue with the condition where to run the > >> > >> dump commands (Before it run the commands every > >> test after a failure, now it runs the commands only > >> in tests that failed) > >> > >> - Fix the output to stdout > >> > >> [YOCTO #8118] > >> > >> Signed-off-by: Mariano Lopez <[email protected]> > >> --- > >> > >> meta/classes/testimage.bbclass | 9 +++++++++ > >> meta/lib/oeqa/oetest.py | 42 > >> > >> +++++++++++++++++++++++++++--------------- meta/lib/oeqa/targetcontrol.py > >> | > >> > >> 3 +++ > >> 3 files changed, 39 insertions(+), 15 deletions(-) > >> > >> diff --git a/meta/classes/testimage.bbclass > >> b/meta/classes/testimage.bbclass index 140babe..1580a4e 100644 > >> --- a/meta/classes/testimage.bbclass > >> +++ b/meta/classes/testimage.bbclass > >> @@ -56,6 +56,15 @@ TESTIMAGEDEPENDS_qemuall = > >> "qemu-native:do_populate_sysroot qemu-helper-native:d TESTIMAGELOCK = > >> "${TMPDIR}/testimage.lock" > >> > >> TESTIMAGELOCK_qemuall = "" > >> > >> +TESTIMAGE_DUMP_DIR ?= "/tmp/oe-saved-tests/" > >> + > >> +python () { > >> + target_cmds = ["top -bn1", "ps", "free", "df", "_ping", "dmesg", > >> "netstat -an", "ip address", "_logs"] + host_cmds = ["top -bn1", "ps", > >> "free", "df", "memstat", "dmesg", "netstat -an"] + > >> d.setVar("TESTIMAGE_DUMP_TRG", target_cmds) > >> + d.setVar("TESTIMAGE_DUMP_HST", host_cmds) > >> +} > > > > This is isn't how I would recommend doing this. What I suggested earlier > > when we talked about this was: > > > > testimage_dump_target() { > > > > top -bn1 > > ps > > free > > df > > ... > > > > } > > > > Then you'd just d.getVar('testimage_dump_target', True), and treat the > > contents as a complete shell script to be run - i.e. write it to a file > > with #!/bin/sh as a prefix and run it. As a bonus, the value can be > > overridden or appended to from elsewhere. (This is similar to how we deal > > with > > pkg_postinst_<packagename> for postinstall scripts.) > > Implement this for the host wouldn't be a problem, it gets > interesting for the target.These commands would be run from > the serial console, when the network fails, so it would be > difficult to run as a shell script. And also would be difficult > to install the scripts on the image because testimage would > run after do_rootfs takes place. > > What would be the best approach for the target case?
Alright, in that case just split it on newline and send each command one by one. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
