From: Adriano Cordova Date: Fri, 16 May 2025 08:52:55 +0000 (-0400) Subject: CI testing: add http server to CI tests X-Git-Tag: v2025.10-rc1~118^2~57^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e58991339843faa87c28c7d4caf4318ea2046c4;p=thirdparty%2Fu-boot.git CI testing: add http server to CI tests Add an http server to CI tests so that HTTP booting and loading can be tested. Signed-off-by: Adriano Cordova Reviewed-by: Tom Rini Reviewed-by: Ilias Apalodimas --- 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@2 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7aadd5d8b73..9f94f4a518f 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: