[PATCH v4 20/23] tests/functional/aspeed: Introduce start_ast2700_test API and update hwmon path

Jamin Lin via posted 23 patches 1 day, 16 hours ago
[PATCH v4 20/23] tests/functional/aspeed: Introduce start_ast2700_test API and update hwmon path
Posted by Jamin Lin via 1 day, 16 hours ago
Added a new method "start_ast2700_test" to the "AST2x00MachineSDK" class and
this method centralizes the logic for starting the AST2700 test, making it
reusable for different test cases.

Modified the hwmon path to use a wildcard to handle different SDK versions:
"cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input".

Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
---
 tests/functional/test_aarch64_aspeed.py | 33 +++++++++++++------------
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/tests/functional/test_aarch64_aspeed.py b/tests/functional/test_aarch64_aspeed.py
index 9595498ace..07b0c7c1fd 100755
--- a/tests/functional/test_aarch64_aspeed.py
+++ b/tests/functional/test_aarch64_aspeed.py
@@ -31,33 +31,29 @@ def do_test_aarch64_aspeed_sdk_start(self, image):
             'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.03/ast2700-default-obmc.tar.gz',
             '91225f50d255e2905ba8d8e0c80b71b9d157c3609770c7a740cd786370d85a77')
 
-    def test_aarch64_ast2700_evb_sdk_v09_03(self):
-        self.set_machine('ast2700-evb')
-
-        self.archive_extract(self.ASSET_SDK_V903_AST2700)
-
+    def start_ast2700_test(self, name):
         num_cpu = 4
-        uboot_size = os.path.getsize(self.scratch_file('ast2700-default',
+        uboot_size = os.path.getsize(self.scratch_file(name,
                                                        'u-boot-nodtb.bin'))
         uboot_dtb_load_addr = hex(0x400000000 + uboot_size)
 
         load_images_list = [
             {
                 'addr': '0x400000000',
-                'file': self.scratch_file('ast2700-default',
+                'file': self.scratch_file(name,
                                           'u-boot-nodtb.bin')
             },
             {
                 'addr': str(uboot_dtb_load_addr),
-                'file': self.scratch_file('ast2700-default', 'u-boot.dtb')
+                'file': self.scratch_file(name, 'u-boot.dtb')
             },
             {
                 'addr': '0x430000000',
-                'file': self.scratch_file('ast2700-default', 'bl31.bin')
+                'file': self.scratch_file(name, 'bl31.bin')
             },
             {
                 'addr': '0x430080000',
-                'file': self.scratch_file('ast2700-default', 'optee',
+                'file': self.scratch_file(name, 'optee',
                                           'tee-raw.bin')
             }
         ]
@@ -76,23 +72,28 @@ def test_aarch64_ast2700_evb_sdk_v09_03(self):
         self.vm.add_args('-device',
                          'tmp105,bus=aspeed.i2c.bus.1,address=0x4d,id=tmp-test')
         self.do_test_aarch64_aspeed_sdk_start(
-            self.scratch_file('ast2700-default', 'image-bmc'))
+            self.scratch_file(name, 'image-bmc'))
 
-        wait_for_console_pattern(self, 'ast2700-default login:')
+        wait_for_console_pattern(self, f'{name} login:')
 
         exec_command_and_wait_for_pattern(self, 'root', 'Password:')
-        exec_command_and_wait_for_pattern(self,
-            '0penBmc', 'root@ast2700-default:~#')
+        exec_command_and_wait_for_pattern(self, '0penBmc', f'root@{name}:~#')
 
         exec_command_and_wait_for_pattern(self,
             'echo lm75 0x4d > /sys/class/i2c-dev/i2c-1/device/new_device ',
             'i2c i2c-1: new_device: Instantiated device lm75 at 0x4d');
         exec_command_and_wait_for_pattern(self,
-            'cat /sys/class/hwmon/hwmon20/temp1_input', '0')
+            'cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input', '0')
         self.vm.cmd('qom-set', path='/machine/peripheral/tmp-test',
                     property='temperature', value=18000)
         exec_command_and_wait_for_pattern(self,
-            'cat /sys/class/hwmon/hwmon20/temp1_input', '18000')
+            'cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input', '18000')
+
+    def test_aarch64_ast2700_evb_sdk_v09_03(self):
+        self.set_machine('ast2700-evb')
+
+        self.archive_extract(self.ASSET_SDK_V903_AST2700)
+        self.start_ast2700_test('ast2700-default')
 
 
 if __name__ == '__main__':
-- 
2.34.1
Re: [PATCH v4 20/23] tests/functional/aspeed: Introduce start_ast2700_test API and update hwmon path
Posted by Cédric Le Goater 1 day, 9 hours ago
On 3/3/25 10:54, Jamin Lin wrote:
> Added a new method "start_ast2700_test" to the "AST2x00MachineSDK" class and
> this method centralizes the logic for starting the AST2700 test, making it
> reusable for different test cases.
> 
> Modified the hwmon path to use a wildcard to handle different SDK versions:
> "cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input".

Please split in two patches.


Thanks,

C.


> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
> ---
>   tests/functional/test_aarch64_aspeed.py | 33 +++++++++++++------------
>   1 file changed, 17 insertions(+), 16 deletions(-)
> 
> diff --git a/tests/functional/test_aarch64_aspeed.py b/tests/functional/test_aarch64_aspeed.py
> index 9595498ace..07b0c7c1fd 100755
> --- a/tests/functional/test_aarch64_aspeed.py
> +++ b/tests/functional/test_aarch64_aspeed.py
> @@ -31,33 +31,29 @@ def do_test_aarch64_aspeed_sdk_start(self, image):
>               'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.03/ast2700-default-obmc.tar.gz',
>               '91225f50d255e2905ba8d8e0c80b71b9d157c3609770c7a740cd786370d85a77')
>   
> -    def test_aarch64_ast2700_evb_sdk_v09_03(self):
> -        self.set_machine('ast2700-evb')
> -
> -        self.archive_extract(self.ASSET_SDK_V903_AST2700)
> -
> +    def start_ast2700_test(self, name):
>           num_cpu = 4
> -        uboot_size = os.path.getsize(self.scratch_file('ast2700-default',
> +        uboot_size = os.path.getsize(self.scratch_file(name,
>                                                          'u-boot-nodtb.bin'))
>           uboot_dtb_load_addr = hex(0x400000000 + uboot_size)
>   
>           load_images_list = [
>               {
>                   'addr': '0x400000000',
> -                'file': self.scratch_file('ast2700-default',
> +                'file': self.scratch_file(name,
>                                             'u-boot-nodtb.bin')
>               },
>               {
>                   'addr': str(uboot_dtb_load_addr),
> -                'file': self.scratch_file('ast2700-default', 'u-boot.dtb')
> +                'file': self.scratch_file(name, 'u-boot.dtb')
>               },
>               {
>                   'addr': '0x430000000',
> -                'file': self.scratch_file('ast2700-default', 'bl31.bin')
> +                'file': self.scratch_file(name, 'bl31.bin')
>               },
>               {
>                   'addr': '0x430080000',
> -                'file': self.scratch_file('ast2700-default', 'optee',
> +                'file': self.scratch_file(name, 'optee',
>                                             'tee-raw.bin')
>               }
>           ]
> @@ -76,23 +72,28 @@ def test_aarch64_ast2700_evb_sdk_v09_03(self):
>           self.vm.add_args('-device',
>                            'tmp105,bus=aspeed.i2c.bus.1,address=0x4d,id=tmp-test')
>           self.do_test_aarch64_aspeed_sdk_start(
> -            self.scratch_file('ast2700-default', 'image-bmc'))
> +            self.scratch_file(name, 'image-bmc'))
>   
> -        wait_for_console_pattern(self, 'ast2700-default login:')
> +        wait_for_console_pattern(self, f'{name} login:')
>   
>           exec_command_and_wait_for_pattern(self, 'root', 'Password:')
> -        exec_command_and_wait_for_pattern(self,
> -            '0penBmc', 'root@ast2700-default:~#')
> +        exec_command_and_wait_for_pattern(self, '0penBmc', f'root@{name}:~#')
>   
>           exec_command_and_wait_for_pattern(self,
>               'echo lm75 0x4d > /sys/class/i2c-dev/i2c-1/device/new_device ',
>               'i2c i2c-1: new_device: Instantiated device lm75 at 0x4d');
>           exec_command_and_wait_for_pattern(self,
> -            'cat /sys/class/hwmon/hwmon20/temp1_input', '0')
> +            'cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input', '0')
>           self.vm.cmd('qom-set', path='/machine/peripheral/tmp-test',
>                       property='temperature', value=18000)
>           exec_command_and_wait_for_pattern(self,
> -            'cat /sys/class/hwmon/hwmon20/temp1_input', '18000')
> +            'cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input', '18000')
> +
> +    def test_aarch64_ast2700_evb_sdk_v09_03(self):
> +        self.set_machine('ast2700-evb')
> +
> +        self.archive_extract(self.ASSET_SDK_V903_AST2700)
> +        self.start_ast2700_test('ast2700-default')
>   
>   
>   if __name__ == '__main__':
RE: [PATCH v4 20/23] tests/functional/aspeed: Introduce start_ast2700_test API and update hwmon path
Posted by Jamin Lin 23 hours ago
Hi Cedric, 
> Subject: Re: [PATCH v4 20/23] tests/functional/aspeed: Introduce
> start_ast2700_test API and update hwmon path
> 
> On 3/3/25 10:54, Jamin Lin wrote:
> > Added a new method "start_ast2700_test" to the "AST2x00MachineSDK"
> > class and this method centralizes the logic for starting the AST2700
> > test, making it reusable for different test cases.
> >
> > Modified the hwmon path to use a wildcard to handle different SDK versions:
> > "cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input".
> 
> Please split in two patches.
> 
Thanks for suggestion and review.
Will do
Jamin
> 
> Thanks,
> 
> C.
> 
> 
> > Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
> > ---
> >   tests/functional/test_aarch64_aspeed.py | 33 +++++++++++++------------
> >   1 file changed, 17 insertions(+), 16 deletions(-)
> >
> > diff --git a/tests/functional/test_aarch64_aspeed.py
> > b/tests/functional/test_aarch64_aspeed.py
> > index 9595498ace..07b0c7c1fd 100755
> > --- a/tests/functional/test_aarch64_aspeed.py
> > +++ b/tests/functional/test_aarch64_aspeed.py
> > @@ -31,33 +31,29 @@ def do_test_aarch64_aspeed_sdk_start(self, image):
> >
> 'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.03/ast
> 2700-default-obmc.tar.gz',
> >
> >
> '91225f50d255e2905ba8d8e0c80b71b9d157c3609770c7a740cd786370d85a77'
> )
> >
> > -    def test_aarch64_ast2700_evb_sdk_v09_03(self):
> > -        self.set_machine('ast2700-evb')
> > -
> > -        self.archive_extract(self.ASSET_SDK_V903_AST2700)
> > -
> > +    def start_ast2700_test(self, name):
> >           num_cpu = 4
> > -        uboot_size = os.path.getsize(self.scratch_file('ast2700-default',
> > +        uboot_size = os.path.getsize(self.scratch_file(name,
> >
> 'u-boot-nodtb.bin'))
> >           uboot_dtb_load_addr = hex(0x400000000 + uboot_size)
> >
> >           load_images_list = [
> >               {
> >                   'addr': '0x400000000',
> > -                'file': self.scratch_file('ast2700-default',
> > +                'file': self.scratch_file(name,
> >                                             'u-boot-nodtb.bin')
> >               },
> >               {
> >                   'addr': str(uboot_dtb_load_addr),
> > -                'file': self.scratch_file('ast2700-default', 'u-boot.dtb')
> > +                'file': self.scratch_file(name, 'u-boot.dtb')
> >               },
> >               {
> >                   'addr': '0x430000000',
> > -                'file': self.scratch_file('ast2700-default', 'bl31.bin')
> > +                'file': self.scratch_file(name, 'bl31.bin')
> >               },
> >               {
> >                   'addr': '0x430080000',
> > -                'file': self.scratch_file('ast2700-default', 'optee',
> > +                'file': self.scratch_file(name, 'optee',
> >                                             'tee-raw.bin')
> >               }
> >           ]
> > @@ -76,23 +72,28 @@ def test_aarch64_ast2700_evb_sdk_v09_03(self):
> >           self.vm.add_args('-device',
> >
> 'tmp105,bus=aspeed.i2c.bus.1,address=0x4d,id=tmp-test')
> >           self.do_test_aarch64_aspeed_sdk_start(
> > -            self.scratch_file('ast2700-default', 'image-bmc'))
> > +            self.scratch_file(name, 'image-bmc'))
> >
> > -        wait_for_console_pattern(self, 'ast2700-default login:')
> > +        wait_for_console_pattern(self, f'{name} login:')
> >
> >           exec_command_and_wait_for_pattern(self, 'root', 'Password:')
> > -        exec_command_and_wait_for_pattern(self,
> > -            '0penBmc', 'root@ast2700-default:~#')
> > +        exec_command_and_wait_for_pattern(self, '0penBmc',
> > + f'root@{name}:~#')
> >
> >           exec_command_and_wait_for_pattern(self,
> >               'echo lm75 0x4d >
> /sys/class/i2c-dev/i2c-1/device/new_device ',
> >               'i2c i2c-1: new_device: Instantiated device lm75 at 0x4d');
> >           exec_command_and_wait_for_pattern(self,
> > -            'cat /sys/class/hwmon/hwmon20/temp1_input', '0')
> > +            'cat
> > + /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input', '0')
> >           self.vm.cmd('qom-set', path='/machine/peripheral/tmp-test',
> >                       property='temperature', value=18000)
> >           exec_command_and_wait_for_pattern(self,
> > -            'cat /sys/class/hwmon/hwmon20/temp1_input', '18000')
> > +            'cat
> > + /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input', '18000')
> > +
> > +    def test_aarch64_ast2700_evb_sdk_v09_03(self):
> > +        self.set_machine('ast2700-evb')
> > +
> > +        self.archive_extract(self.ASSET_SDK_V903_AST2700)
> > +        self.start_ast2700_test('ast2700-default')
> >
> >
> >   if __name__ == '__main__':