add missing files from previous commits because I can never remember to do a git add
Project: http://git-wip-us.apache.org/repos/asf/yetus/repo Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/a627ff03 Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/a627ff03 Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/a627ff03 Branch: refs/heads/master Commit: a627ff039bedb9f0a1ff27bc970a272568a14fe2 Parents: 634bf71 Author: Allen Wittenauer <[email protected]> Authored: Mon Aug 3 11:03:18 2015 -0700 Committer: Allen Wittenauer <[email protected]> Committed: Mon Aug 3 11:03:18 2015 -0700 ---------------------------------------------------------------------- dev-support/test-patch.d/perlcritic.sh | 140 ++++++++++++++++++++++++++++ dev-support/test-patch.d/ruby-lint.sh | 140 ++++++++++++++++++++++++++++ 2 files changed, 280 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/yetus/blob/a627ff03/dev-support/test-patch.d/perlcritic.sh ---------------------------------------------------------------------- diff --git a/dev-support/test-patch.d/perlcritic.sh b/dev-support/test-patch.d/perlcritic.sh new file mode 100755 index 0000000..1cec3f3 --- /dev/null +++ b/dev-support/test-patch.d/perlcritic.sh @@ -0,0 +1,140 @@ +#!/usr/bin/env 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. + +add_plugin perlcritic + +PERLCRITIC_TIMER=0 + +PERLCRITIC=${PERLCRITIC:-$(which perlcritic 2>/dev/null)} + +function perlcritic_usage +{ + echo "Perl::Critic specific:" + echo "--perlcritic=<path> path to perlcritic executable" +} + +function perlcritic_parse_args +{ + local i + + for i in "$@"; do + case ${i} in + --perlcritic=*) + PERLCRITIC=${i#*=} + ;; + esac + done +} + +function perlcritic_filefilter +{ + local filename=$1 + + if [[ ${filename} =~ \.p[lm]$ ]]; then + add_test perlcritic + fi +} + +function perlcritic_preapply +{ + local i + + verify_needed_test perlcritic + if [[ $? == 0 ]]; then + return 0 + fi + + big_console_header "Perl::Critic plugin: prepatch" + + if [[ ! -x ${PERLCRITIC} ]]; then + yetus_error "${PERLCRITIC} does not exist." + return 0 + fi + + start_clock + + echo "Running perlcritic against modified perl scripts/modules." + pushd "${BASEDIR}" >/dev/null + for i in ${CHANGED_FILES}; do + if [[ ${i} =~ \.p[lm]$ && -f ${i} ]]; then + ${PERLCRITIC} -1 --verbose 1 "${i}" 2>/dev/null >> "${PATCH_DIR}/branch-perlcritic-result.txt" + fi + done + popd >/dev/null + # keep track of how much as elapsed for us already + PERLCRITIC_TIMER=$(stop_clock) + return 0 +} + +function perlcritic_postapply +{ + local i + local numPrepatch + local numPostpatch + local diffPostpatch + + verify_needed_test perlcritic + if [[ $? == 0 ]]; then + return 0 + fi + + big_console_header "Perl::Critic plugin: postpatch" + + if [[ ! -x ${PERLCRITIC} ]]; then + yetus_error "${PERLCRITIC} is not available." + add_vote_table 0 perlcritic "Perl::Critic was not available." + return 0 + fi + + start_clock + + # add our previous elapsed to our new timer + # by setting the clock back + offset_clock "${PERLCRITIC_TIMER}" + + echo "Running perlcritic against modified perl scripts/modules." + # we re-check this in case one has been added + pushd "${BASEDIR}" >/dev/null + for i in ${CHANGED_FILES}; do + if [[ ${i} =~ \.p[lm]$ && -f ${i} ]]; then + ${PERLCRITIC} -1 --verbose 1 "${i}" 2>/dev/null >> "${PATCH_DIR}/patch-perlcritic-result.txt" + fi + done + popd >/dev/null + + PERLCRITIC_VERSION=$(${PERLCRITIC} --version 2>/dev/null) + add_footer_table perlcritic "v${PERLCRITIC_VERSION}" + + calcdiffs "${PATCH_DIR}/branch-perlcritic-result.txt" "${PATCH_DIR}/patch-perlcritic-result.txt" > "${PATCH_DIR}/diff-patch-perlcritic.txt" + # shellcheck disable=SC2016 + diffPostpatch=$(wc -l "${PATCH_DIR}/diff-patch-perlcritic.txt" | ${AWK} '{print $1}') + + if [[ ${diffPostpatch} -gt 0 ]] ; then + # shellcheck disable=SC2016 + numPrepatch=$(wc -l "${PATCH_DIR}/branch-perlcritic-result.txt" | ${AWK} '{print $1}') + + # shellcheck disable=SC2016 + numPostpatch=$(wc -l "${PATCH_DIR}/patch-perlcritic-result.txt" | ${AWK} '{print $1}') + + add_vote_table -1 perlcritic "The applied patch generated "\ + "${diffPostpatch} new Perl::Critic issues (total was ${numPrepatch}, now ${numPostpatch})." + add_footer_table perlcritic "@@BASE@@/diff-patch-perlcritic.txt" + return 1 + fi + + add_vote_table +1 perlcritic "There were no new perlcritic issues." + return 0 +} http://git-wip-us.apache.org/repos/asf/yetus/blob/a627ff03/dev-support/test-patch.d/ruby-lint.sh ---------------------------------------------------------------------- diff --git a/dev-support/test-patch.d/ruby-lint.sh b/dev-support/test-patch.d/ruby-lint.sh new file mode 100755 index 0000000..35d9604 --- /dev/null +++ b/dev-support/test-patch.d/ruby-lint.sh @@ -0,0 +1,140 @@ +#!/usr/bin/env 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. + +add_plugin ruby_lint + +RUBY_LINT_TIMER=0 + +RUBY_LINT=${RUBY_LINT:-$(which ruby-lint 2>/dev/null)} + +function ruby_lint_usage +{ + echo "Ruby-lint specific:" + echo "--ruby-lint=<path> path to ruby-lint executable" +} + +function ruby_lint_parse_args +{ + local i + + for i in "$@"; do + case ${i} in + --ruby-lint=*) + RUBY_LINT=${i#*=} + ;; + esac + done +} + +function ruby_lint_filefilter +{ + local filename=$1 + + if [[ ${filename} =~ \.rb$ ]]; then + add_test ruby_lint + fi +} + +function ruby_lint_preapply +{ + local i + + verify_needed_test ruby_lint + if [[ $? == 0 ]]; then + return 0 + fi + + big_console_header "ruby-lint plugin: prepatch" + + if [[ ! -x ${RUBY_LINT} ]]; then + yetus_error "${RUBY_LINT} does not exist." + return 0 + fi + + start_clock + + echo "Running ruby-lint against modified ruby scripts." + pushd "${BASEDIR}" >/dev/null + for i in ${CHANGED_FILES}; do + if [[ ${i} =~ \.rb$ && -f ${i} ]]; then + ${RUBY_LINT} -p syntastic "${i}" | sort -t : -k 1,1 -k 3,3n -k 4,4n >> "${PATCH_DIR}/branch-ruby-lint-result.txt" + fi + done + popd >/dev/null + # keep track of how much as elapsed for us already + RUBY_LINT_TIMER=$(stop_clock) + return 0 +} + +function ruby_lint_postapply +{ + local i + local numPrepatch + local numPostpatch + local diffPostpatch + + verify_needed_test ruby_lint + if [[ $? == 0 ]]; then + return 0 + fi + + big_console_header "ruby-lint plugin: postpatch" + + if [[ ! -x ${RUBY_LINT} ]]; then + yetus_error "${RUBY_LINT} is not available." + add_vote_table 0 ruby-lint "Ruby-lint was not available." + return 0 + fi + + start_clock + + # add our previous elapsed to our new timer + # by setting the clock back + offset_clock "${RUBY_LINT_TIMER}" + + echo "Running ruby-lint against modified ruby scripts." + # we re-check this in case one has been added + pushd "${BASEDIR}" >/dev/null + for i in ${CHANGED_FILES}; do + if [[ ${i} =~ \.rb$ && -f ${i} ]]; then + ${RUBY_LINT} -p syntastic "${i}" | sort -t : -k 1,1 -k 3,3n -k 4,4n >> "${PATCH_DIR}/patch-ruby-lint-result.txt" + fi + done + popd >/dev/null + + # shellcheck disable=SC2016 + RUBY_LINT_VERSION=$(${RUBY_LINT} -v | ${AWK} '{print $2}') + add_footer_table ruby-lint "${RUBY_LINT_VERSION}" + + calcdiffs "${PATCH_DIR}/branch-ruby-lint-result.txt" "${PATCH_DIR}/patch-ruby-lint-result.txt" > "${PATCH_DIR}/diff-patch-ruby-lint.txt" + diffPostpatch=$(${AWK} -F: 'BEGIN {sum=0} 4<NF {sum+=1} END {print sum}' "${PATCH_DIR}/diff-patch-ruby-lint.txt") + + if [[ ${diffPostpatch} -gt 0 ]] ; then + # shellcheck disable=SC2016 + numPrepatch=$(${AWK} -F: 'BEGIN {sum=0} 4<NF {sum+=1} END {print sum}' "${PATCH_DIR}/branch-ruby-lint-result.txt") + + # shellcheck disable=SC2016 + numPostpatch=$(${AWK} -F: 'BEGIN {sum=0} 4<NF {sum+=1} END {print sum}' "${PATCH_DIR}/patch-ruby-lint-result.txt") + + add_vote_table -1 ruby-lint "The applied patch generated "\ + "${diffPostpatch} new ruby-lint issues (total was ${numPrepatch}, now ${numPostpatch})." + add_footer_table ruby-lint "@@BASE@@/diff-patch-ruby-lint.txt" + return 1 + fi + + add_vote_table +1 ruby-lint "There were no new ruby-lint issues." + return 0 +}
