Skip to content

feat(esp_delta_ota): Added pytest for the delta OTA example#609

Open
hrushikesh430 wants to merge 6 commits intoespressif:masterfrom
hrushikesh430:feat/added_pytest_for_delta_ota
Open

feat(esp_delta_ota): Added pytest for the delta OTA example#609
hrushikesh430 wants to merge 6 commits intoespressif:masterfrom
hrushikesh430:feat/added_pytest_for_delta_ota

Conversation

@hrushikesh430
Copy link
Collaborator

Description

  1. Added pytest for the esp https delta OTA example

@hrushikesh430 hrushikesh430 self-assigned this Nov 11, 2025
@hrushikesh430 hrushikesh430 marked this pull request as draft November 11, 2025 11:20
@hrushikesh430 hrushikesh430 force-pushed the feat/added_pytest_for_delta_ota branch 8 times, most recently from d5697af to 58d4719 Compare November 19, 2025 06:56
@hrushikesh430 hrushikesh430 force-pushed the feat/added_pytest_for_delta_ota branch from 58d4719 to 3cc2130 Compare December 8, 2025 06:44
@hrushikesh430 hrushikesh430 force-pushed the feat/added_pytest_for_delta_ota branch 4 times, most recently from 8a2e671 to a87ade5 Compare December 18, 2025 09:49
@hrushikesh430 hrushikesh430 force-pushed the feat/added_pytest_for_delta_ota branch 6 times, most recently from 6021f5b to 823b8ba Compare January 12, 2026 10:37
@hrushikesh430 hrushikesh430 force-pushed the feat/added_pytest_for_delta_ota branch 5 times, most recently from 0a4ec06 to 23e674c Compare January 20, 2026 11:31
@hrushikesh430 hrushikesh430 force-pushed the feat/added_pytest_for_delta_ota branch from 23e674c to 1290fca Compare January 28, 2026 11:48
@hrushikesh430 hrushikesh430 force-pushed the feat/added_pytest_for_delta_ota branch from 1290fca to 9e58b08 Compare February 10, 2026 09:34
@hrushikesh430 hrushikesh430 force-pushed the feat/added_pytest_for_delta_ota branch from 9e58b08 to e48c135 Compare February 10, 2026 10:10
- Unable to connect the python server through device, as the application
runs on the device and pytest runs in the container.
@hrushikesh430 hrushikesh430 force-pushed the feat/added_pytest_for_delta_ota branch from e48c135 to 2764f8b Compare February 11, 2026 07:08
Unable to take the dut.app.partition_table, need to set the
IDF_PATH
@hrushikesh430 hrushikesh430 marked this pull request as ready for review February 11, 2026 09:56
@hrushikesh430
Copy link
Collaborator Author

@mahavirj PTAL.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds CI-oriented pytest coverage for the esp_delta_ota/examples/https_delta_ota example by introducing a local HTTPS server mode on-device, a partition to hold the generated patch, and build/test manifest rules to enable the app for ESP32 CI runs.

Changes:

  • Added a pytest-based delta OTA flow that generates a patch, writes it to a dedicated patch_data partition, and triggers OTA via a local HTTPS server on the DUT.
  • Added CI-test-only local HTTPS server implementation and Kconfig/CMake integration to embed server certs/keys.
  • Updated partition table and build-app rules to support/enable CI testing for ESP32.

Reviewed changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
esp_delta_ota/examples/https_delta_ota/tools/requirements.txt Adds esptool dependency for tooling used by pytest/patch generation.
esp_delta_ota/examples/https_delta_ota/sdkconfig.ci CI config enabling stdin URL flow, CI test mode, and HTTPS server features.
esp_delta_ota/examples/https_delta_ota/pytest_https_delta_ota.py New pytest test that generates/writes patch and drives OTA via stdin + local server.
esp_delta_ota/examples/https_delta_ota/partitions.csv Fixes explicit offsets and adds patch_data partition for CI patch serving.
esp_delta_ota/examples/https_delta_ota/main/tests/test_local_server_ota.h Declares CI-test server + stdin parsing helpers.
esp_delta_ota/examples/https_delta_ota/main/tests/test_local_server_ota.c Implements local HTTPS server + stdin parsing to set patch size/url.
esp_delta_ota/examples/https_delta_ota/main/tests/hello_world_esp32.bin Adds prebuilt target binary used as “new firmware” for delta patch generation.
esp_delta_ota/examples/https_delta_ota/main/tests/certs/servercert.pem Adds embedded server certificate for DUT local HTTPS server (CI mode).
esp_delta_ota/examples/https_delta_ota/main/tests/certs/prvtkey.pem Adds embedded private key for DUT local HTTPS server (CI mode).
esp_delta_ota/examples/https_delta_ota/main/main.c Adds stdin URL mode and CI-test local server startup; switches embedded cert symbol names.
esp_delta_ota/examples/https_delta_ota/main/Kconfig.projbuild Adds CI-test enable flag and derived “URL from stdin” config.
esp_delta_ota/examples/https_delta_ota/main/CMakeLists.txt Conditionally includes CI server source and embeds TLS assets.
esp_delta_ota/examples/https_delta_ota/CMakeLists.txt Updates CMake minimum version and includes esp_eth component.
esp_delta_ota/.build-test-rules.yml New build/test enablement rules for esp_delta_ota apps (ESP32 only).
.idf_build_apps.toml Registers esp_delta_ota/.build-test-rules.yml manifest in the root build-apps config.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@hrushikesh430 hrushikesh430 force-pushed the feat/added_pytest_for_delta_ota branch from 5b27326 to 888c5cc Compare February 12, 2026 05:58
@hrushikesh430
Copy link
Collaborator Author

@mahavirj PTAL.

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

Successfully merging this pull request may close these issues.

1 participant