build: hook up tests with meson

Adds our cargo test to meson's testing system so that
`ninja test` runs it in addition to our resource validation tests.
This commit is contained in:
Christopher Davis 2019-03-04 02:02:30 -05:00 committed by Jordan Petridis
parent 5b2edc73ec
commit 92e2006782
No known key found for this signature in database
GPG Key ID: E8523968931763BE
3 changed files with 14 additions and 36 deletions

View File

@ -26,13 +26,10 @@ flatpak:
- |
xvfb-run -a -s "-screen 0 1024x768x24" \
flatpak-builder --run \
--env=APP_ID="org.gnome.PodcastsDevel" \
--env=LOCALEDIR="./podcasts-gtk/po" \
--env=VERSION="0.0.0" \
--env=CARGO_HOME="target/cargo-home" \
--env=CARGO_TARGET_DIR="target_test/" \
--env=CARGO_HOME="${CI_PROJECT_DIR}/target/cargo-home" \
--env=CARGO_TARGET_DIR="${CI_PROJECT_DIR}/target/" \
app ${MANIFEST_PATH} \
cargo test --color=always -j 1 -- --test-threads=1
ninja -C _build test
# Create a flatpak bundle
- flatpak-builder --finish-only app ${MANIFEST_PATH}

View File

@ -65,9 +65,17 @@ datadir = get_option('datadir')
subdir('podcasts-gtk/resources')
cargo_script = find_program('scripts/cargo.sh')
test_script = find_program('scripts/test.sh')
subdir('podcasts-gtk/src')
run_target('release', command: ['scripts/release.sh',
meson.project_name() + '-' + podcasts_version
])
test(
'cargo-test',
test_script,
workdir: meson.source_root(),
timeout: 3000
)

View File

@ -4,34 +4,7 @@ set -o errexit
set -o nounset
set -o pipefail
export MANIFEST_PATH="org.gnome.PodcastsDevel.json"
export FLATPAK_MODULE="gnome-podcasts"
export CONFIGURE_ARGS="-Dprofile=development"
# export DBUS_ID="org.gnome.PodcastsDevel"
# export BUNDLE="org.gnome.Podcasts.Devel.flatpak"
# export RUNTIME_REPO="https://sdk.gnome.org/gnome-nightly.flatpakrepo"
export CARGO_HOME="target/cargo-home"
export CARGO_TARGET_DIR="target_test/"
flatpak-builder --stop-at=${FLATPAK_MODULE} --force-clean app ${MANIFEST_PATH}
# Build the flatpak repo
flatpak-builder --run app ${MANIFEST_PATH} meson --prefix=/app ${CONFIGURE_ARGS} build
flatpak-builder --run \
--env=CARGO_HOME="target/cargo-home" \
--env=CARGO_TARGET_DIR="target_test/" \
--env=RUSTFLAGS="" \
app ${MANIFEST_PATH} \
ninja -C build
# Run the tests
xvfb-run -a -s "-screen 0 1024x768x24" \
flatpak-builder --run \
--env=CARGO_HOME="target/cargo-home" \
--env=CARGO_TARGET_DIR="target_test/" \
--env=RUSTFLAGS="" \
app ${MANIFEST_PATH} \
cargo test -j 1 -- --test-threads=1 --nocapture
# Create a flatpak bundle
# flatpak-builder --finish-only app ${MANIFEST_PATH}
# flatpak build-export repo app
# flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${DBUS_ID}
cargo test -j 1 -- --test-threads=1 --nocapture