[PATCH] tests/functional: Remove sleep workarounds from sh4 test

Cédric Le Goater posted 1 patch 23 hours ago
There is a newer version of this series
tests/functional/test_sh4_tuxrun.py | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
[PATCH] tests/functional: Remove sleep workarounds from sh4 test
Posted by Cédric Le Goater 23 hours ago
These were introduced in the avocado tests to workaround read issues
when interacting with console. They are no longer necessary and we can
use the expected login string instead.

Signed-off-by: Cédric Le Goater <clg@redhat.com>
---
 tests/functional/test_sh4_tuxrun.py | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/tests/functional/test_sh4_tuxrun.py b/tests/functional/test_sh4_tuxrun.py
index 352cb360ef74..dcb49f28b9aa 100755
--- a/tests/functional/test_sh4_tuxrun.py
+++ b/tests/functional/test_sh4_tuxrun.py
@@ -15,7 +15,7 @@
 import time
 
 from unittest import skipUnless
-from qemu_test import Asset, exec_command_and_wait_for_pattern, exec_command
+from qemu_test import Asset, exec_command_and_wait_for_pattern
 from qemu_test.tuxruntest import TuxRunBaselineTest
 
 class TuxRunSh4Test(TuxRunBaselineTest):
@@ -46,10 +46,8 @@ def test_sh4(self):
                          console_index=1)
         self.vm.launch()
 
-        self.wait_for_console_pattern("Welcome to TuxTest")
-        time.sleep(0.1)
-        exec_command(self, 'root')
-        time.sleep(0.1)
+        self.wait_for_console_pattern("tuxtest login:")
+        exec_command_and_wait_for_pattern(self, 'root', 'root@tuxtest:~#')
         exec_command_and_wait_for_pattern(self, 'halt',
                                           "reboot: System halted")
 
-- 
2.47.0


Re: [PATCH] tests/functional: Remove sleep workarounds from sh4 test
Posted by Thomas Huth 23 hours ago
On 22/11/2024 14.08, Cédric Le Goater wrote:
> These were introduced in the avocado tests to workaround read issues
> when interacting with console. They are no longer necessary and we can
> use the expected login string instead.
> 
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
>   tests/functional/test_sh4_tuxrun.py | 8 +++-----
>   1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/tests/functional/test_sh4_tuxrun.py b/tests/functional/test_sh4_tuxrun.py
> index 352cb360ef74..dcb49f28b9aa 100755
> --- a/tests/functional/test_sh4_tuxrun.py
> +++ b/tests/functional/test_sh4_tuxrun.py
> @@ -15,7 +15,7 @@
>   import time
>   
>   from unittest import skipUnless
> -from qemu_test import Asset, exec_command_and_wait_for_pattern, exec_command
> +from qemu_test import Asset, exec_command_and_wait_for_pattern
>   from qemu_test.tuxruntest import TuxRunBaselineTest
>   
>   class TuxRunSh4Test(TuxRunBaselineTest):
> @@ -46,10 +46,8 @@ def test_sh4(self):
>                            console_index=1)
>           self.vm.launch()
>   
> -        self.wait_for_console_pattern("Welcome to TuxTest")
> -        time.sleep(0.1)
> -        exec_command(self, 'root')
> -        time.sleep(0.1)
> +        self.wait_for_console_pattern("tuxtest login:")
> +        exec_command_and_wait_for_pattern(self, 'root', 'root@tuxtest:~#')
>           exec_command_and_wait_for_pattern(self, 'halt',
>                                             "reboot: System halted")

Could we also remove the  @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS')...) 
now?

  Thomas


Re: [PATCH] tests/functional: Remove sleep workarounds from sh4 test
Posted by Cédric Le Goater 23 hours ago
On 11/22/24 14:49, Thomas Huth wrote:
> On 22/11/2024 14.08, Cédric Le Goater wrote:
>> These were introduced in the avocado tests to workaround read issues
>> when interacting with console. They are no longer necessary and we can
>> use the expected login string instead.
>>
>> Signed-off-by: Cédric Le Goater <clg@redhat.com>
>> ---
>>   tests/functional/test_sh4_tuxrun.py | 8 +++-----
>>   1 file changed, 3 insertions(+), 5 deletions(-)
>>
>> diff --git a/tests/functional/test_sh4_tuxrun.py b/tests/functional/test_sh4_tuxrun.py
>> index 352cb360ef74..dcb49f28b9aa 100755
>> --- a/tests/functional/test_sh4_tuxrun.py
>> +++ b/tests/functional/test_sh4_tuxrun.py
>> @@ -15,7 +15,7 @@
>>   import time
>>   from unittest import skipUnless
>> -from qemu_test import Asset, exec_command_and_wait_for_pattern, exec_command
>> +from qemu_test import Asset, exec_command_and_wait_for_pattern
>>   from qemu_test.tuxruntest import TuxRunBaselineTest
>>   class TuxRunSh4Test(TuxRunBaselineTest):
>> @@ -46,10 +46,8 @@ def test_sh4(self):
>>                            console_index=1)
>>           self.vm.launch()
>> -        self.wait_for_console_pattern("Welcome to TuxTest")
>> -        time.sleep(0.1)
>> -        exec_command(self, 'root')
>> -        time.sleep(0.1)
>> +        self.wait_for_console_pattern("tuxtest login:")
>> +        exec_command_and_wait_for_pattern(self, 'root', 'root@tuxtest:~#')
>>           exec_command_and_wait_for_pattern(self, 'halt',
>>                                             "reboot: System halted")
> 
> Could we also remove the  @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS')...) now?
> 
>   Thomas
> 

I didn't because of this comment :

     # Note: some segfaults caused by unaligned userspace access

It does not reproduce on my systems though.

C.


Re: [PATCH] tests/functional: Remove sleep workarounds from sh4 test
Posted by Thomas Huth 23 hours ago
On 22/11/2024 14.52, Cédric Le Goater wrote:
> On 11/22/24 14:49, Thomas Huth wrote:
>> On 22/11/2024 14.08, Cédric Le Goater wrote:
>>> These were introduced in the avocado tests to workaround read issues
>>> when interacting with console. They are no longer necessary and we can
>>> use the expected login string instead.
>>>
>>> Signed-off-by: Cédric Le Goater <clg@redhat.com>
>>> ---
>>>   tests/functional/test_sh4_tuxrun.py | 8 +++-----
>>>   1 file changed, 3 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/tests/functional/test_sh4_tuxrun.py b/tests/functional/ 
>>> test_sh4_tuxrun.py
>>> index 352cb360ef74..dcb49f28b9aa 100755
>>> --- a/tests/functional/test_sh4_tuxrun.py
>>> +++ b/tests/functional/test_sh4_tuxrun.py
>>> @@ -15,7 +15,7 @@
>>>   import time
>>>   from unittest import skipUnless
>>> -from qemu_test import Asset, exec_command_and_wait_for_pattern, 
>>> exec_command
>>> +from qemu_test import Asset, exec_command_and_wait_for_pattern
>>>   from qemu_test.tuxruntest import TuxRunBaselineTest
>>>   class TuxRunSh4Test(TuxRunBaselineTest):
>>> @@ -46,10 +46,8 @@ def test_sh4(self):
>>>                            console_index=1)
>>>           self.vm.launch()
>>> -        self.wait_for_console_pattern("Welcome to TuxTest")
>>> -        time.sleep(0.1)
>>> -        exec_command(self, 'root')
>>> -        time.sleep(0.1)
>>> +        self.wait_for_console_pattern("tuxtest login:")
>>> +        exec_command_and_wait_for_pattern(self, 'root', 'root@tuxtest:~#')
>>>           exec_command_and_wait_for_pattern(self, 'halt',
>>>                                             "reboot: System halted")
>>
>> Could we also remove the  
>> @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS')...) now?
>>
>>   Thomas
>>
> 
> I didn't because of this comment :
> 
>      # Note: some segfaults caused by unaligned userspace access
> 
> It does not reproduce on my systems though.

I also cannot reproduce the problem anymore here ... so maybe we should give 
it a try and remove the skipUnless now?

  Thomas