mirror of
https://github.com/Smaug123/KaTeX
synced 2025-10-06 11:48:41 +00:00
50 lines
1.5 KiB
Bash
Executable File
50 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# This script does a one-shot creation of screenshots, creating needed
|
|
# docker containers and removing them afterwards. During development,
|
|
# it might be desirable to avoid the overhead for starting and
|
|
# stopping the containers. Developers are encouraged to manage
|
|
# suitable containers themselves, calling the screenshotter.js script
|
|
# directly.
|
|
|
|
cleanup() {
|
|
[[ "${container}" ]] \
|
|
&& docker stop "${container}" >/dev/null \
|
|
&& docker rm "${container}" >/dev/null
|
|
container=
|
|
}
|
|
|
|
SS_DIR=$(dirname "$0")
|
|
TOP_DIR=${SS_DIR}/../..
|
|
FONTS_DIR=${TOP_DIR}/test/screenshotter/unicode-fonts
|
|
if [[ ! -d "${FONTS_DIR}" ]]; then
|
|
echo "Cloning test fonts repository"
|
|
git clone https://github.com/Khan/KaTeX-test-fonts "${FONTS_DIR}" \
|
|
|| exit 2
|
|
fi
|
|
pushd "${FONTS_DIR}" || exit 2
|
|
git checkout --detach 99fa66a2da643218754c8236b9f9151cac71ba7c || exit 2
|
|
popd || exit 2
|
|
|
|
container=
|
|
trap cleanup EXIT
|
|
status=0
|
|
for browserTag in firefox:2.48.2 chrome:2.48.2; do
|
|
browser=${browserTag%:*}
|
|
image=selenium/standalone-${browserTag}
|
|
echo "Starting container for ${image}"
|
|
container=$(docker run -d -P ${image})
|
|
[[ ${container} ]] || continue
|
|
echo "Container ${container:0:12} started, creating screenshots..."
|
|
if node "$(dirname "$0")"/screenshotter.js \
|
|
--browser="${browser}" --container="${container}" "$@"; then
|
|
res=Done
|
|
else
|
|
res=Failed
|
|
status=1
|
|
fi
|
|
echo "${res} taking screenshots, stopping and removing ${container:0:12}"
|
|
cleanup
|
|
done
|
|
exit ${status}
|