[PATCH v3 1/2] CI testing: add http server to CI tests
Ilias Apalodimas
ilias.apalodimas at linaro.org
Mon May 19 09:05:37 CEST 2025
On Wed, 14 May 2025 at 19:17, Adriano Cordova <adrianox at gmail.com> wrote:
>
> Add an http server to CI tests so that HTTP booting and
> loading can be tested.
>
> Signed-off-by: Adriano Cordova <adriano.cordova at canonical.com>
> ---
>
> changes in v2:
> - Remove HTTP_SERVER argument for test.py
>
> .azure-pipelines.yml | 11 +++++++++++
> .gitlab-ci.yml | 11 +++++++++++
> 2 files changed, 22 insertions(+)
>
> diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
> index 9c136513bb9..334cf27cfb5 100644
> --- a/.azure-pipelines.yml
> +++ b/.azure-pipelines.yml
> @@ -316,9 +316,20 @@ stages:
> fi
> export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:\${PATH}
> export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci
> + python3 -m http.server 80 --directory "\${UBOOT_TRAVIS_BUILD_DIR}" > /dev/null 2>&1 &
> + HTTP_PID=\$!
> + sleep 1 # Give the server a moment to start
> + if ps -p \${HTTP_PID} > /dev/null; then
> + export HTTP_PID
> + else
> + unset HTTP_PID
> + fi
> # "\${var:+"-k \$var"}" expands to "" if \$var is empty, "-k \$var" if not
> ./test/py/test.py -ra -o cache_dir="\$UBOOT_TRAVIS_BUILD_DIR"/.pytest_cache --bd \${TEST_PY_BD} \${TEST_PY_ID} \${TEST_PY_EXTRA} \${TEST_PY_TEST_SPEC:+"-k \${TEST_PY_TEST_SPEC}"} --build-dir "\$UBOOT_TRAVIS_BUILD_DIR" --report-dir "\$UBOOT_TRAVIS_BUILD_DIR" --junitxml=\$(System.DefaultWorkingDirectory)/results.xml
> # the below corresponds to .gitlab-ci.yml "after_script"
> + if [[ -n "\${HTTP_PID}" ]]; then
> + kill \${HTTP_PID};
> + fi
> rm -rf /tmp/uboot-test-hooks /tmp/venv
> EOF
> - task: CopyFiles at 2
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 7aadd5d8b73..f320de0c29c 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -106,10 +106,21 @@ stages:
> # "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not
> - export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
> export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
> + python3 -m http.server 80 --directory "${UBOOT_TRAVIS_BUILD_DIR}" > /dev/null 2>&1 &
> + HTTP_PID=$!
> + sleep 1 # Give the server a moment to start
> + if ps -p ${HTTP_PID} > /dev/null; then
> + export HTTP_PID
> + else
> + unset HTTP_PID
> + fi
> ./test/py/test.py -ra --bd ${TEST_PY_BD} ${TEST_PY_ID} ${TEST_PY_EXTRA}
> ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"}
> --build-dir "$UBOOT_TRAVIS_BUILD_DIR"
> --junitxml=/tmp/${TEST_PY_BD}/results.xml
> + if [[ -n "${HTTP_PID}" ]]; then
> + kill ${HTTP_PID};
> + fi
> artifacts:
> when: always
> paths:
> --
> 2.48.1
>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
More information about the U-Boot
mailing list