#!/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 "${@}"
