~gholt/swift/acls2

« back to all changes in this revision

Viewing changes to test/unit/obj/test_updater.py

  • Committer: Tarmac
  • Author(s): gholt
  • Date: 2010-08-30 13:07:13 UTC
  • mfrom: (64.1.1 buggytest)
  • Revision ID: hudson@openstack.org-20100830130713-5q82qt973pnuaq17
Fixed threading bug in test

Show diffs side-by-side

added added

removed removed

Lines of Context:
102
102
        self.assert_(os.path.exists(op_path))
103
103
 
104
104
        bindsock = listen(('127.0.0.1', 0))
105
 
        def accept(return_code):
 
105
        def accepter(sock, return_code):
106
106
            try:
107
107
                with Timeout(3):
108
 
                    sock, addr = bindsock.accept()
109
108
                    inc = sock.makefile('rb')
110
109
                    out = sock.makefile('wb')
111
110
                    out.write('HTTP/1.1 %d OK\r\nContent-Length: 0\r\n\r\n' %
123
122
            except BaseException, err:
124
123
                return err
125
124
            return None
126
 
        events = [spawn(accept, 201), spawn(accept, 201)]
 
125
        def accept(return_code):
 
126
            try:
 
127
                events = []
 
128
                for x in xrange(2):
 
129
                    with Timeout(3):
 
130
                        sock, addr = bindsock.accept()
 
131
                        events.append(spawn(accepter, sock, return_code))
 
132
                for event in events:
 
133
                    err = event.wait()
 
134
                    if err:
 
135
                        raise err
 
136
            except BaseException, err:
 
137
                return err
 
138
            return None
 
139
        event = spawn(accept, 201)
127
140
        for dev in cu.get_container_ring().devs:
128
141
            if dev is not None:
129
142
                dev['port'] = bindsock.getsockname()[1]
130
143
        cu.update_once_single_threaded()
131
 
        for event in events:
132
 
            err = event.wait()
133
 
            if err:
134
 
                raise err
 
144
        err = event.wait()
 
145
        if err:
 
146
            raise err
135
147
        self.assert_(not os.path.exists(op_path))
136
148
 
137
149