
Hi,
On Sun, 12 Nov 2023 at 18:46, AKASHI Takahiro takahiro.akashi@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@linaro.org Reviewed-by: Simon Glass sjg@chromium.org Reviewed-by: Etienne Carriere etienne.carriere@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