Github user breed commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/97#discussion_r86679336
  
    --- Diff: src/java/test/bin/test-github-pr.sh ---
    @@ -0,0 +1,612 @@
    +#!/usr/bin/env bash
    +#   Licensed 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.
    +
    +
    +#set -x
    +
    +### Setup some variables.
    +### GIT_COMMIT and BUILD_URL are set by Hudson if it is run by patch 
process
    +### Read variables from properties file
    +. `dirname $0`/test-patch.properties
    +
    
+###############################################################################
    +parseArgs() {
    +  case "$1" in
    +    QABUILD)
    +      ### Set QABUILD to true to indicate that this script is being run by 
Hudson
    +      QABUILD=true
    +      if [[ $# != 14 ]] ; then
    +        echo "ERROR: usage $0 QABUILD <PATCH_DIR> <PS_CMD> <WGET_CMD> 
<JIRACLI> <GIT_CMD> <GREP_CMD> <PATCH_CMD> <FINDBUGS_HOME> <FORREST_HOME> 
<WORKSPACE_BASEDIR> <JIRA_PASSWD> <JAVA5_HOME> <CURL_CMD>"
    +        cleanupAndExit 0
    +      fi
    +      PATCH_DIR=$2
    +      PS=$3
    +      WGET=$4
    +      JIRACLI=$5
    +      GIT=$6
    +      GREP=$7
    +      PATCH=$8
    +      FINDBUGS_HOME=$9
    +      FORREST_HOME=${10}
    +      BASEDIR=${11}
    +      JIRA_PASSWD=${12}
    +      JAVA5_HOME=${13}
    +      CURL=${14}
    +      if [ ! -e "$PATCH_DIR" ] ; then
    +        mkdir -p $PATCH_DIR
    +      fi
    +
    +      ## Obtain PR number and title
    +      PULLREQUEST_ID=${GIT_PR_NUMBER}
    +      PULLREQUEST_TITLE="${GIT_PR_TITLE}"
    +
    +      ## Extract jira number from PR title
    +      defect=${PULLREQUEST_TITLE%%:*}
    +
    +      echo "Pull request id: ${PULLREQUEST_ID}"
    +      echo "Pull request title: ${PULLREQUEST_TITLE}"
    +      echo "Defect number: ${defect}"
    +      JIRA_COMMENT="GitHub Pull Request ${PULLREQUEST_NUMBER} Build
    +      "
    +      ;;
    +    DEVELOPER)
    +      ### Set QABUILD to false to indicate that this script is being run 
by a developer
    +      QABUILD=false
    +      if [[ $# != 10 ]] ; then
    +        echo "ERROR: usage $0 DEVELOPER <GIT_PR_URL> <SCRATCH_DIR> 
<GIT_CMD> <GREP_CMD> <PATCH_CMD> <FINDBUGS_HOME> <FORREST_HOME> 
<WORKSPACE_BASEDIR> <JAVA5_HOME>"
    +        cleanupAndExit 0
    +      fi
    +      PATCH_DIR=$3
    +      PATCH_FILE=${PATCH_DIR}/patch
    +      curl -L $2.diff > ${PATCH_FILE}
    +      ### PATCH_FILE contains the location of the patchfile
    +      if [[ ! -e "$PATCH_FILE" ]] ; then
    +        echo "Unable to locate the patch file $PATCH_FILE"
    +        cleanupAndExit 0
    +      fi
    +      ### Check if $PATCH_DIR exists. If it does not exist, create a new 
directory
    +      if [[ ! -e "$PATCH_DIR" ]] ; then
    +   mkdir "$PATCH_DIR"
    +   if [[ $? == 0 ]] ; then
    +     echo "$PATCH_DIR has been created"
    +   else
    +     echo "Unable to create $PATCH_DIR"
    +     cleanupAndExit 0
    +   fi
    +      fi
    +      GIT=$4
    +      GREP=$5
    +      PATCH=$6
    +      FINDBUGS_HOME=$7
    +      FORREST_HOME=$8
    +      BASEDIR=$9
    +      JAVA5_HOME=${10}
    +      ### Obtain the patch filename to append it to the version number
    +      local subject=`grep "Subject:" ${PATCH_FILE}`
    +      local length=`expr match ${subject} ZOOKEEPER-[0-9]*`
    +      local position=`expr index ${subject} ZOOKEEPER-`
    +      defect=${${subject:$position:$length}#ZOOKEEPER-}
    +      ;;
    +    *)
    +      echo "ERROR: usage $0 QABUILD [args] | DEVELOPER [args]"
    +      cleanupAndExit 0
    +      ;;
    +  esac
    +}
    +
    
+###############################################################################
    +checkout () {
    +  echo ""
    +  echo ""
    +  echo 
"======================================================================"
    +  echo 
"======================================================================"
    +  echo "    Testing patch for pull request ${PULLREQUEST_ID}."
    +  echo 
"======================================================================"
    +  echo 
"======================================================================"
    +  echo ""
    +  echo ""
    +  ### When run by a developer, if the workspace contains modifications, do 
not continue
    +  # Ref http://stackoverflow.com/a/2659808 for details on checking dirty 
status
    +  ${GIT} diff-index --quiet HEAD
    +  if [[ $? -ne 0 ]] ; then
    +    uncommitted=`${GIT} diff --name-only HEAD`
    +    uncommitted="You have the following files with uncommitted 
changes:${NEWLINE}${uncommitted}"
    +  fi
    +  untracked="$(${GIT} ls-files --exclude-standard --others)" && test -z 
"${untracked}"
    +  if [[ $? -ne 0 ]] ; then
    +    untracked="You have untracked and unignored 
files:${NEWLINE}${untracked}"
    +  fi
    +
    +  if [[ $QABUILD == "false" ]] ; then
    +    if [[ $uncommitted || $untracked ]] ; then
    +      echo "ERROR: can't run in a workspace that contains the following 
modifications"
    +      echo ""
    +      echo "${uncommitted}"
    +      echo ""
    +      echo "${untracked}"
    +      cleanupAndExit 1
    +    fi
    +  else
    +    # I don't believe we need to do anything here - the jenkins job will
    +    # cleanup the environment for us ("cleanup before checkout" action)
    +    # on the precommit jenkins job
    +    echo
    +  fi
    +  return $?
    +}
    +
    
+###############################################################################
    +setup () {
    +  ### exit if warnings are NOT defined in the properties file
    +  if [ -z "$OK_FINDBUGS_WARNINGS" ] || [[ -z "$OK_JAVADOC_WARNINGS" ]] || 
[[ -z $OK_RELEASEAUDIT_WARNINGS ]]; then
    +    echo "Please define the following properties in test-patch.properties 
file"
    +    echo  "OK_FINDBUGS_WARNINGS"
    --- End diff --
    
    what's going on with indentation?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to