On Mon, Nov 13, 2023 at 11:01:17AM -0700, Simon Glass wrote: > Hi, > > On Sun, 12 Nov 2023 at 18:46, AKASHI Takahiro > <takahiro.aka...@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.aka...@linaro.org> > > > > Reviewed-by: Simon Glass <s...@chromium.org> > > > > Reviewed-by: Etienne Carriere <etienne.carri...@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.
Well, I don't think we need such a trick. As you can see, we may simply fetch/find necessary udevices every time the command is called. It is enough given that the command is mainly for debug purpose. -Takahiro Akashi > 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 > > > >