Message ID | 20191028073441.6448-17-philmd@redhat.com |
---|---|
State | New |
Headers | show |
Series | tests/acceptance: Queue for 4.2 | expand |
On Mon, Oct 28, 2019 at 08:34:31AM +0100, Philippe Mathieu-Daudé wrote: > From: Philippe Mathieu-Daudé <f4bug@amsat.org> > > User case from: > https://mail.coreboot.org/pipermail/openbios/2018-May/010360.html > > Sandalfoot info: > http://www.juneau-lug.org/sandalfoot.php > > Acked-by: David Gibson <david@gibson.dropbear.id.au> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > v3: > - use avocado_qemu.wait_for_console_pattern (Cleber) > - use exec_command_and_wait_for_pattern > - check getenv(AVOCADO_ALLOW_UNTRUSTED_CODE) (pm215) > --- > tests/acceptance/ppc_prep_40p.py | 31 +++++++++++++++++++++++++++++++ > 1 file changed, 31 insertions(+) > > diff --git a/tests/acceptance/ppc_prep_40p.py b/tests/acceptance/ppc_prep_40p.py > index b4109a7af3..c5ecabf52f 100644 > --- a/tests/acceptance/ppc_prep_40p.py > +++ b/tests/acceptance/ppc_prep_40p.py > @@ -11,6 +11,7 @@ import logging > from avocado import skipIf > from avocado import skipUnless > from avocado_qemu import MachineTest > +from avocado_qemu import exec_command_and_wait_for_pattern > from avocado_qemu import wait_for_console_pattern > > > @@ -101,3 +102,33 @@ class IbmPrep40pMachine(MachineTest): > > self.vm.launch() > wait_for_console_pattern(self, 'NetBSD/prep BOOT, Revision 1.9') > + > + @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code') > + def test_sandalfoot_busybox(self): > + """ > + :avocado: tags=arch:ppc > + :avocado: tags=machine:40p > + """ > + drive_url = ('http://www.juneau-lug.org/zImage.initrd.sandalfoot') > + drive_hash = 'dacacfc4085ea51d34d99ef70e972b849e2c6949' > + drive_path = self.fetch_asset(drive_url, asset_hash=drive_hash) > + > + self.vm.set_machine('40p') > + self.vm.set_console() > + self.vm.add_args('-cdrom', drive_path, > + '-boot', 'd') > + > + self.vm.launch() > + wait_for_console_pattern(self, 'Now booting the kernel') I could never get past this point. Any ideas? - Cleber. > + > + msg = 'Please press Enter to activate this console.' > + wait_for_console_pattern(self, msg) > + > + version = 'BusyBox v0.60.0 (2001.08.19-09:26+0000) Built-in shell (ash)' > + exec_command_and_wait_for_pattern(self, '', version) > + > + uname = 'Linux ppc 2.4.18 #5 Wed May 21 23:50:43 AKDT 2003 ppc unknown' > + exec_command_and_wait_for_pattern(self, 'uname -a', uname) > + > + cpu = 'PReP IBM 6015/7020 (Sandalfoot/Sandalbow)' > + exec_command_and_wait_for_pattern(self, 'cat /proc/cpuinfo', cpu) > -- > 2.21.0 >
On 10/28/19 20:08, Cleber Rosa wrote: > On Mon, Oct 28, 2019 at 08:34:31AM +0100, Philippe Mathieu-Daudé wrote: >> From: Philippe Mathieu-Daudé <f4bug@amsat.org> >> >> User case from: >> https://mail.coreboot.org/pipermail/openbios/2018-May/010360.html >> >> Sandalfoot info: >> http://www.juneau-lug.org/sandalfoot.php >> >> Acked-by: David Gibson <david@gibson.dropbear.id.au> >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >> --- >> v3: >> - use avocado_qemu.wait_for_console_pattern (Cleber) >> - use exec_command_and_wait_for_pattern >> - check getenv(AVOCADO_ALLOW_UNTRUSTED_CODE) (pm215) >> --- >> tests/acceptance/ppc_prep_40p.py | 31 +++++++++++++++++++++++++++++++ >> 1 file changed, 31 insertions(+) >> >> diff --git a/tests/acceptance/ppc_prep_40p.py b/tests/acceptance/ppc_prep_40p.py >> index b4109a7af3..c5ecabf52f 100644 >> --- a/tests/acceptance/ppc_prep_40p.py >> +++ b/tests/acceptance/ppc_prep_40p.py >> @@ -11,6 +11,7 @@ import logging >> from avocado import skipIf >> from avocado import skipUnless >> from avocado_qemu import MachineTest >> +from avocado_qemu import exec_command_and_wait_for_pattern >> from avocado_qemu import wait_for_console_pattern >> >> >> @@ -101,3 +102,33 @@ class IbmPrep40pMachine(MachineTest): >> >> self.vm.launch() >> wait_for_console_pattern(self, 'NetBSD/prep BOOT, Revision 1.9') >> + >> + @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code') >> + def test_sandalfoot_busybox(self): >> + """ >> + :avocado: tags=arch:ppc >> + :avocado: tags=machine:40p >> + """ >> + drive_url = ('http://www.juneau-lug.org/zImage.initrd.sandalfoot') >> + drive_hash = 'dacacfc4085ea51d34d99ef70e972b849e2c6949' >> + drive_path = self.fetch_asset(drive_url, asset_hash=drive_hash) >> + >> + self.vm.set_machine('40p') >> + self.vm.set_console() >> + self.vm.add_args('-cdrom', drive_path, >> + '-boot', 'd') >> + >> + self.vm.launch() >> + wait_for_console_pattern(self, 'Now booting the kernel') > > I could never get past this point. Any ideas? I think this is because the message below : >> + >> + msg = 'Please press Enter to activate this console.' waits for a Line Feed and the console interaction does a readline. It would be interesting to include this acceptance/avocado test for the 40p machine because QEMU still supports the 604 CPUs quite well. Thanks, C. >> + wait_for_console_pattern(self, msg) >> + >> + version = 'BusyBox v0.60.0 (2001.08.19-09:26+0000) Built-in shell (ash)' >> + exec_command_and_wait_for_pattern(self, '', version) >> + >> + uname = 'Linux ppc 2.4.18 #5 Wed May 21 23:50:43 AKDT 2003 ppc unknown' >> + exec_command_and_wait_for_pattern(self, 'uname -a', uname) >> + >> + cpu = 'PReP IBM 6015/7020 (Sandalfoot/Sandalbow)' >> + exec_command_and_wait_for_pattern(self, 'cat /proc/cpuinfo', cpu) >> -- >> 2.21.0 >> > > >
diff --git a/tests/acceptance/ppc_prep_40p.py b/tests/acceptance/ppc_prep_40p.py index b4109a7af3..c5ecabf52f 100644 --- a/tests/acceptance/ppc_prep_40p.py +++ b/tests/acceptance/ppc_prep_40p.py @@ -11,6 +11,7 @@ import logging from avocado import skipIf from avocado import skipUnless from avocado_qemu import MachineTest +from avocado_qemu import exec_command_and_wait_for_pattern from avocado_qemu import wait_for_console_pattern @@ -101,3 +102,33 @@ class IbmPrep40pMachine(MachineTest): self.vm.launch() wait_for_console_pattern(self, 'NetBSD/prep BOOT, Revision 1.9') + + @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code') + def test_sandalfoot_busybox(self): + """ + :avocado: tags=arch:ppc + :avocado: tags=machine:40p + """ + drive_url = ('http://www.juneau-lug.org/zImage.initrd.sandalfoot') + drive_hash = 'dacacfc4085ea51d34d99ef70e972b849e2c6949' + drive_path = self.fetch_asset(drive_url, asset_hash=drive_hash) + + self.vm.set_machine('40p') + self.vm.set_console() + self.vm.add_args('-cdrom', drive_path, + '-boot', 'd') + + self.vm.launch() + wait_for_console_pattern(self, 'Now booting the kernel') + + msg = 'Please press Enter to activate this console.' + wait_for_console_pattern(self, msg) + + version = 'BusyBox v0.60.0 (2001.08.19-09:26+0000) Built-in shell (ash)' + exec_command_and_wait_for_pattern(self, '', version) + + uname = 'Linux ppc 2.4.18 #5 Wed May 21 23:50:43 AKDT 2003 ppc unknown' + exec_command_and_wait_for_pattern(self, 'uname -a', uname) + + cpu = 'PReP IBM 6015/7020 (Sandalfoot/Sandalbow)' + exec_command_and_wait_for_pattern(self, 'cat /proc/cpuinfo', cpu)