12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #!/bin/bash
- # Copyright 2013 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- # Collect memory usage on the patches from run_stress_test
- source "$(dirname ${0})/stress_test_common"
- main() {
- if [ $# -lt 1 ]; then
- cat <<EOF
- USAGE: $(basename ${0}) dir
- Collect memory usage on the patches from run_stress_test
- EOF
- exit 1
- fi
- local dir="${1}"
- if [ ! -d "${dir}" ]; then
- error "\"${dir}\" not found"
- exit 1
- fi
- local patches_dir="${dir}/patches"
- find "${patches_dir}" \
- | grep "\.patch$" \
- | while read i; do
- local patch="${i}"
- local subdir_filename="${patch:$((${#patches_dir} + 1))}"
- local out_base="${dir}/metrics/${subdir_filename}"
- mkdir -p "$(dirname ${out_base})"
- local original="${subdir_filename%.patch}"
- local applied="${out_base}.applied"
- local apply_mem="${out_base}.apply_mem"
- valgrind --tool=massif --massif-out-file="${apply_mem}" courgette -apply \
- "${original}" "${patch}" "${applied}" &
- local bz2_patch="${i}.bz2"
- local unbz2="${out_base}.unbz2"
- local unbz2_mem="${out_base}.unbz2_mem"
- valgrind --tool=massif --massif-out-file="${unbz2_mem}" bunzip2 -c \
- "${bz2_patch}" > "${unbz2}" &
- local xz_patch="${i}.xz"
- local unxz="${out_base}.unxz"
- local unxz_mem="${out_base}.unxz_mem"
- valgrind --tool=massif --massif-out-file="${unxz_mem}" unxz -c \
- "${xz_patch}" > "${unxz}" &
- local bsdiff_patch="${patch%.patch}.bsdiff_patch"
- local applied_bsdiff="${out_base}.applied_bsdiff"
- local bsdiff_mem="${out_base}.bsdiff_mem"
- valgrind --tool=massif --massif-out-file="${bsdiff_mem}" bspatch \
- "${original}" "${applied_bsdiff}" "${bsdiff_patch}" &
- wait
- done
- }
- main "${@}"
|