diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/contrib/build-perf-test-wrapper.sh | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/scripts/contrib/build-perf-test-wrapper.sh b/scripts/contrib/build-perf-test-wrapper.sh index 19bee1dd03..7cbb5d794f 100755 --- a/scripts/contrib/build-perf-test-wrapper.sh +++ b/scripts/contrib/build-perf-test-wrapper.sh | |||
| @@ -33,7 +33,9 @@ Optional arguments: | |||
| 33 | -c COMMITISH test (checkout) this commit, <branch>:<commit> can be | 33 | -c COMMITISH test (checkout) this commit, <branch>:<commit> can be |
| 34 | specified to test specific commit of certain branch | 34 | specified to test specific commit of certain branch |
| 35 | -C GIT_REPO commit results into Git | 35 | -C GIT_REPO commit results into Git |
| 36 | -d DOWNLOAD_DIR directory to store downloaded sources in | ||
| 36 | -E EMAIL_ADDR send email report | 37 | -E EMAIL_ADDR send email report |
| 38 | -g GLOBALRES_DIR where to place the globalres file | ||
| 37 | -P GIT_REMOTE push results to a remote Git repository | 39 | -P GIT_REMOTE push results to a remote Git repository |
| 38 | -R DEST rsync reports to a remote destination | 40 | -R DEST rsync reports to a remote destination |
| 39 | -w WORK_DIR work dir for this script | 41 | -w WORK_DIR work dir for this script |
| @@ -51,19 +53,26 @@ get_os_release_var () { | |||
| 51 | commitish="" | 53 | commitish="" |
| 52 | oe_build_perf_test_extra_opts=() | 54 | oe_build_perf_test_extra_opts=() |
| 53 | oe_git_archive_extra_opts=() | 55 | oe_git_archive_extra_opts=() |
| 54 | while getopts "ha:c:C:E:P:R:w:x" opt; do | 56 | while getopts "ha:c:C:d:E:g:P:R:w:x" opt; do |
| 55 | case $opt in | 57 | case $opt in |
| 56 | h) usage | 58 | h) usage |
| 57 | exit 0 | 59 | exit 0 |
| 58 | ;; | 60 | ;; |
| 59 | a) archive_dir=`realpath -s "$OPTARG"` | 61 | a) mkdir -p "$OPTARG" |
| 62 | archive_dir=`realpath -s "$OPTARG"` | ||
| 60 | ;; | 63 | ;; |
| 61 | c) commitish=$OPTARG | 64 | c) commitish=$OPTARG |
| 62 | ;; | 65 | ;; |
| 63 | C) results_repo=`realpath -s "$OPTARG"` | 66 | C) mkdir -p "$OPTARG" |
| 67 | results_repo=`realpath -s "$OPTARG"` | ||
| 68 | ;; | ||
| 69 | d) download_dir=`realpath -s "$OPTARG"` | ||
| 64 | ;; | 70 | ;; |
| 65 | E) email_to="$OPTARG" | 71 | E) email_to="$OPTARG" |
| 66 | ;; | 72 | ;; |
| 73 | g) mkdir -p "$OPTARG" | ||
| 74 | globalres_dir=`realpath -s "$OPTARG"` | ||
| 75 | ;; | ||
| 67 | P) oe_git_archive_extra_opts+=("--push" "$OPTARG") | 76 | P) oe_git_archive_extra_opts+=("--push" "$OPTARG") |
| 68 | ;; | 77 | ;; |
| 69 | R) rsync_dst="$OPTARG" | 78 | R) rsync_dst="$OPTARG" |
| @@ -86,6 +95,17 @@ if [ $# -ne 0 ]; then | |||
| 86 | exit 1 | 95 | exit 1 |
| 87 | fi | 96 | fi |
| 88 | 97 | ||
| 98 | if [ -n "$email_to" ]; then | ||
| 99 | if ! [ -x "$(command -v phantomjs)" ]; then | ||
| 100 | echo "ERROR: Sending email needs phantomjs." | ||
| 101 | exit 1 | ||
| 102 | fi | ||
| 103 | if ! [ -x "$(command -v optipng)" ]; then | ||
| 104 | echo "ERROR: Sending email needs optipng." | ||
| 105 | exit 1 | ||
| 106 | fi | ||
| 107 | fi | ||
| 108 | |||
| 89 | # Open a file descriptor for flock and acquire lock | 109 | # Open a file descriptor for flock and acquire lock |
| 90 | LOCK_FILE="/tmp/oe-build-perf-test-wrapper.lock" | 110 | LOCK_FILE="/tmp/oe-build-perf-test-wrapper.lock" |
| 91 | if ! exec 3> "$LOCK_FILE"; then | 111 | if ! exec 3> "$LOCK_FILE"; then |
| @@ -146,11 +166,18 @@ if [ -z "$base_dir" ]; then | |||
| 146 | fi | 166 | fi |
| 147 | echo "Using working dir $base_dir" | 167 | echo "Using working dir $base_dir" |
| 148 | 168 | ||
| 169 | if [ -z "$download_dir" ]; then | ||
| 170 | download_dir="$base_dir/downloads" | ||
| 171 | fi | ||
| 172 | if [ -z "$globalres_dir" ]; then | ||
| 173 | globalres_dir="$base_dir" | ||
| 174 | fi | ||
| 175 | |||
| 149 | timestamp=`date "+%Y%m%d%H%M%S"` | 176 | timestamp=`date "+%Y%m%d%H%M%S"` |
| 150 | git_rev=$(git rev-parse --short HEAD) || exit 1 | 177 | git_rev=$(git rev-parse --short HEAD) || exit 1 |
| 151 | build_dir="$base_dir/build-$git_rev-$timestamp" | 178 | build_dir="$base_dir/build-$git_rev-$timestamp" |
| 152 | results_dir="$base_dir/results-$git_rev-$timestamp" | 179 | results_dir="$base_dir/results-$git_rev-$timestamp" |
| 153 | globalres_log="$base_dir/globalres.log" | 180 | globalres_log="$globalres_dir/globalres.log" |
| 154 | machine="qemux86" | 181 | machine="qemux86" |
| 155 | 182 | ||
| 156 | mkdir -p "$base_dir" | 183 | mkdir -p "$base_dir" |
| @@ -161,7 +188,7 @@ auto_conf="$build_dir/conf/auto.conf" | |||
| 161 | echo "MACHINE = \"$machine\"" > "$auto_conf" | 188 | echo "MACHINE = \"$machine\"" > "$auto_conf" |
| 162 | echo 'BB_NUMBER_THREADS = "8"' >> "$auto_conf" | 189 | echo 'BB_NUMBER_THREADS = "8"' >> "$auto_conf" |
| 163 | echo 'PARALLEL_MAKE = "-j 8"' >> "$auto_conf" | 190 | echo 'PARALLEL_MAKE = "-j 8"' >> "$auto_conf" |
| 164 | echo "DL_DIR = \"$base_dir/downloads\"" >> "$auto_conf" | 191 | echo "DL_DIR = \"$download_dir\"" >> "$auto_conf" |
| 165 | # Disabling network sanity check slightly reduces the variance of timing results | 192 | # Disabling network sanity check slightly reduces the variance of timing results |
| 166 | echo 'CONNECTIVITY_CHECK_URIS = ""' >> "$auto_conf" | 193 | echo 'CONNECTIVITY_CHECK_URIS = ""' >> "$auto_conf" |
| 167 | # Possibility to define extra settings | 194 | # Possibility to define extra settings |
