#!/usr/bin/bash # usage: run-tests-wayland offscreen [test flavour] if ! [ $1 ] ; then echo "Missing test params!" echo "" echo "usage: run-tests-wayland offscreen [test_flavour]" echo "" echo " offscreen can be 0 or 1" echo " test_flavour can be xpc ref moch crash" exit fi set -x OFFSCREEN_TESTING=$1 RUN_XPCSHELL_TEST=0 RUN_REFTEST=0 RUN_MOCHITEST=0 RUN_CRASHTEST=0 SELECTED_TEST=$2 if [ "$SELECTED_TEST" = "xpc" ] ; then RUN_XPCSHELL_TEST=1 elif [ "$SELECTED_TEST" = "ref" ] ; then RUN_REFTEST=1 elif [ "$SELECTED_TEST" = "moch" ] ; then RUN_MOCHITEST=1 elif [ "$SELECTED_TEST" = "crash" ] ; then RUN_CRASHTEST=1 else RUN_XPCSHELL_TEST=0 RUN_REFTEST=1 RUN_MOCHITEST=0 RUN_CRASHTEST=0 fi MACH_USE_SYSTEM_PYTHON=1 MOZ_NODE_PATH=/usr/bin/node MOCHITEST_PARAMS="--timeout 1 --chunk-by-dir 4" TEST_DIR="test_results" mkdir $TEST_DIR # Fix for system nss ln -s /usr/bin/certutil objdir/dist/bin/certutil ln -s /usr/bin/pk12util objdir/dist/bin/pk12util NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" export MOZ_ENABLE_WAYLAND=1 if [ $OFFSCREEN_TESTING -ne 0 ] ; then xvfb-run -s "-screen 0 1600x1200x24" -n 80 mutter --wayland --nested & if [ -z "$WAYLAND_DISPLAY" ] ; then export WAYLAND_DISPLAY=wayland-0 else export WAYLAND_DISPLAY=wayland-1 fi sleep 10 retry_count=0 max_retries=5 until [ $retry_count -gt $max_retries ]; do if [ -S "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" ]; then retry_count=$(($max_retries + 1)) else retry_count=$(($retry_count + 1)) echo "Waiting for Mutter, retry: $retry_count" sleep 2 fi done fi if [ $RUN_XPCSHELL_TEST -ne 0 ] ; then ./mach xpcshell-test 2>&1 | cat - | tee $TEST_DIR/xpcshell ./mach xpcshell-test --enable-webrender 2>&1 | cat - | tee $TEST_DIR/xpcshell-wr fi # Basic render testing export TEST_PARAMS="--setpref reftest.ignoreWindowSize=true" export TEST_FLAVOUR="" if [ $RUN_REFTEST -ne 0 ] ; then ./mach reftest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR fi if [ $RUN_CRASHTEST -ne 0 ] ; then ./mach crashtest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR fi if [ $RUN_MOCHITEST -ne 0 ] ; then ./mach mochitest --marionette localhost:$(($(($RANDOM))+2000)) $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR fi # WebRender testing export TEST_PARAMS="--enable-webrender $TEST_PARAMS" export TEST_FLAVOUR="-wr" if [ $RUN_REFTEST -ne 0 ] ; then ./mach reftest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR fi if [ $RUN_CRASHTEST -ne 0 ] ; then ./mach crashtest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR fi if [ $RUN_MOCHITEST -ne 0 ] ; then ./mach mochitest --marionette localhost:$(($(($RANDOM))+2000)) $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR fi rm -f objdir/dist/bin/certutil rm -f objdir/dist/bin/pk12util