mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
61 lines
1.6 KiB
Bash
Executable file
61 lines
1.6 KiB
Bash
Executable file
#!/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 http://mozilla.org/MPL/2.0/.
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
while (( "${#}" ))
|
|
do
|
|
case "${1}" in
|
|
--servo)
|
|
engine="--engine servo"
|
|
;;
|
|
--gecko)
|
|
engine="--engine gecko"
|
|
;;
|
|
--local)
|
|
local=1
|
|
;;
|
|
*)
|
|
echo "Unknown option ${1}."
|
|
exit
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [[ -z "${engine:-}" ]];
|
|
then echo "You didn't specify the engine to run: --servo or --gecko."; exit;
|
|
fi
|
|
|
|
echo "Starting the local server"
|
|
python3 -m http.server > /dev/null 2>&1 &
|
|
|
|
# TODO: enable the full manifest when #11087 is fixed
|
|
# https://github.com/servo/servo/issues/11087
|
|
# MANIFEST="page_load_test/test.manifest"
|
|
MANIFEST="page_load_test/tp5n/20160509.manifest" # A manifest that excludes
|
|
# timeout test cases
|
|
PERF_FILE="output/perf-$(date --iso-8601=seconds).json"
|
|
|
|
echo "Running tests"
|
|
echo python3 runner.py ${engine} --runs 3 "${MANIFEST}" "${PERF_FILE}"
|
|
|
|
if [[ -z "${local:-}" ]];
|
|
then
|
|
echo "Submitting to Perfherder"
|
|
# Perfherder SSL check will fail if time is not accurate,
|
|
# sync time before you submit
|
|
# TODO: we are using Servo's revision hash for Gecko's result to make both
|
|
# results appear on the same date. Use the correct result when Perfherder
|
|
# allows us to change the date.
|
|
echo python3 submit_to_perfherder.py \
|
|
"${output:-}" "${engine}" "${PERF_FILE}" servo/revision.json
|
|
fi
|
|
|
|
echo "Stopping the local server"
|
|
trap 'kill $(jobs -pr)' SIGINT SIGTERM EXIT
|