Repository: hbase Updated Branches: refs/heads/master a8be60614 -> cab081932
HBASE-12195 Fix dev-support/findHangingTests (Manukranth Kolloju) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/cab08193 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/cab08193 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/cab08193 Branch: refs/heads/master Commit: cab0819327cb719cb6932bb7d2c2e121e5aac03c Parents: a8be606 Author: Ted Yu <te...@apache.org> Authored: Tue Oct 7 22:03:50 2014 +0000 Committer: Ted Yu <te...@apache.org> Committed: Tue Oct 7 22:03:50 2014 +0000 ---------------------------------------------------------------------- dev-support/findHangingTest.sh | 40 -------------------------- dev-support/findHangingTests.py | 54 ++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 40 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/cab08193/dev-support/findHangingTest.sh ---------------------------------------------------------------------- diff --git a/dev-support/findHangingTest.sh b/dev-support/findHangingTest.sh deleted file mode 100755 index f7ebe47..0000000 --- a/dev-support/findHangingTest.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/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. -## -# script to find hanging test from Jenkins build output -# usage: ./findHangingTest.sh <url of Jenkins build console> -# -`curl -k -o jenkins.out "$1"` -expecting=Running -cat jenkins.out | while read line; do - if [[ "$line" =~ "Running org.apache.hadoop" ]]; then - if [[ "$expecting" =~ "Running" ]]; then - expecting=Tests - else - echo "Hanging test: $prevLine" - fi - fi - if [[ "$line" =~ "Tests run" ]]; then - expecting=Running - fi - if [[ "$line" =~ "Forking command line" ]]; then - a=$line - else - prevLine=$line - fi -done http://git-wip-us.apache.org/repos/asf/hbase/blob/cab08193/dev-support/findHangingTests.py ---------------------------------------------------------------------- diff --git a/dev-support/findHangingTests.py b/dev-support/findHangingTests.py new file mode 100644 index 0000000..f51e7f5 --- /dev/null +++ b/dev-support/findHangingTests.py @@ -0,0 +1,54 @@ +#!/usr/bin/python +## +# 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. +## +# script to find hanging test from Jenkins build output +# usage: ./findHangingTests.py <url of Jenkins build console> +# +import urllib2 +import sys +import string +if len(sys.argv) != 2 : + print "ERROR : Provide the jenkins job console URL as the only argument." + exit(1) +print "Fetching the console output from the URL" +response = urllib2.urlopen(sys.argv[1]) +i = 0; +tests = {} +failed_tests = {} +while True: + n = response.readline() + if n == "" : + break + if n.find("org.apache.hadoop.hbase") < 0: + continue + test_name = string.strip(n[n.find("org.apache.hadoop.hbase"):len(n)]) + if n.find("Running org.apache.hadoop.hbase") > -1 : + tests[test_name] = False + if n.find("Tests run:") > -1 : + if n.find("FAILURE") > -1 or n.find("ERROR") > -1: + failed_tests[test_name] = True + tests[test_name] = True +response.close() + +print "Printing hanging tests" +for key, value in tests.iteritems(): + if value == False: + print "Hanging test : " + key +print "Printing Failing tests" +for key, value in failed_tests.iteritems(): + print "Failing test : " + key