summaryrefslogtreecommitdiffstats
path: root/taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh')
-rwxr-xr-xtaskcluster/docker/snap-coreXX-build/snap-tests/tests.sh68
1 files changed, 68 insertions, 0 deletions
diff --git a/taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh b/taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh
new file mode 100755
index 0000000000..854ef2c9af
--- /dev/null
+++ b/taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+set -ex
+
+pwd
+
+SUITE=${1:-basic}
+SUITE=${SUITE//--/}
+
+export ARTIFACT_DIR=$TASKCLUSTER_ROOT_DIR/builds/worker/artifacts/
+mkdir -p "$ARTIFACT_DIR"
+
+# There's a bug in snapd ~2.60.3-2.61 that will make "snap refresh" fail
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1873359
+# https://bugs.launchpad.net/snapd/+bug/2048104/comments/13
+#
+# So we retrieve the version and we will allow the first "snap refresh" to
+# fail for versions < 2.61.1
+SNAP_VERSION=$(snap info snapd --color=never --unicode=never |grep "installed:" | awk '{ print $2 }')
+SNAP_MAJOR=$(echo "${SNAP_VERSION}" | cut -d'.' -f1)
+SNAP_MINOR=$(echo "${SNAP_VERSION}" | cut -d'.' -f2)
+SNAP_RELEASE=$(echo "${SNAP_VERSION}" | cut -d'.' -f3)
+
+REFRESH_CAN_FAIL=true
+if [ "${SNAP_MAJOR}" -ge 2 ]; then
+ if [ "${SNAP_MAJOR}" -gt 2 ]; then
+ REFRESH_CAN_FAIL=false
+ else
+ if [ "${SNAP_MINOR}" -ge 61 ]; then
+ if [ "${SNAP_MINOR}" -gt 61 ]; then
+ REFRESH_CAN_FAIL=false
+ else
+ if [ "${SNAP_RELEASE}" -gt 0 ]; then
+ REFRESH_CAN_FAIL=false
+ fi
+ fi
+ fi
+ fi
+fi
+
+if [ "${REFRESH_CAN_FAIL}" = "true" ]; then
+ sudo snap refresh || true
+else
+ sudo snap refresh
+fi;
+
+sudo snap refresh --hold=24h firefox
+
+sudo snap install --name firefox --dangerous ./firefox.snap
+
+RUNTIME_VERSION=$(snap run firefox --version | awk '{ print $3 }')
+
+python3 -m pip install --user -r requirements.txt
+
+# Required otherwise copy/paste does not work
+# Bug 1878643
+export TEST_NO_HEADLESS=1
+
+if [ -n "${MOZ_LOG}" ]; then
+ export MOZ_LOG_FILE="${ARTIFACT_DIR}/gecko-log"
+fi
+
+if [ "${SUITE}" = "basic" ]; then
+ sed -e "s/#RUNTIME_VERSION#/${RUNTIME_VERSION}/#" < basic_tests/expectations.json.in > basic_tests/expectations.json
+ python3 basic_tests.py basic_tests/expectations.json
+else
+ python3 "${SUITE}"_tests.py
+fi;