Bug 693978

Summary: test_immediate_method unit test failing with 'TypeError: int argument required'
Product: Red Hat Enterprise MRG Reporter: Frantisek Reznicek <freznice>
Component: qpid-qmfAssignee: messaging-bugs <messaging-bugs>
Status: CLOSED NOTABUG QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: DevelopmentCC: esammons, iboverma, jneedle
Target Milestone: 2.2   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-21 14:14:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Frantisek Reznicek 2011-04-06 07:23:06 UTC
Description of problem:

Python unit test from qpid-tests package constantly failing with following trace:
qpid_tests.broker_0_10.management.ManagementTest.test_immediate_method .. fail
Error during test:
  Traceback (most recent call last):
    File "/usr/bin/qpid-python-test", line 311, in run
      phase()
    File "/usr/lib/python2.4/site-packages/qpid_tests/broker_0_10/management.py", line 457, in test_immediate_method
      url = "%s://%s:%d" % (self.broker.scheme or "amqp", self.broker.host, self.broker.port)
  TypeError: int argument required

This seems to be an test error.
Seen on RHEL4.9 / 5.6 / 6.1 i386 / x86_64.

Version-Release number of selected component (if applicable):

python-qpid-0.10-1.el5.noarch
python-qpid-qmf-0.10-2.el5.i386
qpid-cpp-client-0.10-1.el5.i386
qpid-cpp-client-devel-0.10-1.el5.i386
qpid-cpp-client-devel-docs-0.10-1.el5.i386
qpid-cpp-client-rdma-0.10-1.el5.i386
qpid-cpp-client-ssl-0.10-1.el5.i386
qpid-cpp-mrg-debuginfo-0.10-1.el5.i386
qpid-cpp-server-0.10-1.el5.i386
qpid-cpp-server-cluster-0.10-1.el5.i386
qpid-cpp-server-devel-0.10-1.el5.i386
qpid-cpp-server-rdma-0.10-1.el5.i386
qpid-cpp-server-ssl-0.10-1.el5.i386
qpid-cpp-server-store-0.10-1.el5.i386
qpid-cpp-server-xml-0.10-1.el5.i386
qpid-dotnet-0.4.738274-2.el5.i386
qpid-java-client-0.10-1.el5.noarch
qpid-java-common-0.10-1.el5.noarch
qpid-java-example-0.10-1.el5.noarch
qpid-qmf-0.10-2.el5.i386
qpid-qmf-debuginfo-0.10-2.el5.i386
qpid-qmf-devel-0.10-2.el5.i386
qpid-tests-0.10-1.el5.noarch
qpid-tools-0.10-1.el5.noarch
rh-qpid-cpp-tests-0.10-1.el5.i386
ruby-qpid-qmf-0.10-2.el5.i386

How reproducible:
100%

Steps to Reproduce:
1. install above packages
2. start broker
3. launch function utest (see definition below)
  
Actual results:
qpid_tests.broker_0_10.management.ManagementTest.test_immediate_method unit test fails.

Expected results:
qpid_tests.broker_0_10.management.ManagementTest.test_immediate_method should pass.

Additional info:

repro bash function
function utest ()
{
  local log_fn="./units.log"
  local err_cnt_max=10
  local err_cnt=0
  local i=0
  
  rm -f ${log_fn}
  
  while true; do
    ecode=
    qpid-python-test 'qpid.tests.*' >> ${log_fn} 2>&1
    ecode=$?
    qpid-python-test -m qpid_tests 'qpid_tests.*' >> ${log_fn} 2>&1
    ecode="${ecode}$?"
    
    [[ "${ecode}" =~ "^[0]+$" ]] || let "err_cnt++"
    
    echo "run${i} --------------------------------------ecode:${ecode}|err_cnt:${err_cnt}"
  
    [ "${err_cnt}" -gt "${err_cnt_max}" ] && break
  done
  
  echo ".done, err_cnt:${err_cnt}, dur: ${SECONDS}"
}

Comment 1 Frantisek Reznicek 2012-02-20 15:55:30 UTC
Still failing (qpid-tests-0.14-1.el5/6).

qpid_tests.broker_0_10.management.ManagementTest.test_immediate_method .. fail
Error during test:
  Traceback (most recent call last):
    File "/usr/bin/qpid-python-test", line 311, in run
--
    File "/usr/lib/python2.4/site-packages/qpid_tests/broker_0_10/management.py", line 457, in test_immediate_method
      url = "%s://%s:%d" % (self.broker.scheme or "amqp", self.broker.host, self.broker.port)
  TypeError: int argument required

Comment 2 Frantisek Reznicek 2012-02-21 14:14:03 UTC
Test itself is correct as running with additional broker specification solves the problem:

-qpid-python-test -m qpid_tests 'qpid_tests.*'
+qpid-python-test --broker localhost:5672 -m qpid_tests 'qpid_tests.*'

Some tests rely on host and port specification, some use default broker url, it is required to explicitly specify broker url using --broker switch.

An improvement to qpid-python-test tool tracked as bug 795777.

-> CLOSED / NOT-A-BUG