blob: 70f56fd230c4f11611c46153d88f164d80a4d911 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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.
Basic usage:
./js/src/devtools/automation/autospider.py plain
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
above command).
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:
% git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
% 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
|