summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2025-05-30 10:26:33 -0600
committerTom Rini <trini@konsulko.com>2025-05-30 11:19:45 -0600
commit5eb1b7843811e3e87b0e677212a9145f07552a60 (patch)
tree4cb70288edeec4d3cee69e4b66f5f4a3a14c01b6 /.gitlab-ci.yml
parente15282f943b42647478ec158011656df7cf12ec2 (diff)
parentec1d9f3fe81708ef7e5e45a46564f286404a7aba (diff)
Merge patch series "test/py: enable HTTP testing"
Adriano Cordova <adrianox@gmail.com> says: Enable HTTP server in CI to support HTTP tests in pytest QEMU does not emulate an HTTP server, unlike other services like DHCP or TFTP. To enable HTTP tests during CI runs, start a simple Python HTTP server on port 80. This allows tests that require HTTP access to run. The HTTP server is launched on the host. For QEMU environments launched with '-netdev,user' this means that the HTTP server runs together with DHCP at 10.0.2.2. HTTP testing needs to be explicitly enabled with env__efi_helloworld_net_http_test_skip = False. We also default `WGET=y` in `ARCH_QEMU` configurations so that these HTTP tests are included automatically when using QEMU in CI. Link: https://lore.kernel.org/r/20250516085256.30386-1-adriano.cordova@canonical.com
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml13
1 files changed, 12 insertions, 1 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d2faa107443..18afc03b460 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
+ --junitxml=/tmp/${TEST_PY_BD}/results.xml;
+ if [[ -n "${HTTP_PID}" ]]; then
+ kill ${HTTP_PID};
+ fi
artifacts:
when: always
paths: