Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test/py test-framework hangs on some tests #106

Open
Adnan-Elhammoudi opened this issue Dec 29, 2023 · 2 comments
Open

test/py test-framework hangs on some tests #106

Adnan-Elhammoudi opened this issue Dec 29, 2023 · 2 comments

Comments

@Adnan-Elhammoudi
Copy link

Adnan-Elhammoudi commented Dec 29, 2023



~/Documents/dmo-system-test$ python3 -m pytest -s --tbot-config config.serial_local_config  test_cases/test_uboot.py --html=report.html
========================================================= test session starts ==========================================================
platform linux -- Python 3.8.10, pytest-7.3.1, pluggy-1.0.0
rootdir: /home/adnanelhammoudi/Documents/dmo-system-test
plugins: metadata-3.0.0, xdist-3.5.0, html-4.1.1
collected 1 item                                                                                                                       

test_cases/test_uboot.py │   ├─Calling test_run_testpy ...
│   │   ├─[local] picocom --quiet -b 115200 -r -l /dev/ttyUSB2
│   │   ├─POWERON (imx8)
│   │   ├─UBOOT (device-u-boot)
│   │   │    <> 
│   │   │    <> 
│   │   │    <> <INTERRUPT>
│   │   │    <> => reboot
│   │   │    <> Unknown command 'reboot' - try 'help'
│   │   │    <> => cat
│   │   │    <> Unknown command 'cat' - try 'help'
│   │   │    <> => reset
│   │   │    <> resetting ...
│   │   │    <> 
│   │   │    <> 
│   │   │    <> U-Boot 2020.04.YodaPro-sma-20221215 (Dec 15 2022 - 20:08:00 +0000)
│   │   │    <> 
│   │   │    <> CPU:   NXP i.MX8DXL RevA1 A35 at 1200 MHz at 45C
│   │   │    <> 
│   │   │    <> DRAM:  1022 MiB
│   │   │    <> MMC:   FSL_SDHC: 0
│   │   │    <> Loading Environment from MMC... OK
│   │   │    <> In:    serial
│   │   │    <> Out:   serial
│   │   │    <> Err:   serial
│   │   │    <> Model: SMA YODAPRO
│   │   │    <> Board: VS-YODA-PRO-COM
│   │   │    <> DISP:  not found
│   │   │    <> sc_seco_v2x_build_info: res:8
│   │   │    <> 
│   │   │    <>  BuildInfo: 
│   │   │    <>   - SCFW cae076f8, SECO-FW b6fcc2c6, IMX-MKIMAGE f3335e39, ATF lf-5.15
│   │   │    <>   - U-Boot 2020.04.YodaPro-sma-20221215 
│   │   │    <> 
│   │   │    <> flash target is MMC:0
│   │   │    <> Net:   eth0: ethernet@5b050000
│   │   │    <> Fastboot: Normal
│   │   │    <> Normal Boot
│   │   │    <> Press SPACE to abort autoboot in 3 seconds
│   │   │    <> =>  
│   │   ├─[local] mkdir -p /home/adnanelhammoudi/Documents
│   │   ├─Calling uboot_testpy ...
│   │   │   ├─[local] bash --norc --noprofile
│   │   │   ├─Calling uboot_setup_testhooks ...
│   │   │   │   ├─[local] test -d /home/adnanelhammoudi/Documents/uboot-testpy-tbot
│   │   │   │   ├─Creating FIFOs ...
│   │   │   │   ├─[local] rm -rf /home/adnanelhammoudil/Documents/uboot-testpy-tbot/fifo_console_send
│   │   │   │   ├─[local] mkfifo /home/adnanelhammoudi/Documents/uboot-testpy-tbot/fifo_console_send
│   │   │   │   ├─[local] rm -rf /home/adnanelhammoudi/Documents/uboot-testpy-tbot/fifo_console_recv
│   │   │   │   ├─[local] mkfifo /home/adnanelhammoudi/Documents/uboot-testpy-tbot/fifo_console_recv
│   │   │   │   ├─[local] rm -rf /home/adnanelhammoudi/Documents/uboot-testpy-tbot/fifo_commands
│   │   │   │   ├─[local] mkfifo /home/adnanelhammoudi/Documents/uboot-testpy-tbot/fifo_commands
│   │   │   │   ├─[local] cat /home/adnanelhammoudi/Documents/uboot-testpy-tbot/tbot-scripts.sha256
│   │   │   │   │    ## 2d30892b61eb713ce9413e06c4f2a0cd00d2a74b6b8c2ac6624e1e49909b1897
│   │   │   │   ├─Hooks are up to date, skipping deployment ...
│   │   │   │   ├─Adding hooks to $PATH ...
│   │   │   │   ├─[local] echo " ${PATH}"
│   │   │   │   │    ##  /home/adnanelhammoudi/Documents/dmo-system-test/scripts/env/bin:/home/adnanelhammoudi/.vscode-server/bin/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/bin/remote-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
│   │   │   │   ├─[local] export PATH=/home/adnanelhammoudil/Documents/uboot-testpy-tbot:/home/adnanelhammoudi/Documents/dmo-system-test/scripts/env/bin:/home/adnanelhammoudi/.vscode-server/bin/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/bin/remote-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
│   │   │   │   ├─Open console & command channels ...
│   │   │   │   ├─[local] /home/adnanelhammoudi/Documents/uboot-testpy-tbot/tbot-console
│   │   │   │   ├─[local] /home/adnanelhammoudi/Documents/uboot-testpy-tbot/tbot-commands
│   │   │   │   └─Done. (0.030s)
│   │   │   ├─[local] test -e /home/adnanelhammoudi/Documents/u-boot/.config
│   │   │   ├─[local] test -e /home/adnanelhammoudi/Documents/u-boot/include/autoconf.mk
│   │   │   ├─[local] printf %s '' >/home/adnanelhammoudi/Documents/u-boot/test/py/u_boot_boardenv_tbot_imx8.py
│   │   │   ├─[local] cd /home/adnanelhammoudi/Documents/u-boot
│   │   │   ├─[local] ./test/py/test.py --build-dir . --board-type tbot-imx8
│   │   │   │    ## +u-boot-test-flash tbot-imx8 na
│   │   │   │    ## ================================= test session starts ==================================
│   │   │   │    ## platform linux -- Python 3.8.10, pytest-7.3.1, pluggy-1.0.0
│   │   │   │    ## rootdir: /home/adnanelhammoudi/Documents/u-boot/test/py
│   │   │   │    ## configfile: pytest.ini
│   │   │   │    ## plugins: metadata-3.0.0, xdist-3.5.0, html-4.1.1
│   │   │   │    ## collected 429 items                                                                    
│   │   │   │    ## 
│   │   │   │    ## test/py/tests/test_000_version.py 
│   │   │   └─Fail. (31.088s)
│   │   ├─POWEROFF (imx8q)
│   │   └─Fail. (34.379s)
FAILED

============================================================================= FAILURES =============================================================================
_________________________________________________________________________ test_run_testpy __________________________________________________________________________

    @tbot.testcase
    def test_run_testpy():
        with tbot.ctx() as cx:
            lb = cx.request(tbot.role.LocalHost)
            b = cx.request(tbot.role.Board)
            ub = cx.request(tbot.role.BoardUBoot)
            build_dir = lb.workdir
>           uboot.testpy(
            build_dir,
            boardenv=BOARDENV,
            board=b,
            uboot=ub,
            testpy_args=["-k", "not (clean  or dm or efi or env or hashes or gpt or help or hush or gpio or net or md or part or pinmux or shell or sleep)"],)

test_cases/test_uboot.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../.local/lib/python3.8/site-packages/tbot/decorators.py:92: in wrapped
    return tc(*args, **kwargs)
../../.local/lib/python3.8/site-packages/tbot_contrib/uboot/_testpy.py:343: in testpy
    b.poweron()
config/serial_local_config.py:46: in poweron
    self.ch.sendcontrol("C")
../../.local/lib/python3.8/site-packages/tbot/machine/channel/channel.py:705: in sendcontrol
    self.write(bytes([num]), _ignore_blacklist=True)
../../.local/lib/python3.8/site-packages/tbot/machine/channel/channel.py:342: in write
    bytes_written = self._c.write(buf[cursor:])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tbot.machine.channel.channel.ChannelBorrowed object at 0x7fe7dbdbeb50>, buf = b'\x03'

    def write(self, buf: bytes) -> int:
>       raise self.exception()
E       tbot.error.ChannelBorrowedError: channel is currently borrowed by another machine

../../.local/lib/python3.8/site-packages/tbot/machine/channel/channel.py:159: ChannelBorrowedError
------------------------- Generated html report: file:///home/adnanelhammoudi%40digitalgateamg.local/Documents/dmo-system-test/report.html -------------------------
===================================================================== short test summary info ======================================================================
FAILED test_cases/test_uboot.py::test_run_testpy - tbot.error.ChannelBorrowedError: channel is currently borrowed by another machine
======================================================================== 1 failed in 34.48s =======================================================================

@Adnan-Elhammoudi Adnan-Elhammoudi changed the title test/py test-framework hangs on test_000_version.py test/py test-framework hangs on some tests Dec 29, 2023
@Adnan-Elhammoudi
Copy link
Author

I have updated the logs, it raised an error after 34 s indicating that the channel has been borrowed!

@Adnan-Elhammoudi
Copy link
Author

it seems the other tests in test/py framework won't run due to the source code of u-boot not including some menu config configurations, since each test has its fixture, but tbot can't skip the test or raise a warning instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant