Compare commits

...

4 Commits

Author SHA1 Message Date
Tom Rini
b73d114213 pytest: Fix squashfs tests not checking for directory exists
It is possible that we will have our "sqfs_src" directory already
existing, and not be in an error condition.  Don't try and make the
directory again.

Signed-off-by: Tom Rini <trini@konsulko.com>
2021-02-25 14:28:10 -05:00
Tom Rini
c0b354ed02 Azure/GitLab: Ensure we use requirements.txt for testsuites
Given that test/py/requirements.txt has all required test modules, make
use of that rather than a manual pip install list before running our
assorted tool testsuites.

Signed-off-by: Tom Rini <trini@konsulko.com>
2021-02-25 13:47:36 -05:00
Tom Rini
01585fbf6b pytest: Lower pygit2 requirement
The latest versions of pygit2 are not available in practically any
distribution at this time.  Furthermore, we don't need the latest in
order to run all of our testsuites.  Reduce this version requirement to
something older that meets our needs while still supporting running our
tests on older hosts (and so, test labs).

Reported-by: Tom Warren <twarren@nvidia.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-02-25 13:22:43 -05:00
Tom Rini
4e238b7c1a GitLab: Remove "tags" stanzas
Given the structure of our current GitLab tests, we don't make real use
of the tags.  Furthermore, these tags prevent the automatic usage of the
default GitLab runners.  Remove these tags.

Reported-by: Roger Meier <r.meier@siemens.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-02-25 13:20:07 -05:00
4 changed files with 5 additions and 50 deletions

View File

@ -144,7 +144,7 @@ jobs:
export USER=azure export USER=azure
virtualenv -p /usr/bin/python3 /tmp/venv virtualenv -p /usr/bin/python3 /tmp/venv
. /tmp/venv/bin/activate . /tmp/venv/bin/activate
pip install pyelftools pytest pygit2 pip install -r test/py/requirements.txt
export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl
export PYTHONPATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt export PYTHONPATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt
export PATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH} export PATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}

View File

@ -11,7 +11,6 @@ stages:
- world build - world build
.buildman_and_testpy_template: &buildman_and_testpy_dfn .buildman_and_testpy_template: &buildman_and_testpy_dfn
tags: [ 'all' ]
stage: test.py stage: test.py
before_script: before_script:
# Clone uboot-test-hooks # Clone uboot-test-hooks
@ -53,7 +52,6 @@ stages:
--build-dir "$UBOOT_TRAVIS_BUILD_DIR" --build-dir "$UBOOT_TRAVIS_BUILD_DIR"
build all 32bit ARM platforms: build all 32bit ARM platforms:
tags: [ 'all' ]
stage: world build stage: world build
script: script:
- ret=0; - ret=0;
@ -64,7 +62,6 @@ build all 32bit ARM platforms:
fi; fi;
build all 64bit ARM platforms: build all 64bit ARM platforms:
tags: [ 'all' ]
stage: world build stage: world build
script: script:
- virtualenv -p /usr/bin/python3 /tmp/venv - virtualenv -p /usr/bin/python3 /tmp/venv
@ -78,7 +75,6 @@ build all 64bit ARM platforms:
fi; fi;
build all PowerPC platforms: build all PowerPC platforms:
tags: [ 'all' ]
stage: world build stage: world build
script: script:
- ret=0; - ret=0;
@ -89,7 +85,6 @@ build all PowerPC platforms:
fi; fi;
build all other platforms: build all other platforms:
tags: [ 'all' ]
stage: world build stage: world build
script: script:
- ret=0; - ret=0;
@ -102,14 +97,12 @@ build all other platforms:
# QA jobs for code analytics # QA jobs for code analytics
# static code analysis with cppcheck (we can add --enable=all later) # static code analysis with cppcheck (we can add --enable=all later)
cppcheck: cppcheck:
tags: [ 'all' ]
stage: testsuites stage: testsuites
script: script:
- cppcheck -j$(nproc) --force --quiet --inline-suppr . - cppcheck -j$(nproc) --force --quiet --inline-suppr .
# search for TODO within source tree # search for TODO within source tree
grep TODO/FIXME/HACK: grep TODO/FIXME/HACK:
tags: [ 'all' ]
stage: testsuites stage: testsuites
script: script:
- grep -r TODO . - grep -r TODO .
@ -119,7 +112,6 @@ grep TODO/FIXME/HACK:
# build HTML documentation # build HTML documentation
htmldocs: htmldocs:
tags: [ 'all' ]
stage: testsuites stage: testsuites
script: script:
- virtualenv -p /usr/bin/python3 /tmp/venvhtml - virtualenv -p /usr/bin/python3 /tmp/venvhtml
@ -129,34 +121,29 @@ htmldocs:
# some statistics about the code base # some statistics about the code base
sloccount: sloccount:
tags: [ 'all' ]
stage: testsuites stage: testsuites
script: script:
- sloccount . - sloccount .
# ensure all configs have MAINTAINERS entries # ensure all configs have MAINTAINERS entries
Check for configs without MAINTAINERS entry: Check for configs without MAINTAINERS entry:
tags: [ 'all' ]
stage: testsuites stage: testsuites
script: script:
- if [ `./tools/genboardscfg.py -f 2>&1 | wc -l` -ne 0 ]; then exit 1; fi - if [ `./tools/genboardscfg.py -f 2>&1 | wc -l` -ne 0 ]; then exit 1; fi
# Ensure host tools build # Ensure host tools build
Build tools-only: Build tools-only:
tags: [ 'all' ]
stage: testsuites stage: testsuites
script: script:
- make tools-only_config tools-only -j$(nproc) - make tools-only_config tools-only -j$(nproc)
# Ensure env tools build # Ensure env tools build
Build envtools: Build envtools:
tags: [ 'all' ]
stage: testsuites stage: testsuites
script: script:
- make tools-only_config envtools -j$(nproc) - make tools-only_config envtools -j$(nproc)
Run binman, buildman, dtoc, Kconfig and patman testsuites: Run binman, buildman, dtoc, Kconfig and patman testsuites:
tags: [ 'all' ]
stage: testsuites stage: testsuites
script: script:
- git config --global user.name "GitLab CI Runner"; - git config --global user.name "GitLab CI Runner";
@ -164,7 +151,7 @@ Run binman, buildman, dtoc, Kconfig and patman testsuites:
export USER=gitlab; export USER=gitlab;
virtualenv -p /usr/bin/python3 /tmp/venv; virtualenv -p /usr/bin/python3 /tmp/venv;
. /tmp/venv/bin/activate; . /tmp/venv/bin/activate;
pip install pyelftools pytest pygit2; pip install -r test/py/requirements.txt;
export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl; export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl;
export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"; export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt";
export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}"; export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}";
@ -176,7 +163,6 @@ Run binman, buildman, dtoc, Kconfig and patman testsuites:
make testconfig make testconfig
Run tests for Nokia RX-51 (aka N900): Run tests for Nokia RX-51 (aka N900):
tags: [ 'all' ]
stage: testsuites stage: testsuites
script: script:
- ./tools/buildman/buildman --fetch-arch arm; - ./tools/buildman/buildman --fetch-arch arm;
@ -185,54 +171,46 @@ Run tests for Nokia RX-51 (aka N900):
# Test sandbox with test.py # Test sandbox with test.py
sandbox test.py: sandbox test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "sandbox" TEST_PY_BD: "sandbox"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
sandbox with clang test.py: sandbox with clang test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "sandbox" TEST_PY_BD: "sandbox"
OVERRIDE: "-O clang-10" OVERRIDE: "-O clang-10"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
sandbox_spl test.py: sandbox_spl test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "sandbox_spl" TEST_PY_BD: "sandbox_spl"
TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl" TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
evb-ast2500 test.py: evb-ast2500 test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "evb-ast2500" TEST_PY_BD: "evb-ast2500"
TEST_PY_ID: "--id qemu" TEST_PY_ID: "--id qemu"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
sandbox_flattree test.py: sandbox_flattree test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "sandbox_flattree" TEST_PY_BD: "sandbox_flattree"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
vexpress_ca15_tc2 test.py: vexpress_ca15_tc2 test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "vexpress_ca15_tc2" TEST_PY_BD: "vexpress_ca15_tc2"
TEST_PY_ID: "--id qemu" TEST_PY_ID: "--id qemu"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
vexpress_ca9x4 test.py: vexpress_ca9x4 test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "vexpress_ca9x4" TEST_PY_BD: "vexpress_ca9x4"
TEST_PY_ID: "--id qemu" TEST_PY_ID: "--id qemu"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
integratorcp_cm926ejs test.py: integratorcp_cm926ejs test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "integratorcp_cm926ejs" TEST_PY_BD: "integratorcp_cm926ejs"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
@ -240,49 +218,42 @@ integratorcp_cm926ejs test.py:
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu_arm test.py: qemu_arm test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu_arm" TEST_PY_BD: "qemu_arm"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu_arm64 test.py: qemu_arm64 test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu_arm64" TEST_PY_BD: "qemu_arm64"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu_mips test.py: qemu_mips test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu_mips" TEST_PY_BD: "qemu_mips"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu_mipsel test.py: qemu_mipsel test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu_mipsel" TEST_PY_BD: "qemu_mipsel"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu_mips64 test.py: qemu_mips64 test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu_mips64" TEST_PY_BD: "qemu_mips64"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu_mips64el test.py: qemu_mips64el test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu_mips64el" TEST_PY_BD: "qemu_mips64el"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu_malta test.py: qemu_malta test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "malta" TEST_PY_BD: "malta"
TEST_PY_TEST_SPEC: "not sleep and not efi" TEST_PY_TEST_SPEC: "not sleep and not efi"
@ -290,7 +261,6 @@ qemu_malta test.py:
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu_maltael test.py: qemu_maltael test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "maltael" TEST_PY_BD: "maltael"
TEST_PY_TEST_SPEC: "not sleep and not efi" TEST_PY_TEST_SPEC: "not sleep and not efi"
@ -298,7 +268,6 @@ qemu_maltael test.py:
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu_malta64 test.py: qemu_malta64 test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "malta64" TEST_PY_BD: "malta64"
TEST_PY_TEST_SPEC: "not sleep and not efi" TEST_PY_TEST_SPEC: "not sleep and not efi"
@ -306,7 +275,6 @@ qemu_malta64 test.py:
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu_malta64el test.py: qemu_malta64el test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "malta64el" TEST_PY_BD: "malta64el"
TEST_PY_TEST_SPEC: "not sleep and not efi" TEST_PY_TEST_SPEC: "not sleep and not efi"
@ -314,84 +282,72 @@ qemu_malta64el test.py:
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu-ppce500 test.py: qemu-ppce500 test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu-ppce500" TEST_PY_BD: "qemu-ppce500"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu-riscv32 test.py: qemu-riscv32 test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu-riscv32" TEST_PY_BD: "qemu-riscv32"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu-riscv64 test.py: qemu-riscv64 test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu-riscv64" TEST_PY_BD: "qemu-riscv64"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu-riscv32_spl test.py: qemu-riscv32_spl test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu-riscv32_spl" TEST_PY_BD: "qemu-riscv32_spl"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu-riscv64_spl test.py: qemu-riscv64_spl test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu-riscv64_spl" TEST_PY_BD: "qemu-riscv64_spl"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu-x86 test.py: qemu-x86 test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu-x86" TEST_PY_BD: "qemu-x86"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
qemu-x86_64 test.py: qemu-x86_64 test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "qemu-x86_64" TEST_PY_BD: "qemu-x86_64"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
r2dplus_i82557c test.py: r2dplus_i82557c test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "r2dplus" TEST_PY_BD: "r2dplus"
TEST_PY_ID: "--id i82557c_qemu" TEST_PY_ID: "--id i82557c_qemu"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
r2dplus_pcnet test.py: r2dplus_pcnet test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "r2dplus" TEST_PY_BD: "r2dplus"
TEST_PY_ID: "--id pcnet_qemu" TEST_PY_ID: "--id pcnet_qemu"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
r2dplus_rtl8139 test.py: r2dplus_rtl8139 test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "r2dplus" TEST_PY_BD: "r2dplus"
TEST_PY_ID: "--id rtl8139_qemu" TEST_PY_ID: "--id rtl8139_qemu"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
r2dplus_tulip test.py: r2dplus_tulip test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "r2dplus" TEST_PY_BD: "r2dplus"
TEST_PY_ID: "--id tulip_qemu" TEST_PY_ID: "--id tulip_qemu"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
xilinx_zynq_virt test.py: xilinx_zynq_virt test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "xilinx_zynq_virt" TEST_PY_BD: "xilinx_zynq_virt"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
@ -399,7 +355,6 @@ xilinx_zynq_virt test.py:
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
xilinx_versal_virt test.py: xilinx_versal_virt test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "xilinx_versal_virt" TEST_PY_BD: "xilinx_versal_virt"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"
@ -407,7 +362,6 @@ xilinx_versal_virt test.py:
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
xtfpga test.py: xtfpga test.py:
tags: [ 'all' ]
variables: variables:
TEST_PY_BD: "xtfpga" TEST_PY_BD: "xtfpga"
TEST_PY_TEST_SPEC: "not sleep" TEST_PY_TEST_SPEC: "not sleep"

View File

@ -11,7 +11,7 @@ pbr==5.4.3
pluggy==0.13.0 pluggy==0.13.0
py==1.8.0 py==1.8.0
pyelftools==0.27 pyelftools==0.27
pygit2==1.4.0 pygit2==0.28.2
pyparsing==2.4.2 pyparsing==2.4.2
pytest==5.2.1 pytest==5.2.1
python-mimeparse==1.6.0 python-mimeparse==1.6.0

View File

@ -32,7 +32,8 @@ class Compression:
def gen_image(self, build_dir): def gen_image(self, build_dir):
src = os.path.join(build_dir, "sqfs_src/") src = os.path.join(build_dir, "sqfs_src/")
os.mkdir(src) if not os.path.exists(src):
os.mkdir(src)
for (f, s) in zip(self.files, self.sizes): for (f, s) in zip(self.files, self.sizes):
sqfs_generate_file(src + f, s) sqfs_generate_file(src + f, s)