[PATCH 5/5] test: dm: add scmi command test
Simon Glass
sjg at chromium.org
Mon Nov 13 19:01:17 CET 2023
Hi,
On Sun, 12 Nov 2023 at 18:46, AKASHI Takahiro
<takahiro.akashi at linaro.org> wrote:
>
> Hi Tom,
>
> On Fri, Nov 10, 2023 at 01:21:37PM -0500, Tom Rini wrote:
> > On Wed, Oct 25, 2023 at 02:14:27PM +0900, AKASHI Takahiro wrote:
> >
> > > In this test, "scmi" command is tested against different sub-commands.
> > > Please note that scmi command is for debug purpose and is not intended
> > > in production system.
> > >
> > > Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org>
> > > Reviewed-by: Simon Glass <sjg at chromium.org>
> > > Reviewed-by: Etienne Carriere <etienne.carriere at foss.st.com>
> >
> > The test part of this still fails:
> > https://source.denx.de/u-boot/u-boot/-/jobs/732077
> >
> > I don't know why more output wasn't captured, when I run it locally
> > instead I get:
> > ========================================== FAILURES ===========================================
> > _______________________________ test_ut[ut_dm_dm_test_scmi_cmd] _______________________________
> > test/py/u_boot_spawn.py:195: in expect
> > c = os.read(self.fd, 1024).decode(errors='replace')
> > E OSError: [Errno 5] Input/output error
> >
> > During handling of the above exception, another exception occurred:
> > test/py/tests/test_ut.py:502: in test_ut
> > output = u_boot_console.run_command('ut ' + ut_subtest)
> > test/py/u_boot_console_base.py:266: in run_command
> > m = self.p.expect([self.prompt_compiled] + self.bad_patterns)
> > test/py/u_boot_spawn.py:204: in expect
> > raise ValueError('U-Boot exited with %s' % info)
> > E ValueError: U-Boot exited with signal 11 (SIGSEGV)
>
>
> The command uses global variables which hold pointers to 'struct udevice'
> which are to be shared between the main and the sub-commands.
> Since pytest framework executes ut tests twice, once with a (normal?) device
> tree and once with a flat tree, udevices will be *voided* between
> two executions.
Are you able to put the var in the uclass-priv data instead? The state
should be cleared before running each DM test.
Regards,
Simon
>
> I will fix it in v2.
>
> Thanks,
> -Takahiro Akashi
>
>
> > ------------------------------------ Captured stdout call -------------------------------------
> > => ut dm dm_test_scmi_cmd
> > Test: dm_test_scmi_cmd: scmi.c
> > SCMI device: scmi
> > protocol version: 0x20000
> > # of agents: 2
> > 0: platform
> > > 1: OSPM
> > # of protocols: 4
> > Power domain management
> > Clock management
> > Reset domain management
> > Voltage domain management
> > vendor: U-Boot
> > sub vendor: Sandbox
> > impl version: 0x1
> > Denying access to device:0 failed (-13)
> > Denying access to protocol:0x14 on device:0 failed (-13)
> > Reset failed (-13)
> > Test: dm_test_scmi_cmd: scmi.c (flat tree)
> > SCMI device: Q
> > =================================== short test summary info ===================================
> > FAILED test/py/tests/test_ut.py::test_ut[ut_dm_dm_test_scmi_cmd] - ValueError: U-Boot exited...
> >
> > --
> > Tom
>
>
More information about the U-Boot
mailing list