From 5e35ea241221a6ae506131778701e7825e6e03bd Mon Sep 17 00:00:00 2001 From: Hayden Roche Date: Mon, 18 Nov 2024 11:25:44 -0800 Subject: [PATCH] NF-613: Fix card.binary HIL tests. - Hardcode Notestation to los-angeles-notestation-1. This one's known to be set up for running these tests. I have work in progress to make it so this doesn't need to be hardcoded (i.e. the Notestation client can discover which stations can run these tests), but it's not finished, yet. - Make sure to kill the Notestation client in the GitHub Actions workflow when done with the Notestation. - Move the `file .pio/build/debug/firmware.elf` gdb command earlier in the custom upload command for PlatformIO. This just gets rid of some warnings I was seeing in the log. No functional difference. - Change test_port to /tmp/ns_mcu_usb from /tmp/mcu_usb. The former is the new default path for the MCU USB device with the latest Notestation client. --- .github/workflows/notecard-binary-tests.yml | 12 ++++++++---- test/hitl/card.binary/platformio.ini | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/notecard-binary-tests.yml b/.github/workflows/notecard-binary-tests.yml index de45dd1..068155b 100644 --- a/.github/workflows/notecard-binary-tests.yml +++ b/.github/workflows/notecard-binary-tests.yml @@ -186,13 +186,13 @@ jobs: cd hil_lab/ pip install -r requirements.txt - # Reserve a Notestation with the label "note_c_card_binary_test", - # which means it has everything needed to run the note-c card.binary - # tests. + # For now, we're hardcoding the Notestation to + # los-angeles-notestation-1, which is the only one we've set up to run + # these tests. cd notestation/ nohup python -m core.card_client \ --mcu-debug \ - --labels '["note_c_card_binary_test"]' \ + --notestation los-angeles-notestation-1 \ --res-file ./reservation.json &> card_client.log & PID=$! @@ -231,11 +231,13 @@ jobs: if [ -z "$MCU_GDB_SERVER_IP" ] || [ "$MCU_GDB_SERVER_IP" == "null" ]; then echo "Error: MCU_GDB_SERVER_IP is empty or not defined." + kill $PID 2>/dev/null exit 1 fi if [ -z "$MCU_GDB_SERVER_PORT" ] || [ "$MCU_GDB_SERVER_PORT" -eq 0 ]; then echo "Error: MCU_GDB_SERVER_PORT is empty or zero." + kill $PID 2>/dev/null exit 1 fi @@ -256,6 +258,8 @@ jobs: --json-output-path test.json \ --junit-output-path test.xml + kill $PID 2>/dev/null + - name: Publish test report uses: mikepenz/action-junit-report@v3 env: diff --git a/test/hitl/card.binary/platformio.ini b/test/hitl/card.binary/platformio.ini index f4972b8..adddd03 100644 --- a/test/hitl/card.binary/platformio.ini +++ b/test/hitl/card.binary/platformio.ini @@ -41,5 +41,5 @@ extra_scripts = post:wait_for_test_port.py build_type = debug debug_test = * upload_protocol = custom -upload_command = ${sysenv.GDB_CMD} -ex "set confirm off" -ex "set pagination off" -ex "target extended-remote ${sysenv.MCU_GDB_SERVER_IP}:${sysenv.MCU_GDB_SERVER_PORT}" -ex "monitor reset halt" -ex "file .pio/build/debug/firmware.elf" -ex "load" -ex "monitor reset" -ex "quit" -test_port = /tmp/mcu_usb +upload_command = ${sysenv.GDB_CMD} -ex "set confirm off" -ex "set pagination off" -ex "file .pio/build/debug/firmware.elf" -ex "target extended-remote ${sysenv.MCU_GDB_SERVER_IP}:${sysenv.MCU_GDB_SERVER_PORT}" -ex "monitor reset halt" -ex "load" -ex "monitor reset" -ex "quit" +test_port = /tmp/ns_mcu_usb