|
@@ -21,6 +21,14 @@ ulimit -n 1024
|
|
|
bindir=$(dirname $0)
|
|
|
. $bindir/test-patch.properties
|
|
|
|
|
|
+if [ -z "$MAVEN_HOME" ]; then
|
|
|
+ MVN=mvn
|
|
|
+else
|
|
|
+ MVN=$MAVEN_HOME/bin/mvn
|
|
|
+fi
|
|
|
+
|
|
|
+AWK=${AWK:-awk}
|
|
|
+
|
|
|
###############################################################################
|
|
|
parseArgs() {
|
|
|
case "$1" in
|
|
@@ -89,6 +97,7 @@ parseArgs() {
|
|
|
FINDBUGS_HOME=$7
|
|
|
FORREST_HOME=$8
|
|
|
BASEDIR=$9
|
|
|
+ PS=${PS:-ps}
|
|
|
### Obtain the patch filename to append it to the version number
|
|
|
defect=`basename $PATCH_FILE`
|
|
|
;;
|
|
@@ -181,7 +190,7 @@ setup () {
|
|
|
echo ""
|
|
|
# echo "$ANT_HOME/bin/ant -Djavac.args="-Xlint -Xmaxwarns 1000" $ECLIPSE_PROPERTY -Dforrest.home=${FORREST_HOME} -D${PROJECT_NAME}PatchProcess= clean tar > $PATCH_DIR/trunkJavacWarnings.txt 2>&1"
|
|
|
# $ANT_HOME/bin/ant -Djavac.args="-Xlint -Xmaxwarns 1000" $ECLIPSE_PROPERTY -Dforrest.home=${FORREST_HOME} -D${PROJECT_NAME}PatchProcess= clean tar > $PATCH_DIR/trunkJavacWarnings.txt 2>&1
|
|
|
- $MAVEN_HOME/bin/mvn clean compile -DskipTests -D${PROJECT_NAME}PatchProcess -Ptest-patch > $PATCH_DIR/trunkJavacWarnings.txt 2>&1
|
|
|
+ $MVN clean compile -DskipTests -D${PROJECT_NAME}PatchProcess -Ptest-patch > $PATCH_DIR/trunkJavacWarnings.txt 2>&1
|
|
|
if [[ $? != 0 ]] ; then
|
|
|
echo "Trunk compilation is broken?"
|
|
|
cleanupAndExit 1
|
|
@@ -298,11 +307,11 @@ checkJavadocWarnings () {
|
|
|
echo ""
|
|
|
echo ""
|
|
|
echo "$ANT_HOME/bin/ant -Dversion="${VERSION}" -DHadoopPatchProcess= clean javadoc | tee $PATCH_DIR/patchJavadocWarnings.txt"
|
|
|
- (cd root; mvn install)
|
|
|
- (cd doclet; mvn install)
|
|
|
+ (cd hadoop-project; mvn install)
|
|
|
+ (cd hadoop-annotations; mvn install)
|
|
|
#$ANT_HOME/bin/ant -Dversion="${VERSION}" -DHadoopPatchProcess= clean javadoc | tee $PATCH_DIR/patchJavadocWarnings.txt
|
|
|
- $MAVEN_HOME/bin/mvn clean compile javadoc:javadoc -DskipTests -Pdocs -D${PROJECT_NAME}PatchProcess > $PATCH_DIR/patchJavadocWarnings.txt 2>&1
|
|
|
- javadocWarnings=`$GREP '\[WARNING\]' $PATCH_DIR/patchJavadocWarnings.txt | awk '/Javadoc Warnings/,EOF' | $GREP -v 'Javadoc Warnings' | awk 'BEGIN {total = 0} {total += 1} END {print total}'`
|
|
|
+ $MVN clean compile javadoc:javadoc -DskipTests -Pdocs -D${PROJECT_NAME}PatchProcess > $PATCH_DIR/patchJavadocWarnings.txt 2>&1
|
|
|
+ javadocWarnings=`$GREP '\[WARNING\]' $PATCH_DIR/patchJavadocWarnings.txt | $AWK '/Javadoc Warnings/,EOF' | $GREP warning | $AWK 'BEGIN {total = 0} {total += 1} END {print total}'`
|
|
|
echo ""
|
|
|
echo ""
|
|
|
echo "There appear to be $javadocWarnings javadoc warnings generated by the patched build."
|
|
@@ -334,7 +343,7 @@ checkJavacWarnings () {
|
|
|
echo ""
|
|
|
#echo "$ANT_HOME/bin/ant -Dversion="${VERSION}" -Djavac.args="-Xlint -Xmaxwarns 1000" $ECLIPSE_PROPERTY -Dforrest.home=${FORREST_HOME} -DHadoopPatchProcess= clean tar > $PATCH_DIR/patchJavacWarnings.txt 2>&1"
|
|
|
#$ANT_HOME/bin/ant -Dversion="${VERSION}" -Djavac.args="-Xlint -Xmaxwarns 1000" $ECLIPSE_PROPERTY -Dforrest.home=${FORREST_HOME} -DHadoopPatchProcess= clean tar > $PATCH_DIR/patchJavacWarnings.txt 2>&1
|
|
|
- $MAVEN_HOME/bin/mvn clean compile -DskipTests -D${PROJECT_NAME}PatchProcess -Ptest-patch > $PATCH_DIR/patchJavacWarnings.txt 2>&1
|
|
|
+ $MVN clean compile -DskipTests -D${PROJECT_NAME}PatchProcess -Ptest-patch > $PATCH_DIR/patchJavacWarnings.txt 2>&1
|
|
|
if [[ $? != 0 ]] ; then
|
|
|
JIRA_COMMENT="$JIRA_COMMENT
|
|
|
|
|
@@ -343,8 +352,8 @@ checkJavacWarnings () {
|
|
|
fi
|
|
|
### Compare trunk and patch javac warning numbers
|
|
|
if [[ -f $PATCH_DIR/patchJavacWarnings.txt ]] ; then
|
|
|
- trunkJavacWarnings=`$GREP '\[WARNING\]' $PATCH_DIR/trunkJavacWarnings.txt | awk 'BEGIN {total = 0} {total += 1} END {print total}'`
|
|
|
- patchJavacWarnings=`$GREP '\[WARNING\]' $PATCH_DIR/patchJavacWarnings.txt | awk 'BEGIN {total = 0} {total += 1} END {print total}'`
|
|
|
+ trunkJavacWarnings=`$GREP '\[WARNING\]' $PATCH_DIR/trunkJavacWarnings.txt | $AWK 'BEGIN {total = 0} {total += 1} END {print total}'`
|
|
|
+ patchJavacWarnings=`$GREP '\[WARNING\]' $PATCH_DIR/patchJavacWarnings.txt | $AWK 'BEGIN {total = 0} {total += 1} END {print total}'`
|
|
|
echo "There appear to be $trunkJavacWarnings javac compiler warnings before the patch and $patchJavacWarnings javac compiler warnings after applying the patch."
|
|
|
if [[ $patchJavacWarnings != "" && $trunkJavacWarnings != "" ]] ; then
|
|
|
if [[ $patchJavacWarnings -gt $trunkJavacWarnings ]] ; then
|
|
@@ -375,7 +384,7 @@ checkReleaseAuditWarnings () {
|
|
|
echo ""
|
|
|
#echo "$ANT_HOME/bin/ant -Dversion="${VERSION}" -Dforrest.home=${FORREST_HOME} -DHadoopPatchProcess= releaseaudit > $PATCH_DIR/patchReleaseAuditWarnings.txt 2>&1"
|
|
|
#$ANT_HOME/bin/ant -Dversion="${VERSION}" -Dforrest.home=${FORREST_HOME} -DHadoopPatchProcess= releaseaudit > $PATCH_DIR/patchReleaseAuditWarnings.txt 2>&1
|
|
|
- $MAVEN_HOME/bin/mvn apache-rat:check -D${PROJECT_NAME}PatchProcess 2>&1
|
|
|
+ $MVN apache-rat:check -D${PROJECT_NAME}PatchProcess 2>&1
|
|
|
find . -name rat.txt | xargs cat > $PATCH_DIR/patchReleaseAuditWarnings.txt
|
|
|
|
|
|
### Compare trunk and patch release audit warning numbers
|
|
@@ -420,7 +429,7 @@ checkStyle () {
|
|
|
echo ""
|
|
|
#echo "$ANT_HOME/bin/ant -Dversion="${VERSION}" -DHadoopPatchProcess= checkstyle"
|
|
|
#$ANT_HOME/bin/ant -Dversion="${VERSION}" -DHadoopPatchProcess= checkstyle
|
|
|
- $MAVEN_HOME/bin/mvn compile checkstyle:checkstyle -D${PROJECT_NAME}PatchProcess
|
|
|
+ $MVN compile checkstyle:checkstyle -D${PROJECT_NAME}PatchProcess
|
|
|
|
|
|
JIRA_COMMENT_FOOTER="Checkstyle results: $BUILD_URL/artifact/trunk/build/test/checkstyle-errors.html
|
|
|
$JIRA_COMMENT_FOOTER"
|
|
@@ -453,7 +462,7 @@ checkFindbugsWarnings () {
|
|
|
echo ""
|
|
|
#echo "$ANT_HOME/bin/ant -Dversion="${VERSION}" -Dfindbugs.home=$FINDBUGS_HOME -Dforrest.home=${FORREST_HOME} -DHadoopPatchProcess= findbugs"
|
|
|
#$ANT_HOME/bin/ant -Dversion="${VERSION}" -Dfindbugs.home=${FINDBUGS_HOME} -Dforrest.home=${FORREST_HOME} -DHadoopPatchProcess= findbugs
|
|
|
- $MAVEN_HOME/bin/mvn clean compile findbugs:findbugs -D${PROJECT_NAME}PatchProcess -X
|
|
|
+ $MVN clean compile findbugs:findbugs -D${PROJECT_NAME}PatchProcess
|
|
|
|
|
|
if [ $? != 0 ] ; then
|
|
|
JIRA_COMMENT="$JIRA_COMMENT
|
|
@@ -469,7 +478,7 @@ $JIRA_COMMENT_FOOTER"
|
|
|
$PATCH_DIR/patchFindbugsWarnings.xml \
|
|
|
$PATCH_DIR/patchFindbugsWarnings.xml
|
|
|
findbugsWarnings=`$FINDBUGS_HOME/bin/filterBugs -first "01/01/2000" $PATCH_DIR/patchFindbugsWarnings.xml \
|
|
|
- $PATCH_DIR/newPatchFindbugsWarnings.xml | /usr/bin/awk '{print $1}'`
|
|
|
+ $PATCH_DIR/newPatchFindbugsWarnings.xml | $AWK '{print $1}'`
|
|
|
$FINDBUGS_HOME/bin/convertXmlToText -html \
|
|
|
$PATCH_DIR/newPatchFindbugsWarnings.xml \
|
|
|
$PATCH_DIR/newPatchFindbugsWarnings.html
|
|
@@ -501,7 +510,7 @@ runCoreTests () {
|
|
|
echo ""
|
|
|
|
|
|
### Kill any rogue build processes from the last attempt
|
|
|
- $PS auxwww | $GREP HadoopPatchProcess | /usr/bin/nawk '{print $2}' | /usr/bin/xargs -t -I {} /bin/kill -9 {} > /dev/null
|
|
|
+ $PS auxwww | $GREP HadoopPatchProcess | $AWK '{print $2}' | /usr/bin/xargs -t -I {} /bin/kill -9 {} > /dev/null
|
|
|
PreTestTarget=""
|
|
|
if [[ $defect == MAPREDUCE-* ]] ; then
|
|
|
PreTestTarget="create-c++-configure"
|
|
@@ -509,7 +518,7 @@ runCoreTests () {
|
|
|
|
|
|
#echo "$ANT_HOME/bin/ant -Dversion="${VERSION}" -DHadoopPatchProcess= -Dtest.junit.output.format=xml -Dtest.output=no -Dcompile.c++=yes -Dforrest.home=$FORREST_HOME $PreTestTarget test-core"
|
|
|
#$ANT_HOME/bin/ant -Dversion="${VERSION}" -DHadoopPatchProcess= -Dtest.junit.output.format=xml -Dtest.output=no -Dcompile.c++=yes -Dforrest.home=$FORREST_HOME $PreTestTarget test-core
|
|
|
- $MAVEN_HOME/bin/mvn clean test -Pnative -DHadoopPatchProcess
|
|
|
+ $MVN clean test -Pnative -DHadoopPatchProcess
|
|
|
if [[ $? != 0 ]] ; then
|
|
|
### Find and format names of failed tests
|
|
|
failed_tests=`grep -l -E "<failure|<error" $WORKSPACE/trunk/target/hadoop-common/surefire-reports/*.xml | sed -e "s|.*target/surefire-reports/TEST-| |g" | sed -e "s|\.xml||g"`
|
|
@@ -544,7 +553,7 @@ runContribTests () {
|
|
|
fi
|
|
|
|
|
|
### Kill any rogue build processes from the last attempt
|
|
|
- $PS auxwww | $GREP HadoopPatchProcess | /usr/bin/nawk '{print $2}' | /usr/bin/xargs -t -I {} /bin/kill -9 {} > /dev/null
|
|
|
+ $PS auxwww | $GREP HadoopPatchProcess | $AWK '{print $2}' | /usr/bin/xargs -t -I {} /bin/kill -9 {} > /dev/null
|
|
|
|
|
|
#echo "$ANT_HOME/bin/ant -Dversion="${VERSION}" $ECLIPSE_PROPERTY -DHadoopPatchProcess= -Dtest.junit.output.format=xml -Dtest.output=no test-contrib"
|
|
|
#$ANT_HOME/bin/ant -Dversion="${VERSION}" $ECLIPSE_PROPERTY -DHadoopPatchProcess= -Dtest.junit.output.format=xml -Dtest.output=no test-contrib
|
|
@@ -575,7 +584,7 @@ checkInjectSystemFaults () {
|
|
|
echo ""
|
|
|
|
|
|
### Kill any rogue build processes from the last attempt
|
|
|
- $PS auxwww | $GREP HadoopPatchProcess | /usr/bin/nawk '{print $2}' | /usr/bin/xargs -t -I {} /bin/kill -9 {} > /dev/null
|
|
|
+ $PS auxwww | $GREP HadoopPatchProcess | $AWK '{print $2}' | /usr/bin/xargs -t -I {} /bin/kill -9 {} > /dev/null
|
|
|
|
|
|
#echo "$ANT_HOME/bin/ant -Dversion="${VERSION}" -DHadoopPatchProcess= -Dtest.junit.output.format=xml -Dtest.output=no -Dcompile.c++=yes -Dforrest.home=$FORREST_HOME inject-system-faults"
|
|
|
#$ANT_HOME/bin/ant -Dversion="${VERSION}" -DHadoopPatchProcess= -Dtest.junit.output.format=xml -Dtest.output=no -Dcompile.c++=yes -Dforrest.home=$FORREST_HOME inject-system-faults
|