forked from Mirror/pmbootstrap
* Moved the `script` and `after_failure` sections of `.travis.yml` to extra files in a new `.travis/` folder * Copy paste `.travis/common.sh` from Alpine's aport. They have neat formatting functions in there for folding * Add a folding block around each script that gets called * Use native tracebacks in pytest. These are the same as we see when pmbootstrap crashes usually, instead of printing out the entire function that causes an error. I think this makes the error output easier to read.
38 lines
1.1 KiB
Bash
Executable file
38 lines
1.1 KiB
Bash
Executable file
#!/bin/sh -e
|
|
# usage: testcases_fast.sh [--all]
|
|
|
|
# Disable slow testcases
|
|
disabled="qemu_running_processes"
|
|
|
|
# Optionally enable all test cases
|
|
if [ "$1" = "--all" ]; then
|
|
disabled=""
|
|
else
|
|
echo "Disabled test case(s): $disabled"
|
|
echo "Use '$(basename "$0") --all' to enable all test cases."
|
|
fi
|
|
|
|
# Make sure we have a valid device (#1128)
|
|
cd "$(dirname "$0")/.."
|
|
device="$(./pmbootstrap.py config device)"
|
|
deviceinfo="$PWD/aports/device/device-$device/deviceinfo"
|
|
if ! [ -e "$deviceinfo" ]; then
|
|
echo "ERROR: Could not find deviceinfo file for selected device '$device'."
|
|
echo "Expected path: $deviceinfo"
|
|
echo "Maybe you have switched to a branch where your device does not exist?"
|
|
echo "Use 'pmbootstrap config device qemu-amd64' to switch to a valid device."
|
|
exit 1
|
|
fi
|
|
|
|
# Filter out disabled testcases
|
|
enabled=""
|
|
for file in test/test_*.py; do
|
|
for test in $disabled; do
|
|
[ "test/test_${test}.py" = "$file" ] && continue 2
|
|
done
|
|
enabled="$enabled $file"
|
|
done
|
|
|
|
# Run enabled testcases with coverage enabled
|
|
# shellcheck disable=SC2086
|
|
pytest --cov=pmb $enabled --tb=native
|