#!/bin/bash
#
# An example hook script to verify what is about to be committed
# by applypatch from an e-mail message.
#
# The hook should exit with non-zero status after issuing an
# appropriate message if it wants to stop the commit.
#
# To enable this hook, rename this file to "pre-applypatch".

set -eu

#. git-sh-setup
echo "** in hook **"

function test_version {
  version=$1
  host=$(ls ~/.virtualenvs/mock-$version-* -d | sed -e "s/^.*mock-$version-//")
  if [ -z "$host" ]; then
    echo "No host found for $version"
    return 1
  fi
  echo testing $version in virtualenv mock-$version-$host on ssh host $host
  ssh $host "cd work/mock && . ~/.virtualenvs/mock-$version-$host/bin/activate && pip install .[test] && unit2"
}

find . -name "*.pyc" -exec rm "{}" \;

test_version 2.7
test_version 3.3
test_version 3.4
test_version 3.5
test_version cpython
test_version pypy

echo '** pre-apply complete and successful **'