qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rafael Schloming <rafa...@redhat.com>
Subject Re: [c++ trunk] Python test failures.
Date Fri, 19 Jan 2007 20:17:50 GMT
Is it possibly related to this change?

svn log -r497342
------------------------------------------------------------------------
r497342 | gsim | 2007-01-18 03:14:36 -0500 (Thu, 18 Jan 2007) | 7 lines

Modified handling of reason for closing in peer to work around race 
between worker and reader where a connection.close is followed by the 
socket closing (this is a bit of a hack).

Modified test for queue_purge to do cleanup on new connection.

Separated testing of scenario where closed channel is used from that 
where an unopened channel is used.


------------------------------------------------------------------------

svn diff -r497341:497342
Index: python/tests/broker.py
===================================================================
--- python/tests/broker.py      (revision 497341)
+++ python/tests/broker.py      (revision 497342)
@@ -85,14 +85,14 @@
          self.assert_(msg.content.body == body)

      def test_invalid_channel(self):
-        other = self.connect()
-        channel = other.channel(200)
+        channel = self.client.channel(200)
          try:
              channel.queue_declare(exclusive=True)
              self.fail("Expected error on queue_declare for invalid 
channel")
          except Closed, e:
              self.assertConnectionException(504, e.args[0])

+    def test_closed_channel(self):
          channel = self.client.channel(200)
          channel.channel_open()
          channel.channel_close()
Index: python/tests/queue.py
===================================================================
--- python/tests/queue.py       (revision 497341)
+++ python/tests/queue.py       (revision 497342)
@@ -74,7 +74,8 @@
              self.assertConnectionException(530, e.args[0])

          #cleanup
-        channel = self.client.channel(4)
+        other = self.connect()
+        channel = other.channel(1)
          channel.channel_open()
          channel.exchange_delete(exchange="test-exchange")

Index: python/java_failing.txt
===================================================================
--- python/java_failing.txt     (revision 497341)
+++ python/java_failing.txt     (revision 497342)
@@ -13,3 +13,4 @@
  tests.queue.QueueTests.test_purge
  tests.testlib.TestBaseTest.testMessageProperties
  tests.broker.BrokerTests.test_invalid_channel
+tests.broker.BrokerTests.test_closed_channel
Index: python/qpid/peer.py
===================================================================
--- python/qpid/peer.py (revision 497341)
+++ python/qpid/peer.py (revision 497342)
@@ -129,6 +129,8 @@
      self.reason = None

    def close(self, reason):
+    if isinstance(reason, Message):
+      self.reason = reason
      if self.closed:
        return
      self.closed = True


Jim Meyering wrote:
> Alan Conway <aconway@redhat.com> wrote:
>> Anyone seen the following python failures against the C++ broker (on the
>> trunk) They look like the same tests that were failing due to a c++
>> broker bug (raising wrong error code) but that was fixed last week. It
>> looks like the wrong type of object is being tested.
> ...
>> ======================================================================
>> ERROR: testTypeNotKnown (tests.exchange.MiscellaneousErrorsTests)
> ...
>> ERROR: test_invalid_channel (tests.broker.BrokerTests)
> 
> [/me looks up through 10k lines of 'screen' history...]
> Yep.
> I've seen those a couple times in the last two days.
> But they're not consistently reproducible, here.
> However, with the beginnings of my valgrind instrumentation
> in place, this one *does* happen repeatably:
> [sometimes I get five failures, sometimes just this one]
> 
>     ======================================================================
>     ERROR: test_purge (tests.queue.QueueTests)
>     ----------------------------------------------------------------------
>     Traceback (most recent call last):
>       File "/home_old/e/work/rh/rhn/messaging-clean/trunk/qpid-help2man/python/tests/queue.py",
line 78, in test_purge
>         channel.channel_open()
>       File "<string>", line 3, in channel_open
>       File "/home_old/e/work/rh/rhn/messaging-clean/trunk/qpid/python/qpid/peer.py",
line 180, in invoke
>         raise Closed(self.reason)
>     Closed
> 
> This just popped up, so I don't even know if it fails without my changes.
> 
> The failures I'm seeing may well be timing-related, since valgrind
> slows down the broker by a large amount.

Mime
View raw message