diff options
-rwxr-xr-x | etc/ci/macos_package_smoketest.sh | 27 | ||||
-rw-r--r-- | etc/taskcluster/decision_task.py | 2 |
2 files changed, 29 insertions, 0 deletions
diff --git a/etc/ci/macos_package_smoketest.sh b/etc/ci/macos_package_smoketest.sh new file mode 100755 index 00000000000..3a7965894f3 --- /dev/null +++ b/etc/ci/macos_package_smoketest.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. + +set -o errexit +set -o nounset +set -o pipefail + +# If we somehow ended up in an unclean state previously, attempt +# to set up a clean environment for testing. +hdiutil detach /Volumes/Servo >/dev/null 2>&1 || true; + +# Mount the package that will be tested. +hdiutil attach ${1} +pushd /Volumes/Servo/Servo.app/Contents/MacOS +ls -l + +# Load a page that closes immediately after loading. +c='data:text/html,<script>onload=()=>{console.log("success");close()}</script>' +./servo --headless ${c} | tee /tmp/out +grep 'success' /tmp/out + +# Clean up. +popd +hdiutil detach /Volumes/Servo diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index 3364aa0820d..dad6b18b2bc 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -277,6 +277,7 @@ def macos_unit(): ./mach build --dev --verbose ./mach test-unit ./mach package --dev + ./etc/ci/macos_package_smoketest.sh target/debug/servo-tech-demo.dmg ./etc/ci/lockfile_changed.sh """) .find_or_create("macos_unit." + CONFIG.tree_hash()) @@ -451,6 +452,7 @@ def macos_nightly(): .with_script( "./mach build --release", "./mach package --release", + "./etc/ci/macos_package_smoketest.sh target/release/servo-tech-demo.dmg" "./mach upload-nightly mac --secret-from-taskcluster", ) .with_artifacts("repo/target/release/servo-tech-demo.dmg") |