[PATCH v4 1/2] CI testing: add http server to CI tests
Adriano Cordova
adrianox at gmail.com
Fri May 16 10:52:55 CEST 2025
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>
Reviewed-by: Tom Rini <trini at konsulko.com>
---
changes in v2:
- Remove HTTP_SERVER argument for test.py
changes in v4:
- Remove comment in .gitlab-ci.yml that was preventing
parsing
.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..88f7861656e 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
+ 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
More information about the U-Boot
mailing list