blob: b886dbd1e8ab35d0725e5e9af83d48180c4dd11a [file] [log] [blame]
#!/bin/bash
##########################################################################
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
OLD_PIG=0.8.1
ANT_VERSION=1.8.2
HADOOP_CONF=/etc/hadoop/conf
HADOOP_BIN=/usr/local/hadoop/bin/hadoop
while (( $# > 0 ))
do
if [[ $1 = "-t" ]]
then
TESTS_TO_RUN="${TESTS_TO_RUN} -t $2"
shift; shift
elif [[ $1 == "-p" || $1 == "--patch" ]]
then
PATCH=$2
shift; shift
else
echo Usage: $0 [-t testtorun ] [ -p patchfile ]
echo "\t -t can be given multiple times"
exit 1
fi
done
if [[ -n ${TESTS_TO_RUN} ]]
then
TESTS_TO_RUN="-Dtests.to.run=\"$TESTS_TO_RUN\""
fi
# Download ant and old version of Pig
mkdir tools
rc=$?
if (( $rc != 0 ))
then
echo Failed to create tools directory
exit $rc
fi
cd tools
wget http://archive.apache.org/dist//ant/binaries/apache-ant-${ANT_VERSION}-bin.tar.gz
rc=$?
if (( $rc != 0 ))
then
echo Failed to fetch ant tarball
exit $rc
fi
tar zxf apache-ant-${ANT_VERSION}-bin.tar.gz
rc=$?
if (( $rc != 0 ))
then
echo Failed to untar ant tarball
exit $rc
fi
wget http://archive.apache.org/dist//pig/pig-${OLD_PIG}/pig-${OLD_PIG}.tar.gz
rc=$?
if (( $rc != 0 ))
then
echo Failed to fetch old pig tarball
exit $rc
fi
tar zxf pig-${OLD_PIG}.tar.gz
rc=$?
if (( $rc != 0 ))
then
echo Failed to untar old pig tarball
exit $rc
fi
# Fetch needed CPAN modules
cd ..
sudo cpan IPC::Run # need to find a way to make this headless
rc=$?
if (( $rc != 0 ))
then
echo Failed to fetch IPC::Run
exit $rc
fi
sudo cpan DBI
rc=$?
if (( $rc != 0 ))
then
echo Failed to fetch DBI
exit $rc
fi
# Fetch the source
mkdir src
rc=$?
if (( $rc != 0 ))
then
echo Failed to create src directory
exit $rc
fi
cd src
svn co http://svn.apache.org/repos/asf/pig/trunk
rc=$?
if (( $rc != 0 ))
then
echo Failed to checkout code from svn
exit $rc
fi
cd trunk
if [[ -n ${PATCH} ]]
then
patch -p0 < ${PATCH}
rc=$?
if (( $rc != 0 ))
then
echo Failed to apply patch ${PATCH}
exit $rc
fi
fi
${HOME}/tools/apache-ant-${ANT_VERSION}/bin/ant -Dharness.old.pig=${HOME}/tools/pig-${OLD_PIG} -Dharness.cluster.conf=${HADOOP_CONF} -Dharness.cluster.bin=${HADOOP_BIN} test-e2e-deploy
${HOME}/tools/apache-ant-${ANT_VERSION}/bin/ant -Dharness.old.pig=${HOME}/tools/pig-${OLD_PIG} -Dharness.cluster.conf=${HADOOP_CONF} -Dharness.cluster.bin=${HADOOP_BIN} ${TESTS_TO_RUN} test-e2e