autospider.py is intended both as the harness for running automation builds, as
well as a way to easily reproduce automation builds on a developer workstation.
Some brave souls also use it as the basis for doing their normal local builds.
The script may be run from any directory. This will configure and build the
source, then run a series of tests. See the --help message for many different
ways of suppressing various actions or changing the output.
The different possible build+test configurations are controlled mostly by JSON
files in a variants/ directory (eg there is a .../variants/plain file for the
In automation, the test jobs will run with a dynamically loaded library that
catches crashes and generates minidumps, so that autospider.py can produce a
readable stack trace at the end of the run. Currently this library is only
available on linux64, and is built via the following procedure:
% export PATH=$PATH:$(pwd)/depot_tools
% mkdir breakpad
% cd breakpad
# python must be python2.7
% fetch breakpad
% cd src
% git fetch https://github.com/hotsphink/breakpad injector
% git checkout FETCH_HEAD
% cd ..
% mkdir obj
% cd obj
# Possibly set $PATH to include a recent gcc
% ../src/configure --enable-static
% mkdir ../root
% make install DESTDIR=$(pwd)/../root
The shared library will now be in root/usr/local/lib64/libbreakpadinjector.so