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
This commit is contained in:
@@ -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@2
|
||||
|
||||
Reference in New Issue
Block a user