--- a/test-masters.sh
+++ b/test-masters.sh
@@ -1,13 +1,31 @@
#!/bin/bash
# This script has been rewritten in setup_master.py using
# the -t option. We use that now
exit=0
+# even though it isn't fully used, the config check does require a valid
+# shared memory setup AT THE DEFAULT LOCATION. If you're running on a
+# laptop, that may not exist. Fail early.
+#
+# OSX note: it "works" (for test-masters purposes) to just create the
+# directory, even though that isn't how shared memory is
+# handled on OSX. The directories must be owned by the id
+# running the tests.
+shm=(/dev/shm/queue)
+good_shm=true
+for needed_dir in ${shm[@]}; do
+ if ! test -w $needed_dir; then
+ echo 1>&2 "No shm setup, please create writable directory '$needed_dir'"
+ good_shm=false
+ fi
+done
+$good_shm || exit 1
+
WORK=test-output
mkdir $WORK 2>/dev/null
actioning="Checking"
MASTERS_JSON_URL="${MASTERS_JSON_URL:-http://hg.mozilla.org/build/tools/raw-file/tip/buildfarm/maintenance/production-masters.json}"
atexit=()
trap 'for cmd in "${atexit[@]}"; do eval $cmd; done' EXIT