[M108 Migration][HBBTV] Implement ewk_context_register_jsplugin_mime_types API
[platform/framework/web/chromium-efl.git] / courgette / run_mem_test
1 #!/bin/bash
2
3 # Copyright 2013 The Chromium Authors
4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file.
6
7 # Collect memory usage on the patches from run_stress_test
8
9 source "$(dirname ${0})/stress_test_common"
10
11 main() {
12   if [ $# -lt 1 ]; then
13     cat <<EOF
14
15 USAGE: $(basename ${0}) dir
16
17 Collect memory usage on the patches from run_stress_test
18
19 EOF
20     exit 1
21   fi
22
23   local dir="${1}"
24   if [ ! -d "${dir}" ]; then
25     error "\"${dir}\" not found"
26     exit 1
27   fi
28
29   local patches_dir="${dir}/patches"
30
31   find "${patches_dir}" \
32     | grep "\.patch$" \
33     | while read i; do
34     local patch="${i}"
35     local subdir_filename="${patch:$((${#patches_dir} + 1))}"
36     local out_base="${dir}/metrics/${subdir_filename}"
37     mkdir -p "$(dirname ${out_base})"
38
39     local original="${subdir_filename%.patch}"
40     local applied="${out_base}.applied"
41     local apply_mem="${out_base}.apply_mem"
42     valgrind --tool=massif --massif-out-file="${apply_mem}" courgette -apply \
43       "${original}" "${patch}" "${applied}" &
44
45     local bz2_patch="${i}.bz2"
46     local unbz2="${out_base}.unbz2"
47     local unbz2_mem="${out_base}.unbz2_mem"
48     valgrind --tool=massif --massif-out-file="${unbz2_mem}" bunzip2 -c \
49       "${bz2_patch}" > "${unbz2}" &
50
51     local xz_patch="${i}.xz"
52     local unxz="${out_base}.unxz"
53     local unxz_mem="${out_base}.unxz_mem"
54     valgrind --tool=massif --massif-out-file="${unxz_mem}" unxz -c \
55       "${xz_patch}" > "${unxz}" &
56
57     local bsdiff_patch="${patch%.patch}.bsdiff_patch"
58     local applied_bsdiff="${out_base}.applied_bsdiff"
59     local bsdiff_mem="${out_base}.bsdiff_mem"
60     valgrind --tool=massif --massif-out-file="${bsdiff_mem}" bspatch \
61       "${original}" "${applied_bsdiff}" "${bsdiff_patch}" &
62
63     wait
64   done
65 }
66
67 main "${@}"