25 lines
1.3 KiB
Bash
25 lines
1.3 KiB
Bash
#!/bin/bash
|
|
# Run the regression tests against an already built, patched Fcitx5 tree.
|
|
set -euo pipefail
|
|
ulimit -c 0
|
|
root=$(cd "$(dirname "$0")/.." && pwd)
|
|
work=${WORK_DIR:-$root/build}
|
|
version=${FCITX_VERSION:-$(pkg-config --modversion Fcitx5Core)}
|
|
srcdir=${FCITX_SOURCE_DIR:-$work/fcitx5-$version}
|
|
builddir=${FCITX_BUILD_DIR:-$work/cmake}
|
|
out=$(mktemp -d "${TMPDIR:-/tmp}/m3ui-tests-XXXXXX")
|
|
trap 'rm -f "$out/testm3uicandidatemenu" "$out/testiconthemecache" "$out/testm3uiresourceguard" "$out/testm3uiimageloader"; rmdir "$out"' EXIT
|
|
|
|
flags=(-std=c++20 -Wall -Wextra -I"$srcdir/src/lib" -I"$builddir/src/lib")
|
|
libs=(-L"$builddir/bin" -Wl,-rpath,"$builddir/bin" -lFcitx5Core -lFcitx5Config -lFcitx5Utils)
|
|
for name in testm3uicandidatemenu testiconthemecache testm3uiresourceguard; do
|
|
"${CXX:-c++}" "${flags[@]}" "$root/tests/$name.cpp" "${libs[@]}" -o "$out/$name"
|
|
done
|
|
read -r -a image_flags <<< "$(pkg-config --cflags --libs cairo gdk-pixbuf-2.0 librsvg-2.0)"
|
|
"${CXX:-c++}" "${flags[@]}" "$root/tests/testm3uiimageloader.cpp" \
|
|
"$root/src/imageloader.cpp" "${image_flags[@]}" "${libs[@]}" -o "$out/testm3uiimageloader"
|
|
for name in testm3uicandidatemenu testiconthemecache testm3uiresourceguard testm3uiimageloader; do
|
|
echo ">> $name"
|
|
timeout 15 "$out/$name"
|
|
done
|