-
Notifications
You must be signed in to change notification settings - Fork 127
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
Set up automated testing on hardware #439
Comments
A self-hosted runner has been set up with a number of devices connected to it. |
I think this will need to slip into next quarter, unfortunately. Once HIL testing in |
New updates for HIL testingTest branch - https://github.com/esp-rs/espflash/tree/test/hil Problem with standard inputGithub Actions are designed for non-interactive use and When
If there is no input connected, it fails immediately with next error:
You can easily reproduce this error in your terminal by running one of the following commands:
And then run script workaroundThere is workaround which prepares TTY for Github Actions workflow steps - https://github.com/gfx/example-github-actions-with-tty?tab=readme-ov-file Example: - name: monitor test
env:
ESPFLASH_PORT: /dev/serial_ports/${{ matrix.board }}
shell: 'script -qec "bash {0}"'
run: timeout 10s espflash_app/espflash monitor It works fine, but it's still not what we need. * Important note from
Reset solutionNew feature with before and after arguments allows to monitor a target without reseting it - #561 Updated workflow step: - name: monitor test
env:
ESPFLASH_PORT: /dev/serial_ports/${{ matrix.board }}
shell: 'script -qec "bash {0}"'
run: timeout 10s espflash_app/espflash monitor -b no-reset-no-sync -c ${{ matrix.board }} Now Serial port output is missingGithub Actions doesn't show output from serial port. Here are some examples: espflash flashespflash_app/espflash flash --port /dev/ttyUSB0 espflash/esp32s3_app/hello_world Expected output:
Result:
espflash monitorespflash_app/espflash monitor -b no-reset-no-sync -c esp32c3 --port /dev/ttyUSB0 Expected output:
Result:
cat alternativeHowever, if we read the contents of the port using the Example: - name: cat serial port
env:
ESPFLASH_PORT: /dev/serial_ports/${{ matrix.board }}
run: timeout 5s cat ${{ env.ESPFLASH_PORT }} But this way we can't verify espflash subcommands. |
Over the coming weeks we will come up with a plan for adding automated testing on hardware for this repository, likely as a scheduled workflow.
As the path forward becomes more clear I will continue to update this issue with information and tasks as needed.
Currently blocked on #466
The text was updated successfully, but these errors were encountered: