~pythonregexp2.7/python/issue2636-11

« back to all changes in this revision

Viewing changes to Lib/bsddb/test/test_associate.py

  • Committer: Jeffrey C. "The TimeHorse" Jacobs
  • Date: 2008-09-21 17:53:26 UTC
  • mfrom: (39025.1.14 Regexp-2.7)
  • Revision ID: darklord@timehorse.com-20080921175326-92vaej2hc3yuecxb
Merged in changes from the core Regexp branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
import time
7
7
from pprint import pprint
8
8
 
9
 
try:
10
 
    from threading import Thread, currentThread
11
 
    have_threads = 1
12
 
except ImportError:
13
 
    have_threads = 0
14
 
 
15
9
import unittest
16
 
from test_all import verbose, get_new_environment_path
17
 
 
18
 
try:
19
 
    # For Pythons w/distutils pybsddb
20
 
    from bsddb3 import db, dbshelve
21
 
except ImportError:
22
 
    # For Python 2.3
23
 
    from bsddb import db, dbshelve
24
 
 
25
 
try:
26
 
    from bsddb3 import test_support
27
 
except ImportError:
28
 
    from test import test_support
 
10
from test_all import db, dbshelve, test_support, verbose, have_threads, \
 
11
        get_new_environment_path
29
12
 
30
13
 
31
14
#----------------------------------------------------------------------
158
141
        for key, value in musicdata.items():
159
142
            if type(self.keytype) == type(''):
160
143
                key = "%02d" % key
161
 
            d.put(key, string.join(value, '|'), txn=txn)
 
144
            d.put(key, '|'.join(value), txn=txn)
162
145
 
163
146
    def createDB(self, txn=None):
164
147
        self.cur = None
244
227
        rec = self.cur.first()
245
228
        while rec is not None:
246
229
            if type(self.keytype) == type(''):
247
 
                self.assert_(string.atoi(rec[0]))  # for primary db, key is a number
 
230
                self.assert_(int(rec[0]))  # for primary db, key is a number
248
231
            else:
249
232
                self.assert_(rec[0] and type(rec[0]) == type(0))
250
233
            count = count + 1
251
234
            if verbose:
252
235
                print rec
253
 
            rec = self.cur.next()
 
236
            rec = getattr(self.cur, "next")()
254
237
        self.assertEqual(count, len(musicdata))  # all items accounted for
255
238
 
256
239
 
276
259
            count = count + 1
277
260
            if verbose:
278
261
                print rec
279
 
            rec = self.cur.next()
 
262
            rec = getattr(self.cur, "next")()
280
263
        # all items accounted for EXCEPT for 1 with "Blues" genre
281
264
        self.assertEqual(count, len(musicdata)-1)
282
265
 
284
267
 
285
268
    def getGenre(self, priKey, priData):
286
269
        self.assertEqual(type(priData), type(""))
 
270
        genre = priData.split('|')[2]
 
271
 
287
272
        if verbose:
288
273
            print 'getGenre key: %r data: %r' % (priKey, priData)
289
 
        genre = string.split(priData, '|')[2]
 
274
 
290
275
        if genre == 'Blues':
291
276
            return db.DB_DONOTINDEX
292
277
        else:
410
395
        for key, value in musicdata.items():
411
396
            if type(self.keytype) == type(''):
412
397
                key = "%02d" % key
413
 
            d.put(key, string.join(value, '|'))
 
398
            d.put(key, '|'.join(value))
414
399
 
415
400
    def writer2(self, d):
416
401
        for x in range(100, 600):
417
402
            key = 'z%2d' % x
418
403
            value = [key] * 4
419
 
            d.put(key, string.join(value, '|'))
 
404
            d.put(key, '|'.join(value))
420
405
 
421
406
 
422
407
class ThreadedAssociateHashTestCase(ShelveAssociateTestCase):
435
420
def test_suite():
436
421
    suite = unittest.TestSuite()
437
422
 
438
 
    if db.version() >= (3, 3, 11):
439
 
        suite.addTest(unittest.makeSuite(AssociateErrorTestCase))
440
 
 
441
 
        suite.addTest(unittest.makeSuite(AssociateHashTestCase))
442
 
        suite.addTest(unittest.makeSuite(AssociateBTreeTestCase))
443
 
        suite.addTest(unittest.makeSuite(AssociateRecnoTestCase))
444
 
 
445
 
        if db.version() >= (4, 1):
446
 
            suite.addTest(unittest.makeSuite(AssociateBTreeTxnTestCase))
447
 
 
448
 
        suite.addTest(unittest.makeSuite(ShelveAssociateHashTestCase))
449
 
        suite.addTest(unittest.makeSuite(ShelveAssociateBTreeTestCase))
450
 
        suite.addTest(unittest.makeSuite(ShelveAssociateRecnoTestCase))
451
 
 
452
 
        if have_threads:
453
 
            suite.addTest(unittest.makeSuite(ThreadedAssociateHashTestCase))
454
 
            suite.addTest(unittest.makeSuite(ThreadedAssociateBTreeTestCase))
455
 
            suite.addTest(unittest.makeSuite(ThreadedAssociateRecnoTestCase))
 
423
    suite.addTest(unittest.makeSuite(AssociateErrorTestCase))
 
424
 
 
425
    suite.addTest(unittest.makeSuite(AssociateHashTestCase))
 
426
    suite.addTest(unittest.makeSuite(AssociateBTreeTestCase))
 
427
    suite.addTest(unittest.makeSuite(AssociateRecnoTestCase))
 
428
 
 
429
    if db.version() >= (4, 1):
 
430
        suite.addTest(unittest.makeSuite(AssociateBTreeTxnTestCase))
 
431
 
 
432
    suite.addTest(unittest.makeSuite(ShelveAssociateHashTestCase))
 
433
    suite.addTest(unittest.makeSuite(ShelveAssociateBTreeTestCase))
 
434
    suite.addTest(unittest.makeSuite(ShelveAssociateRecnoTestCase))
 
435
 
 
436
    if have_threads:
 
437
        suite.addTest(unittest.makeSuite(ThreadedAssociateHashTestCase))
 
438
        suite.addTest(unittest.makeSuite(ThreadedAssociateBTreeTestCase))
 
439
        suite.addTest(unittest.makeSuite(ThreadedAssociateRecnoTestCase))
456
440
 
457
441
    return suite
458
442