Repository: yetus Updated Branches: refs/heads/master 1ff80e0b8 -> 6566f91db
YETUS-272. add a way to flag/veto patches to code which jenkins doesn't test Signed-off-by: Allen Wittenauer <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/yetus/repo Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/6566f91d Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/6566f91d Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/6566f91d Branch: refs/heads/master Commit: 6566f91dbde6b4fa2c052289a8c122eb0526350a Parents: 1ff80e0 Author: Allen Wittenauer <[email protected]> Authored: Fri Jan 22 13:17:15 2016 -0800 Committer: Allen Wittenauer <[email protected]> Committed: Mon Jan 25 11:14:43 2016 -0800 ---------------------------------------------------------------------- precommit/test-patch.d/unitveto.sh | 66 +++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/yetus/blob/6566f91d/precommit/test-patch.d/unitveto.sh ---------------------------------------------------------------------- diff --git a/precommit/test-patch.d/unitveto.sh b/precommit/test-patch.d/unitveto.sh new file mode 100755 index 0000000..363ba59 --- /dev/null +++ b/precommit/test-patch.d/unitveto.sh @@ -0,0 +1,66 @@ +#!/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_test_type unitveto + +UNITVETO_RE=${UNITVETO_RE:-} + +function unitveto_filefilter +{ + declare filename=$1 + + if [[ -n "${UNITVETO_RE}" + && ${filename} =~ ${UNITVETO_RE} ]]; then + yetus_debug "unitveto: ${filename} matched" + add_test unitveto + fi +} + +function unitveto_usage +{ + yetus_add_option "--unitveto-re=<regex>" "Regex to automatically -1 due to manual test requirements" +} + +function unitveto_parse_args +{ + declare i + + for i in "$@"; do + case ${i} in + --unitveto-re=*) + UNITVETO_RE=${i#*=} + ;; + esac + done +} + +function unitveto_patchfile +{ + verify_needed_test unit + + if [[ $? == 0 ]]; then + return 0 + fi + + verify_needed_test unitveto + + if [[ $? == 0 ]]; then + return 0 + fi + + add_vote_table -1 unitveto "Patch requires manual testing." + return 1 +}
