Repository: hbase Updated Branches: refs/heads/branch-2.1 c1cd6d5a8 -> b837b89e6
HBASE-20968 list_procedures_test fails due to no matching regex Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/b837b89e Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/b837b89e Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/b837b89e Branch: refs/heads/branch-2.1 Commit: b837b89e6b1a4ccae32fa6dff7065163e1900908 Parents: c1cd6d5 Author: zhangduo <zhang...@apache.org> Authored: Tue Aug 21 14:50:09 2018 +0800 Committer: Duo Zhang <zhang...@apache.org> Committed: Tue Aug 28 14:23:37 2018 +0800 ---------------------------------------------------------------------- .../src/test/ruby/shell/list_procedures_test.rb | 70 ++++++++++++++++++++ 1 file changed, 70 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/b837b89e/hbase-shell/src/test/ruby/shell/list_procedures_test.rb ---------------------------------------------------------------------- diff --git a/hbase-shell/src/test/ruby/shell/list_procedures_test.rb b/hbase-shell/src/test/ruby/shell/list_procedures_test.rb new file mode 100644 index 0000000..1cad23b --- /dev/null +++ b/hbase-shell/src/test/ruby/shell/list_procedures_test.rb @@ -0,0 +1,70 @@ +# +# +# 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. +# + +require 'hbase_constants' +require 'shell' + +include HBaseConstants + +module Hbase + class ListProceduresTest < Test::Unit::TestCase + include TestHelpers + + def setup + setup_hbase + + @master = $TEST_CLUSTER.getHBaseClusterInterface.getMaster + @executor = @master.getMasterProcedureExecutor + + @list_procedures = Shell::Commands::ListProcedures.new(@shell) + end + + def teardown + shutdown + end + + def create_procedure_regexp(table_name) + regexp_string = '[0-9]+ .*ShellTestProcedure SUCCESS.*' \ + "\[{\"value\"=>\"#{table_name}\"}\]"; + Regexp.new(regexp_string) + end + + define_test 'list procedures' do + procedure = org.apache.hadoop.hbase.client.procedure.ShellTestProcedure.new + procedure.tableNameString = 'table1' + + proc_id = @executor.submitProcedure(procedure) + sleep(0.1) until @executor.isFinished(proc_id) + + output = capture_stdout { @list_procedures.command } + + regexp = create_procedure_regexp('table1') + matching_lines = 0 + + lines = output.split(/\n/) + lines.each do |line| + if regexp.match(line) + matching_lines += 1 + end + end + + assert_equal(1, matching_lines) + end + end +end