Changeset 391 for python/trunk/Lib/test/test_bigmem.py
- Timestamp:
- Mar 19, 2014, 11:31:01 PM (11 years ago)
- Location:
- python/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
python/trunk
-
Property svn:mergeinfo
set to
/python/vendor/Python-2.7.6 merged eligible /python/vendor/current merged eligible
-
Property svn:mergeinfo
set to
-
python/trunk/Lib/test/test_bigmem.py
r2 r391 14 14 # value has been created. Use 'del s' before the create_largestring call. 15 15 # 16 # - Do *not* compare large objects using assertEqual sor similar. It's a16 # - Do *not* compare large objects using assertEqual or similar. It's a 17 17 # lengty operation and the errormessage will be utterly useless due to 18 18 # its size. To make sure whether a result has the right contents, better … … 40 40 s = '-' * size + SUBSTR 41 41 caps = s.capitalize() 42 self.assertEqual s(caps[-len(SUBSTR):],42 self.assertEqual(caps[-len(SUBSTR):], 43 43 SUBSTR.capitalize()) 44 self.assertEqual s(caps.lstrip('-'), SUBSTR)44 self.assertEqual(caps.lstrip('-'), SUBSTR) 45 45 46 46 @bigmemtest(minsize=_2G + 10, memuse=1) … … 48 48 SUBSTR = ' abc def ghi' 49 49 s = SUBSTR.center(size) 50 self.assertEqual s(len(s), size)50 self.assertEqual(len(s), size) 51 51 lpadsize = rpadsize = (len(s) - len(SUBSTR)) // 2 52 52 if len(s) % 2: 53 53 lpadsize += 1 54 self.assertEqual s(s[lpadsize:-rpadsize], SUBSTR)55 self.assertEqual s(s.strip(), SUBSTR.strip())54 self.assertEqual(s[lpadsize:-rpadsize], SUBSTR) 55 self.assertEqual(s.strip(), SUBSTR.strip()) 56 56 57 57 @precisionbigmemtest(size=_2G - 1, memuse=1) … … 63 63 pass # acceptable on 32-bit 64 64 else: 65 self.assertEqual s(len(s), size)65 self.assertEqual(len(s), size) 66 66 lpadsize = rpadsize = (len(s) - len(SUBSTR)) // 2 67 67 if len(s) % 2: 68 68 lpadsize += 1 69 self.assertEqual s(s[lpadsize:-rpadsize], SUBSTR)70 self.assertEqual s(s.strip(), SUBSTR.strip())69 self.assertEqual(s[lpadsize:-rpadsize], SUBSTR) 70 self.assertEqual(s.strip(), SUBSTR.strip()) 71 71 del s 72 72 … … 75 75 SUBSTR = ' abc def ghi' 76 76 s = '.' * size + SUBSTR 77 self.assertEqual s(s.count('.'), size)77 self.assertEqual(s.count('.'), size) 78 78 s += '.' 79 self.assertEqual s(s.count('.'), size + 1)80 self.assertEqual s(s.count(' '), 3)81 self.assertEqual s(s.count('i'), 1)82 self.assertEqual s(s.count('j'), 0)79 self.assertEqual(s.count('.'), size + 1) 80 self.assertEqual(s.count(' '), 3) 81 self.assertEqual(s.count('i'), 1) 82 self.assertEqual(s.count('j'), 0) 83 83 84 84 @bigmemtest(minsize=_2G + 2, memuse=3) 85 85 def test_decode(self, size): 86 86 s = '.' * size 87 self.assertEqual s(len(s.decode('utf-8')), size)87 self.assertEqual(len(s.decode('utf-8')), size) 88 88 89 89 def basic_encode_test(self, size, enc, c=u'.', expectedsize=None): … … 92 92 93 93 s = c * size 94 self.assertEqual s(len(s.encode(enc)), expectedsize)94 self.assertEqual(len(s.encode(enc)), expectedsize) 95 95 96 96 @bigmemtest(minsize=_2G + 2, memuse=3) … … 98 98 return self.basic_encode_test(size, 'utf-8') 99 99 100 @precisionbigmemtest(size=_4G / 6 + 2, memuse=2)100 @precisionbigmemtest(size=_4G // 6 + 2, memuse=2) 101 101 def test_encode_raw_unicode_escape(self, size): 102 102 try: … … 105 105 pass # acceptable on 32-bit 106 106 107 @precisionbigmemtest(size=_4G / 5 + 70, memuse=3)107 @precisionbigmemtest(size=_4G // 5 + 70, memuse=3) 108 108 def test_encode_utf7(self, size): 109 109 try: … … 112 112 pass # acceptable on 32-bit 113 113 114 @precisionbigmemtest(size=_4G / 4 + 5, memuse=6)114 @precisionbigmemtest(size=_4G // 4 + 5, memuse=6) 115 115 def test_encode_utf32(self, size): 116 116 try: … … 119 119 pass # acceptable on 32-bit 120 120 121 @precisionbigmemtest(size=_2G-1, memuse= 2)121 @precisionbigmemtest(size=_2G-1, memuse=4) 122 122 def test_decodeascii(self, size): 123 123 return self.basic_encode_test(size, 'ascii', c='A') 124 124 125 @precisionbigmemtest(size=_4G / 5, memuse=6+2)125 @precisionbigmemtest(size=_4G // 5, memuse=6+2) 126 126 def test_unicode_repr_oflw(self, size): 127 self.skipTest("test crashes - see issue #14904") 127 128 try: 128 129 s = u"\uAAAA"*size … … 131 132 pass # acceptable on 32-bit 132 133 else: 133 self. failUnless(s == eval(r))134 self.assertTrue(s == eval(r)) 134 135 135 136 @bigmemtest(minsize=_2G, memuse=2) … … 137 138 SUBSTR = ' abc def ghi' 138 139 s = '-' * size + SUBSTR 139 self. failUnless(s.endswith(SUBSTR))140 self. failUnless(s.endswith(s))140 self.assertTrue(s.endswith(SUBSTR)) 141 self.assertTrue(s.endswith(s)) 141 142 s2 = '...' + s 142 self. failUnless(s2.endswith(s))143 self. failIf(s.endswith('a' + SUBSTR))144 self. failIf(SUBSTR.endswith(s))143 self.assertTrue(s2.endswith(s)) 144 self.assertFalse(s.endswith('a' + SUBSTR)) 145 self.assertFalse(SUBSTR.endswith(s)) 145 146 146 147 @bigmemtest(minsize=_2G + 10, memuse=2) … … 148 149 s = '-' * size 149 150 tabsize = 8 150 self.assertEqual s(s.expandtabs(), s)151 self.assertEqual(s.expandtabs(), s) 151 152 del s 152 153 slen, remainder = divmod(size, tabsize) 153 154 s = ' \t' * slen 154 155 s = s.expandtabs(tabsize) 155 self.assertEqual s(len(s), size - remainder)156 self.assertEqual s(len(s.strip(' ')), 0)156 self.assertEqual(len(s), size - remainder) 157 self.assertEqual(len(s.strip(' ')), 0) 157 158 158 159 @bigmemtest(minsize=_2G, memuse=2) … … 161 162 sublen = len(SUBSTR) 162 163 s = ''.join([SUBSTR, '-' * size, SUBSTR]) 163 self.assertEqual s(s.find(' '), 0)164 self.assertEqual s(s.find(SUBSTR), 0)165 self.assertEqual s(s.find(' ', sublen), sublen + size)166 self.assertEqual s(s.find(SUBSTR, len(SUBSTR)), sublen + size)167 self.assertEqual s(s.find('i'), SUBSTR.find('i'))168 self.assertEqual s(s.find('i', sublen),164 self.assertEqual(s.find(' '), 0) 165 self.assertEqual(s.find(SUBSTR), 0) 166 self.assertEqual(s.find(' ', sublen), sublen + size) 167 self.assertEqual(s.find(SUBSTR, len(SUBSTR)), sublen + size) 168 self.assertEqual(s.find('i'), SUBSTR.find('i')) 169 self.assertEqual(s.find('i', sublen), 169 170 sublen + size + SUBSTR.find('i')) 170 self.assertEqual s(s.find('i', size),171 self.assertEqual(s.find('i', size), 171 172 sublen + size + SUBSTR.find('i')) 172 self.assertEqual s(s.find('j'), -1)173 self.assertEqual(s.find('j'), -1) 173 174 174 175 @bigmemtest(minsize=_2G, memuse=2) … … 177 178 sublen = len(SUBSTR) 178 179 s = ''.join([SUBSTR, '-' * size, SUBSTR]) 179 self.assertEqual s(s.index(' '), 0)180 self.assertEqual s(s.index(SUBSTR), 0)181 self.assertEqual s(s.index(' ', sublen), sublen + size)182 self.assertEqual s(s.index(SUBSTR, sublen), sublen + size)183 self.assertEqual s(s.index('i'), SUBSTR.index('i'))184 self.assertEqual s(s.index('i', sublen),180 self.assertEqual(s.index(' '), 0) 181 self.assertEqual(s.index(SUBSTR), 0) 182 self.assertEqual(s.index(' ', sublen), sublen + size) 183 self.assertEqual(s.index(SUBSTR, sublen), sublen + size) 184 self.assertEqual(s.index('i'), SUBSTR.index('i')) 185 self.assertEqual(s.index('i', sublen), 185 186 sublen + size + SUBSTR.index('i')) 186 self.assertEqual s(s.index('i', size),187 self.assertEqual(s.index('i', size), 187 188 sublen + size + SUBSTR.index('i')) 188 189 self.assertRaises(ValueError, s.index, 'j') … … 192 193 SUBSTR = '123456' 193 194 s = 'a' * size + SUBSTR 194 self. failUnless(s.isalnum())195 self.assertTrue(s.isalnum()) 195 196 s += '.' 196 self. failIf(s.isalnum())197 self.assertFalse(s.isalnum()) 197 198 198 199 @bigmemtest(minsize=_2G, memuse=2) … … 200 201 SUBSTR = 'zzzzzzz' 201 202 s = 'a' * size + SUBSTR 202 self. failUnless(s.isalpha())203 self.assertTrue(s.isalpha()) 203 204 s += '.' 204 self. failIf(s.isalpha())205 self.assertFalse(s.isalpha()) 205 206 206 207 @bigmemtest(minsize=_2G, memuse=2) … … 208 209 SUBSTR = '123456' 209 210 s = '9' * size + SUBSTR 210 self. failUnless(s.isdigit())211 self.assertTrue(s.isdigit()) 211 212 s += 'z' 212 self. failIf(s.isdigit())213 self.assertFalse(s.isdigit()) 213 214 214 215 @bigmemtest(minsize=_2G, memuse=2) … … 217 218 repeats = size // len(chars) + 2 218 219 s = chars * repeats 219 self. failUnless(s.islower())220 self.assertTrue(s.islower()) 220 221 s += 'A' 221 self. failIf(s.islower())222 self.assertFalse(s.islower()) 222 223 223 224 @bigmemtest(minsize=_2G, memuse=2) … … 226 227 repeats = size // len(whitespace) + 2 227 228 s = whitespace * repeats 228 self. failUnless(s.isspace())229 self.assertTrue(s.isspace()) 229 230 s += 'j' 230 self. failIf(s.isspace())231 self.assertFalse(s.isspace()) 231 232 232 233 @bigmemtest(minsize=_2G, memuse=2) … … 234 235 SUBSTR = '123456' 235 236 s = ''.join(['A', 'a' * size, SUBSTR]) 236 self. failUnless(s.istitle())237 self.assertTrue(s.istitle()) 237 238 s += 'A' 238 self. failUnless(s.istitle())239 self.assertTrue(s.istitle()) 239 240 s += 'aA' 240 self. failIf(s.istitle())241 self.assertFalse(s.istitle()) 241 242 242 243 @bigmemtest(minsize=_2G, memuse=2) … … 245 246 repeats = size // len(chars) + 2 246 247 s = chars * repeats 247 self. failUnless(s.isupper())248 self.assertTrue(s.isupper()) 248 249 s += 'a' 249 self. failIf(s.isupper())250 self.assertFalse(s.isupper()) 250 251 251 252 @bigmemtest(minsize=_2G, memuse=2) … … 253 254 s = 'A' * size 254 255 x = s.join(['aaaaa', 'bbbbb']) 255 self.assertEqual s(x.count('a'), 5)256 self.assertEqual s(x.count('b'), 5)257 self. failUnless(x.startswith('aaaaaA'))258 self. failUnless(x.endswith('Abbbbb'))256 self.assertEqual(x.count('a'), 5) 257 self.assertEqual(x.count('b'), 5) 258 self.assertTrue(x.startswith('aaaaaA')) 259 self.assertTrue(x.endswith('Abbbbb')) 259 260 260 261 @bigmemtest(minsize=_2G + 10, memuse=1) … … 262 263 SUBSTR = ' abc def ghi' 263 264 s = SUBSTR.ljust(size) 264 self. failUnless(s.startswith(SUBSTR + ' '))265 self.assertEqual s(len(s), size)266 self.assertEqual s(s.strip(), SUBSTR.strip())265 self.assertTrue(s.startswith(SUBSTR + ' ')) 266 self.assertEqual(len(s), size) 267 self.assertEqual(s.strip(), SUBSTR.strip()) 267 268 268 269 @bigmemtest(minsize=_2G + 10, memuse=2) … … 270 271 s = 'A' * size 271 272 s = s.lower() 272 self.assertEqual s(len(s), size)273 self.assertEqual s(s.count('a'), size)273 self.assertEqual(len(s), size) 274 self.assertEqual(s.count('a'), size) 274 275 275 276 @bigmemtest(minsize=_2G + 10, memuse=1) … … 277 278 SUBSTR = 'abc def ghi' 278 279 s = SUBSTR.rjust(size) 279 self.assertEqual s(len(s), size)280 self.assertEqual s(s.lstrip(), SUBSTR.lstrip())280 self.assertEqual(len(s), size) 281 self.assertEqual(s.lstrip(), SUBSTR.lstrip()) 281 282 del s 282 283 s = SUBSTR.ljust(size) 283 self.assertEqual s(len(s), size)284 self.assertEqual(len(s), size) 284 285 stripped = s.lstrip() 285 self. failUnless(stripped is s)286 self.assertTrue(stripped is s) 286 287 287 288 @bigmemtest(minsize=_2G + 10, memuse=2) … … 290 291 s = ' ' * size 291 292 s = s.replace(' ', replacement) 292 self.assertEqual s(len(s), size)293 self.assertEqual s(s.count(replacement), size)293 self.assertEqual(len(s), size) 294 self.assertEqual(s.count(replacement), size) 294 295 s = s.replace(replacement, ' ', size - 4) 295 self.assertEqual s(len(s), size)296 self.assertEqual s(s.count(replacement), 4)297 self.assertEqual s(s[-10:], ' aaaa')296 self.assertEqual(len(s), size) 297 self.assertEqual(s.count(replacement), 4) 298 self.assertEqual(s[-10:], ' aaaa') 298 299 299 300 @bigmemtest(minsize=_2G, memuse=2) … … 302 303 sublen = len(SUBSTR) 303 304 s = ''.join([SUBSTR, '-' * size, SUBSTR]) 304 self.assertEqual s(s.rfind(' '), sublen + size + SUBSTR.rfind(' '))305 self.assertEqual s(s.rfind(SUBSTR), sublen + size)306 self.assertEqual s(s.rfind(' ', 0, size), SUBSTR.rfind(' '))307 self.assertEqual s(s.rfind(SUBSTR, 0, sublen + size), 0)308 self.assertEqual s(s.rfind('i'), sublen + size + SUBSTR.rfind('i'))309 self.assertEqual s(s.rfind('i', 0, sublen), SUBSTR.rfind('i'))310 self.assertEqual s(s.rfind('i', 0, sublen + size),311 312 self.assertEqual s(s.rfind('j'), -1)305 self.assertEqual(s.rfind(' '), sublen + size + SUBSTR.rfind(' ')) 306 self.assertEqual(s.rfind(SUBSTR), sublen + size) 307 self.assertEqual(s.rfind(' ', 0, size), SUBSTR.rfind(' ')) 308 self.assertEqual(s.rfind(SUBSTR, 0, sublen + size), 0) 309 self.assertEqual(s.rfind('i'), sublen + size + SUBSTR.rfind('i')) 310 self.assertEqual(s.rfind('i', 0, sublen), SUBSTR.rfind('i')) 311 self.assertEqual(s.rfind('i', 0, sublen + size), 312 SUBSTR.rfind('i')) 313 self.assertEqual(s.rfind('j'), -1) 313 314 314 315 @bigmemtest(minsize=_2G, memuse=2) … … 317 318 sublen = len(SUBSTR) 318 319 s = ''.join([SUBSTR, '-' * size, SUBSTR]) 319 self.assertEqual s(s.rindex(' '),320 self.assertEqual(s.rindex(' '), 320 321 sublen + size + SUBSTR.rindex(' ')) 321 self.assertEqual s(s.rindex(SUBSTR), sublen + size)322 self.assertEqual s(s.rindex(' ', 0, sublen + size - 1),323 324 self.assertEqual s(s.rindex(SUBSTR, 0, sublen + size), 0)325 self.assertEqual s(s.rindex('i'),326 327 self.assertEqual s(s.rindex('i', 0, sublen), SUBSTR.rindex('i'))328 self.assertEqual s(s.rindex('i', 0, sublen + size),329 322 self.assertEqual(s.rindex(SUBSTR), sublen + size) 323 self.assertEqual(s.rindex(' ', 0, sublen + size - 1), 324 SUBSTR.rindex(' ')) 325 self.assertEqual(s.rindex(SUBSTR, 0, sublen + size), 0) 326 self.assertEqual(s.rindex('i'), 327 sublen + size + SUBSTR.rindex('i')) 328 self.assertEqual(s.rindex('i', 0, sublen), SUBSTR.rindex('i')) 329 self.assertEqual(s.rindex('i', 0, sublen + size), 330 SUBSTR.rindex('i')) 330 331 self.assertRaises(ValueError, s.rindex, 'j') 331 332 … … 334 335 SUBSTR = ' abc def ghi' 335 336 s = SUBSTR.ljust(size) 336 self. failUnless(s.startswith(SUBSTR + ' '))337 self.assertEqual s(len(s), size)338 self.assertEqual s(s.strip(), SUBSTR.strip())337 self.assertTrue(s.startswith(SUBSTR + ' ')) 338 self.assertEqual(len(s), size) 339 self.assertEqual(s.strip(), SUBSTR.strip()) 339 340 340 341 @bigmemtest(minsize=_2G + 10, memuse=1) … … 342 343 SUBSTR = ' abc def ghi' 343 344 s = SUBSTR.ljust(size) 344 self.assertEqual s(len(s), size)345 self.assertEqual s(s.rstrip(), SUBSTR.rstrip())345 self.assertEqual(len(s), size) 346 self.assertEqual(s.rstrip(), SUBSTR.rstrip()) 346 347 del s 347 348 s = SUBSTR.rjust(size) 348 self.assertEqual s(len(s), size)349 self.assertEqual(len(s), size) 349 350 stripped = s.rstrip() 350 self. failUnless(stripped is s)351 self.assertTrue(stripped is s) 351 352 352 353 # The test takes about size bytes to build a string, and then about … … 361 362 s = SUBSTR * chunksize 362 363 l = s.split() 363 self.assertEqual s(len(l), chunksize)364 self.assertEqual s(set(l), set(['a']))364 self.assertEqual(len(l), chunksize) 365 self.assertEqual(set(l), set(['a'])) 365 366 del l 366 367 l = s.split('a') 367 self.assertEqual s(len(l), chunksize + 1)368 self.assertEqual s(set(l), set(['', ' ' * chunksize]))368 self.assertEqual(len(l), chunksize + 1) 369 self.assertEqual(set(l), set(['', ' ' * chunksize])) 369 370 370 371 # Allocates a string of twice size (and briefly two) and a list of … … 378 379 s = ' a' * size + ' ' 379 380 l = s.split() 380 self.assertEqual s(len(l), size)381 self.assertEqual s(set(l), set(['a']))381 self.assertEqual(len(l), size) 382 self.assertEqual(set(l), set(['a'])) 382 383 del l 383 384 l = s.split('a') 384 self.assertEqual s(len(l), size + 1)385 self.assertEqual s(set(l), set([' ']))385 self.assertEqual(len(l), size + 1) 386 self.assertEqual(set(l), set([' '])) 386 387 387 388 @bigmemtest(minsize=_2G, memuse=2.1) … … 393 394 s = SUBSTR * chunksize 394 395 l = s.splitlines() 395 self.assertEqual s(len(l), chunksize * 2)396 self.assertEqual s(set(l), set([' ' * chunksize]))396 self.assertEqual(len(l), chunksize * 2) 397 self.assertEqual(set(l), set([' ' * chunksize])) 397 398 398 399 @bigmemtest(minsize=_2G, memuse=2) … … 400 401 SUBSTR = ' abc def ghi' 401 402 s = '-' * size + SUBSTR 402 self. failUnless(s.startswith(s))403 self. failUnless(s.startswith('-' * size))404 self. failIf(s.startswith(SUBSTR))403 self.assertTrue(s.startswith(s)) 404 self.assertTrue(s.startswith('-' * size)) 405 self.assertFalse(s.startswith(SUBSTR)) 405 406 406 407 @bigmemtest(minsize=_2G, memuse=1) … … 408 409 SUBSTR = ' abc def ghi ' 409 410 s = SUBSTR.rjust(size) 410 self.assertEqual s(len(s), size)411 self.assertEqual s(s.strip(), SUBSTR.strip())411 self.assertEqual(len(s), size) 412 self.assertEqual(s.strip(), SUBSTR.strip()) 412 413 del s 413 414 s = SUBSTR.ljust(size) 414 self.assertEqual s(len(s), size)415 self.assertEqual s(s.strip(), SUBSTR.strip())415 self.assertEqual(len(s), size) 416 self.assertEqual(s.strip(), SUBSTR.strip()) 416 417 417 418 @bigmemtest(minsize=_2G, memuse=2) … … 422 423 s = SUBSTR * repeats 423 424 s = s.swapcase() 424 self.assertEqual s(len(s), sublen * repeats)425 self.assertEqual s(s[:sublen * 3], SUBSTR.swapcase() * 3)426 self.assertEqual s(s[-sublen * 3:], SUBSTR.swapcase() * 3)425 self.assertEqual(len(s), sublen * repeats) 426 self.assertEqual(s[:sublen * 3], SUBSTR.swapcase() * 3) 427 self.assertEqual(s[-sublen * 3:], SUBSTR.swapcase() * 3) 427 428 428 429 @bigmemtest(minsize=_2G, memuse=2) … … 431 432 s = SUBSTR * (size // len(SUBSTR) + 2) 432 433 s = s.title() 433 self. failUnless(s.startswith((SUBSTR * 3).title()))434 self. failUnless(s.endswith(SUBSTR.lower() * 3))434 self.assertTrue(s.startswith((SUBSTR * 3).title())) 435 self.assertTrue(s.endswith(SUBSTR.lower() * 3)) 435 436 436 437 @bigmemtest(minsize=_2G, memuse=2) … … 442 443 s = SUBSTR * repeats 443 444 s = s.translate(trans) 444 self.assertEqual s(len(s), repeats * sublen)445 self.assertEqual s(s[:sublen], SUBSTR.translate(trans))446 self.assertEqual s(s[-sublen:], SUBSTR.translate(trans))447 self.assertEqual s(s.count('.'), 0)448 self.assertEqual s(s.count('!'), repeats * 2)449 self.assertEqual s(s.count('z'), repeats * 3)445 self.assertEqual(len(s), repeats * sublen) 446 self.assertEqual(s[:sublen], SUBSTR.translate(trans)) 447 self.assertEqual(s[-sublen:], SUBSTR.translate(trans)) 448 self.assertEqual(s.count('.'), 0) 449 self.assertEqual(s.count('!'), repeats * 2) 450 self.assertEqual(s.count('z'), repeats * 3) 450 451 451 452 @bigmemtest(minsize=_2G + 5, memuse=2) … … 453 454 s = 'a' * size 454 455 s = s.upper() 455 self.assertEqual s(len(s), size)456 self.assertEqual s(s.count('A'), size)456 self.assertEqual(len(s), size) 457 self.assertEqual(s.count('A'), size) 457 458 458 459 @bigmemtest(minsize=_2G + 20, memuse=1) … … 460 461 SUBSTR = '-568324723598234' 461 462 s = SUBSTR.zfill(size) 462 self. failUnless(s.endswith('0' + SUBSTR[1:]))463 self. failUnless(s.startswith('-0'))464 self.assertEqual s(len(s), size)465 self.assertEqual s(s.count('0'), size - len(SUBSTR))463 self.assertTrue(s.endswith('0' + SUBSTR[1:])) 464 self.assertTrue(s.startswith('-0')) 465 self.assertEqual(len(s), size) 466 self.assertEqual(s.count('0'), size - len(SUBSTR)) 466 467 467 468 @bigmemtest(minsize=_2G + 10, memuse=2) … … 469 470 s = '-' * size 470 471 sf = '%s' % (s,) 471 self. failUnless(s == sf)472 self.assertTrue(s == sf) 472 473 del sf 473 474 sf = '..%s..' % (s,) 474 self.assertEqual s(len(sf), len(s) + 4)475 self. failUnless(sf.startswith('..-'))476 self. failUnless(sf.endswith('-..'))475 self.assertEqual(len(sf), len(s) + 4) 476 self.assertTrue(sf.startswith('..-')) 477 self.assertTrue(sf.endswith('-..')) 477 478 del s, sf 478 479 … … 482 483 del edge 483 484 s = s % '...' 484 self.assertEqual s(len(s), size * 2 + 3)485 self.assertEqual s(s.count('.'), 3)486 self.assertEqual s(s.count('-'), size * 2)487 488 @bigmemtest(minsize=_2G + 10, memuse= 2)485 self.assertEqual(len(s), size * 2 + 3) 486 self.assertEqual(s.count('.'), 3) 487 self.assertEqual(s.count('-'), size * 2) 488 489 @bigmemtest(minsize=_2G + 10, memuse=5) 489 490 def test_repr_small(self, size): 490 491 s = '-' * size 491 492 s = repr(s) 492 self.assertEqual s(len(s), size + 2)493 self.assertEqual s(s[0], "'")494 self.assertEqual s(s[-1], "'")495 self.assertEqual s(s.count('-'), size)493 self.assertEqual(len(s), size + 2) 494 self.assertEqual(s[0], "'") 495 self.assertEqual(s[-1], "'") 496 self.assertEqual(s.count('-'), size) 496 497 del s 497 498 # repr() will create a string four times as large as this 'binary 498 499 # string', but we don't want to allocate much more than twice 499 500 # size in total. (We do extra testing in test_repr_large()) 500 size = size // 5 * 2501 501 s = '\x00' * size 502 502 s = repr(s) 503 self.assertEqual s(len(s), size * 4 + 2)504 self.assertEqual s(s[0], "'")505 self.assertEqual s(s[-1], "'")506 self.assertEqual s(s.count('\\'), size)507 self.assertEqual s(s.count('0'), size * 2)503 self.assertEqual(len(s), size * 4 + 2) 504 self.assertEqual(s[0], "'") 505 self.assertEqual(s[-1], "'") 506 self.assertEqual(s.count('\\'), size) 507 self.assertEqual(s.count('0'), size * 2) 508 508 509 509 @bigmemtest(minsize=_2G + 10, memuse=5) … … 511 511 s = '\x00' * size 512 512 s = repr(s) 513 self.assertEqual s(len(s), size * 4 + 2)514 self.assertEqual s(s[0], "'")515 self.assertEqual s(s[-1], "'")516 self.assertEqual s(s.count('\\'), size)517 self.assertEqual s(s.count('0'), size * 2)518 519 @bigmemtest(minsize=2**32 / 5, memuse=6+2)513 self.assertEqual(len(s), size * 4 + 2) 514 self.assertEqual(s[0], "'") 515 self.assertEqual(s[-1], "'") 516 self.assertEqual(s.count('\\'), size) 517 self.assertEqual(s.count('0'), size * 2) 518 519 @bigmemtest(minsize=2**32 // 5, memuse=6+2) 520 520 def test_unicode_repr(self, size): 521 521 s = u"\uAAAA" * size 522 self. failUnless(len(repr(s)) > size)522 self.assertTrue(len(repr(s)) > size) 523 523 524 524 # This test is meaningful even with size < 2G, as long as the … … 527 527 def test_concat(self, size): 528 528 s = '.' * size 529 self.assertEqual s(len(s), size)529 self.assertEqual(len(s), size) 530 530 s = s + s 531 self.assertEqual s(len(s), size * 2)532 self.assertEqual s(s.count('.'), size * 2)531 self.assertEqual(len(s), size * 2) 532 self.assertEqual(s.count('.'), size * 2) 533 533 534 534 # This test is meaningful even with size < 2G, as long as the … … 537 537 def test_repeat(self, size): 538 538 s = '.' * size 539 self.assertEqual s(len(s), size)539 self.assertEqual(len(s), size) 540 540 s = s * 2 541 self.assertEqual s(len(s), size * 2)542 self.assertEqual s(s.count('.'), size * 2)543 544 @bigmemtest(minsize=_2G + 20, memuse= 1)541 self.assertEqual(len(s), size * 2) 542 self.assertEqual(s.count('.'), size * 2) 543 544 @bigmemtest(minsize=_2G + 20, memuse=2) 545 545 def test_slice_and_getitem(self, size): 546 546 SUBSTR = '0123456789' … … 550 550 stepsize = stepsize - (stepsize % sublen) 551 551 for i in range(0, len(s) - stepsize, stepsize): 552 self.assertEqual s(s[i], SUBSTR[0])553 self.assertEqual s(s[i:i + sublen], SUBSTR)554 self.assertEqual s(s[i:i + sublen:2], SUBSTR[::2])552 self.assertEqual(s[i], SUBSTR[0]) 553 self.assertEqual(s[i:i + sublen], SUBSTR) 554 self.assertEqual(s[i:i + sublen:2], SUBSTR[::2]) 555 555 if i > 0: 556 self.assertEqual s(s[i + sublen - 1:i - 1:-3],557 556 self.assertEqual(s[i + sublen - 1:i - 1:-3], 557 SUBSTR[sublen::-3]) 558 558 # Make sure we do some slicing and indexing near the end of the 559 559 # string, too. 560 self.assertEqual s(s[len(s) - 1], SUBSTR[-1])561 self.assertEqual s(s[-1], SUBSTR[-1])562 self.assertEqual s(s[len(s) - 10], SUBSTR[0])563 self.assertEqual s(s[-sublen], SUBSTR[0])564 self.assertEqual s(s[len(s):], '')565 self.assertEqual s(s[len(s) - 1:], SUBSTR[-1])566 self.assertEqual s(s[-1:], SUBSTR[-1])567 self.assertEqual s(s[len(s) - sublen:], SUBSTR)568 self.assertEqual s(s[-sublen:], SUBSTR)569 self.assertEqual s(len(s[:]), len(s))570 self.assertEqual s(len(s[:len(s) - 5]), len(s) - 5)571 self.assertEqual s(len(s[5:-5]), len(s) - 10)560 self.assertEqual(s[len(s) - 1], SUBSTR[-1]) 561 self.assertEqual(s[-1], SUBSTR[-1]) 562 self.assertEqual(s[len(s) - 10], SUBSTR[0]) 563 self.assertEqual(s[-sublen], SUBSTR[0]) 564 self.assertEqual(s[len(s):], '') 565 self.assertEqual(s[len(s) - 1:], SUBSTR[-1]) 566 self.assertEqual(s[-1:], SUBSTR[-1]) 567 self.assertEqual(s[len(s) - sublen:], SUBSTR) 568 self.assertEqual(s[-sublen:], SUBSTR) 569 self.assertEqual(len(s[:]), len(s)) 570 self.assertEqual(len(s[:len(s) - 5]), len(s) - 5) 571 self.assertEqual(len(s[5:-5]), len(s) - 10) 572 572 573 573 self.assertRaises(IndexError, operator.getitem, s, len(s)) … … 581 581 s = ''.join([edge, SUBSTR, edge]) 582 582 del edge 583 self. failUnless(SUBSTR ins)584 self. failIf(SUBSTR * 2 ins)585 self. failUnless('-' ins)586 self. failIf('a' ins)583 self.assertIn(SUBSTR, s) 584 self.assertNotIn(SUBSTR * 2, s) 585 self.assertIn('-', s) 586 self.assertNotIn('a', s) 587 587 s += 'a' 588 self. failUnless('a' ins)588 self.assertIn('a', s) 589 589 590 590 @bigmemtest(minsize=_2G + 10, memuse=2) … … 592 592 s1 = '-' * size 593 593 s2 = '-' * size 594 self. failUnless(s1 == s2)594 self.assertTrue(s1 == s2) 595 595 del s2 596 596 s2 = s1 + 'a' 597 self. failIf(s1 == s2)597 self.assertFalse(s1 == s2) 598 598 del s2 599 599 s2 = '.' * size 600 self. failIf(s1 == s2)600 self.assertFalse(s1 == s2) 601 601 602 602 @bigmemtest(minsize=_2G + 10, memuse=1) … … 612 612 del s 613 613 s = '\x00' * (size + 1) 614 self. failIf(h1 == hash(s))614 self.assertFalse(h1 == hash(s)) 615 615 616 616 class TupleTest(unittest.TestCase): … … 629 629 t1 = (u'',) * size 630 630 t2 = (u'',) * size 631 self. failUnless(t1 == t2)631 self.assertTrue(t1 == t2) 632 632 del t2 633 633 t2 = (u'',) * (size + 1) 634 self. failIf(t1 == t2)634 self.assertFalse(t1 == t2) 635 635 del t2 636 636 t2 = (1,) * size 637 self. failIf(t1 == t2)637 self.assertFalse(t1 == t2) 638 638 639 639 # Test concatenating into a single tuple of more than 2G in length, … … 644 644 def basic_concat_test(self, size): 645 645 t = ((),) * size 646 self.assertEqual s(len(t), size)646 self.assertEqual(len(t), size) 647 647 t = t + t 648 self.assertEqual s(len(t), size * 2)648 self.assertEqual(len(t), size * 2) 649 649 650 650 @bigmemtest(minsize=_2G // 2 + 2, memuse=24) … … 659 659 def test_contains(self, size): 660 660 t = (1, 2, 3, 4, 5) * size 661 self.assertEqual s(len(t), size * 5)662 self. failUnless(5 int)663 self. failIf((1, 2, 3, 4, 5) int)664 self. failIf(0 int)661 self.assertEqual(len(t), size * 5) 662 self.assertIn(5, t) 663 self.assertNotIn((1, 2, 3, 4, 5), t) 664 self.assertNotIn(0, t) 665 665 666 666 @bigmemtest(minsize=_2G + 10, memuse=8) … … 670 670 del t1 671 671 t2 = (0,) * (size + 1) 672 self. failIf(h1 == hash(t2))672 self.assertFalse(h1 == hash(t2)) 673 673 674 674 @bigmemtest(minsize=_2G + 10, memuse=8) 675 675 def test_index_and_slice(self, size): 676 676 t = (None,) * size 677 self.assertEqual s(len(t), size)678 self.assertEqual s(t[-1], None)679 self.assertEqual s(t[5], None)680 self.assertEqual s(t[size - 1], None)677 self.assertEqual(len(t), size) 678 self.assertEqual(t[-1], None) 679 self.assertEqual(t[5], None) 680 self.assertEqual(t[size - 1], None) 681 681 self.assertRaises(IndexError, operator.getitem, t, size) 682 self.assertEqual s(t[:5], (None,) * 5)683 self.assertEqual s(t[-5:], (None,) * 5)684 self.assertEqual s(t[20:25], (None,) * 5)685 self.assertEqual s(t[-25:-20], (None,) * 5)686 self.assertEqual s(t[size - 5:], (None,) * 5)687 self.assertEqual s(t[size - 5:size], (None,) * 5)688 self.assertEqual s(t[size - 6:size - 2], (None,) * 4)689 self.assertEqual s(t[size:size], ())690 self.assertEqual s(t[size:size+5], ())682 self.assertEqual(t[:5], (None,) * 5) 683 self.assertEqual(t[-5:], (None,) * 5) 684 self.assertEqual(t[20:25], (None,) * 5) 685 self.assertEqual(t[-25:-20], (None,) * 5) 686 self.assertEqual(t[size - 5:], (None,) * 5) 687 self.assertEqual(t[size - 5:size], (None,) * 5) 688 self.assertEqual(t[size - 6:size - 2], (None,) * 4) 689 self.assertEqual(t[size:size], ()) 690 self.assertEqual(t[size:size+5], ()) 691 691 692 692 # Like test_concat, split in two. 693 693 def basic_test_repeat(self, size): 694 694 t = ('',) * size 695 self.assertEqual s(len(t), size)695 self.assertEqual(len(t), size) 696 696 t = t * 2 697 self.assertEqual s(len(t), size * 2)697 self.assertEqual(len(t), size * 2) 698 698 699 699 @bigmemtest(minsize=_2G // 2 + 2, memuse=24) … … 718 718 count = 0 719 719 for item in t: 720 self.assertEqual s(item, count)720 self.assertEqual(item, count) 721 721 count += 1 722 self.assertEqual s(count, size)722 self.assertEqual(count, size) 723 723 724 724 @precisionbigmemtest(size=_1G - 25, memuse=9) … … 728 728 count = 0 729 729 for item in t: 730 self.assertEqual s(item, count)730 self.assertEqual(item, count) 731 731 count += 1 732 self.assertEqual s(count, size)732 self.assertEqual(count, size) 733 733 except MemoryError: 734 734 pass # acceptable, expected on 32-bit … … 739 739 s = repr(t) 740 740 # The repr of a tuple of 0's is exactly three times the tuple length. 741 self.assertEqual s(len(s), size * 3)742 self.assertEqual s(s[:5], '(0, 0')743 self.assertEqual s(s[-5:], '0, 0)')744 self.assertEqual s(s.count('0'), size)741 self.assertEqual(len(s), size * 3) 742 self.assertEqual(s[:5], '(0, 0') 743 self.assertEqual(s[-5:], '0, 0)') 744 self.assertEqual(s.count('0'), size) 745 745 746 746 @bigmemtest(minsize=_2G // 3 + 2, memuse=8 + 3) … … 763 763 l1 = [u''] * size 764 764 l2 = [u''] * size 765 self. failUnless(l1 == l2)765 self.assertTrue(l1 == l2) 766 766 del l2 767 767 l2 = [u''] * (size + 1) 768 self. failIf(l1 == l2)768 self.assertFalse(l1 == l2) 769 769 del l2 770 770 l2 = [2] * size 771 self. failIf(l1 == l2)771 self.assertFalse(l1 == l2) 772 772 773 773 # Test concatenating into a single list of more than 2G in length, … … 778 778 def basic_test_concat(self, size): 779 779 l = [[]] * size 780 self.assertEqual s(len(l), size)780 self.assertEqual(len(l), size) 781 781 l = l + l 782 self.assertEqual s(len(l), size * 2)782 self.assertEqual(len(l), size * 2) 783 783 784 784 @bigmemtest(minsize=_2G // 2 + 2, memuse=24) … … 793 793 l = [sys.stdout] * size 794 794 l += l 795 self.assertEqual s(len(l), size * 2)796 self. failUnless(l[0] is l[-1])797 self. failUnless(l[size - 1] is l[size + 1])795 self.assertEqual(len(l), size * 2) 796 self.assertTrue(l[0] is l[-1]) 797 self.assertTrue(l[size - 1] is l[size + 1]) 798 798 799 799 @bigmemtest(minsize=_2G // 2 + 2, memuse=24) … … 808 808 def test_contains(self, size): 809 809 l = [1, 2, 3, 4, 5] * size 810 self.assertEqual s(len(l), size * 5)811 self. failUnless(5 inl)812 self. failIf([1, 2, 3, 4, 5] inl)813 self. failIf(0 inl)810 self.assertEqual(len(l), size * 5) 811 self.assertIn(5, l) 812 self.assertNotIn([1, 2, 3, 4, 5], l) 813 self.assertNotIn(0, l) 814 814 815 815 @bigmemtest(minsize=_2G + 10, memuse=8) 816 816 def test_hash(self, size): 817 817 l = [0] * size 818 self. failUnlessRaises(TypeError, hash, l)818 self.assertRaises(TypeError, hash, l) 819 819 820 820 @bigmemtest(minsize=_2G + 10, memuse=8) 821 821 def test_index_and_slice(self, size): 822 822 l = [None] * size 823 self.assertEqual s(len(l), size)824 self.assertEqual s(l[-1], None)825 self.assertEqual s(l[5], None)826 self.assertEqual s(l[size - 1], None)823 self.assertEqual(len(l), size) 824 self.assertEqual(l[-1], None) 825 self.assertEqual(l[5], None) 826 self.assertEqual(l[size - 1], None) 827 827 self.assertRaises(IndexError, operator.getitem, l, size) 828 self.assertEqual s(l[:5], [None] * 5)829 self.assertEqual s(l[-5:], [None] * 5)830 self.assertEqual s(l[20:25], [None] * 5)831 self.assertEqual s(l[-25:-20], [None] * 5)832 self.assertEqual s(l[size - 5:], [None] * 5)833 self.assertEqual s(l[size - 5:size], [None] * 5)834 self.assertEqual s(l[size - 6:size - 2], [None] * 4)835 self.assertEqual s(l[size:size], [])836 self.assertEqual s(l[size:size+5], [])828 self.assertEqual(l[:5], [None] * 5) 829 self.assertEqual(l[-5:], [None] * 5) 830 self.assertEqual(l[20:25], [None] * 5) 831 self.assertEqual(l[-25:-20], [None] * 5) 832 self.assertEqual(l[size - 5:], [None] * 5) 833 self.assertEqual(l[size - 5:size], [None] * 5) 834 self.assertEqual(l[size - 6:size - 2], [None] * 4) 835 self.assertEqual(l[size:size], []) 836 self.assertEqual(l[size:size+5], []) 837 837 838 838 l[size - 2] = 5 839 self.assertEqual s(len(l), size)840 self.assertEqual s(l[-3:], [None, 5, None])841 self.assertEqual s(l.count(5), 1)839 self.assertEqual(len(l), size) 840 self.assertEqual(l[-3:], [None, 5, None]) 841 self.assertEqual(l.count(5), 1) 842 842 self.assertRaises(IndexError, operator.setitem, l, size, 6) 843 self.assertEqual s(len(l), size)843 self.assertEqual(len(l), size) 844 844 845 845 l[size - 7:] = [1, 2, 3, 4, 5] 846 846 size -= 2 847 self.assertEqual s(len(l), size)848 self.assertEqual s(l[-7:], [None, None, 1, 2, 3, 4, 5])847 self.assertEqual(len(l), size) 848 self.assertEqual(l[-7:], [None, None, 1, 2, 3, 4, 5]) 849 849 850 850 l[:7] = [1, 2, 3, 4, 5] 851 851 size -= 2 852 self.assertEqual s(len(l), size)853 self.assertEqual s(l[:7], [1, 2, 3, 4, 5, None, None])852 self.assertEqual(len(l), size) 853 self.assertEqual(l[:7], [1, 2, 3, 4, 5, None, None]) 854 854 855 855 del l[size - 1] 856 856 size -= 1 857 self.assertEqual s(len(l), size)858 self.assertEqual s(l[-1], 4)857 self.assertEqual(len(l), size) 858 self.assertEqual(l[-1], 4) 859 859 860 860 del l[-2:] 861 861 size -= 2 862 self.assertEqual s(len(l), size)863 self.assertEqual s(l[-1], 2)862 self.assertEqual(len(l), size) 863 self.assertEqual(l[-1], 2) 864 864 865 865 del l[0] 866 866 size -= 1 867 self.assertEqual s(len(l), size)868 self.assertEqual s(l[0], 2)867 self.assertEqual(len(l), size) 868 self.assertEqual(l[0], 2) 869 869 870 870 del l[:2] 871 871 size -= 2 872 self.assertEqual s(len(l), size)873 self.assertEqual s(l[0], 4)872 self.assertEqual(len(l), size) 873 self.assertEqual(l[0], 4) 874 874 875 875 # Like test_concat, split in two. 876 876 def basic_test_repeat(self, size): 877 877 l = [] * size 878 self. failIf(l)878 self.assertFalse(l) 879 879 l = [''] * size 880 self.assertEqual s(len(l), size)880 self.assertEqual(len(l), size) 881 881 l = l * 2 882 self.assertEqual s(len(l), size * 2)882 self.assertEqual(len(l), size * 2) 883 883 884 884 @bigmemtest(minsize=_2G // 2 + 2, memuse=24) … … 893 893 l = [''] 894 894 l *= size 895 self.assertEqual s(len(l), size)896 self. failUnless(l[0] is l[-1])895 self.assertEqual(len(l), size) 896 self.assertTrue(l[0] is l[-1]) 897 897 del l 898 898 899 899 l = [''] * size 900 900 l *= 2 901 self.assertEqual s(len(l), size * 2)902 self. failUnless(l[size - 1] is l[-1])901 self.assertEqual(len(l), size * 2) 902 self.assertTrue(l[size - 1] is l[-1]) 903 903 904 904 @bigmemtest(minsize=_2G // 2 + 2, memuse=16) … … 914 914 s = repr(l) 915 915 # The repr of a list of 0's is exactly three times the list length. 916 self.assertEqual s(len(s), size * 3)917 self.assertEqual s(s[:5], '[0, 0')918 self.assertEqual s(s[-5:], '0, 0]')919 self.assertEqual s(s.count('0'), size)916 self.assertEqual(len(s), size * 3) 917 self.assertEqual(s[:5], '[0, 0') 918 self.assertEqual(s[-5:], '0, 0]') 919 self.assertEqual(s.count('0'), size) 920 920 921 921 @bigmemtest(minsize=_2G // 3 + 2, memuse=8 + 3) … … 933 933 l = [object()] * size 934 934 l.append(object()) 935 self.assertEqual s(len(l), size+1)936 self. failUnless(l[-3] is l[-2])937 self. failIf(l[-2] is l[-1])935 self.assertEqual(len(l), size+1) 936 self.assertTrue(l[-3] is l[-2]) 937 self.assertFalse(l[-2] is l[-1]) 938 938 939 939 @bigmemtest(minsize=_2G // 5 + 2, memuse=8 * 5) 940 940 def test_count(self, size): 941 941 l = [1, 2, 3, 4, 5] * size 942 self.assertEqual s(l.count(1), size)943 self.assertEqual s(l.count("1"), 0)942 self.assertEqual(l.count(1), size) 943 self.assertEqual(l.count("1"), 0) 944 944 945 945 def basic_test_extend(self, size): 946 946 l = [file] * size 947 947 l.extend(l) 948 self.assertEqual s(len(l), size * 2)949 self. failUnless(l[0] is l[-1])950 self. failUnless(l[size - 1] is l[size + 1])948 self.assertEqual(len(l), size * 2) 949 self.assertTrue(l[0] is l[-1]) 950 self.assertTrue(l[size - 1] is l[size + 1]) 951 951 952 952 @bigmemtest(minsize=_2G // 2 + 2, memuse=16) … … 962 962 l = [1L, 2L, 3L, 4L, 5L] * size 963 963 size *= 5 964 self.assertEqual s(l.index(1), 0)965 self.assertEqual s(l.index(5, size - 5), size - 1)966 self.assertEqual s(l.index(5, size - 5, size), size - 1)964 self.assertEqual(l.index(1), 0) 965 self.assertEqual(l.index(5, size - 5), size - 1) 966 self.assertEqual(l.index(5, size - 5, size), size - 1) 967 967 self.assertRaises(ValueError, l.index, 1, size - 4, size) 968 968 self.assertRaises(ValueError, l.index, 6L) … … 974 974 l.insert(size - 1, "A") 975 975 size += 1 976 self.assertEqual s(len(l), size)977 self.assertEqual s(l[-3:], [1.0, "A", 1.0])976 self.assertEqual(len(l), size) 977 self.assertEqual(l[-3:], [1.0, "A", 1.0]) 978 978 979 979 l.insert(size + 1, "B") 980 980 size += 1 981 self.assertEqual s(len(l), size)982 self.assertEqual s(l[-3:], ["A", 1.0, "B"])981 self.assertEqual(len(l), size) 982 self.assertEqual(l[-3:], ["A", 1.0, "B"]) 983 983 984 984 l.insert(1, "C") 985 985 size += 1 986 self.assertEqual s(len(l), size)987 self.assertEqual s(l[:3], [1.0, "C", 1.0])988 self.assertEqual s(l[size - 3:], ["A", 1.0, "B"])986 self.assertEqual(len(l), size) 987 self.assertEqual(l[:3], [1.0, "C", 1.0]) 988 self.assertEqual(l[size - 3:], ["A", 1.0, "B"]) 989 989 990 990 @bigmemtest(minsize=_2G // 5 + 4, memuse=8 * 5) … … 992 992 l = [u"a", u"b", u"c", u"d", u"e"] * size 993 993 size *= 5 994 self.assertEqual s(len(l), size)994 self.assertEqual(len(l), size) 995 995 996 996 item = l.pop() 997 997 size -= 1 998 self.assertEqual s(len(l), size)999 self.assertEqual s(item, u"e")1000 self.assertEqual s(l[-2:], [u"c", u"d"])998 self.assertEqual(len(l), size) 999 self.assertEqual(item, u"e") 1000 self.assertEqual(l[-2:], [u"c", u"d"]) 1001 1001 1002 1002 item = l.pop(0) 1003 1003 size -= 1 1004 self.assertEqual s(len(l), size)1005 self.assertEqual s(item, u"a")1006 self.assertEqual s(l[:2], [u"b", u"c"])1004 self.assertEqual(len(l), size) 1005 self.assertEqual(item, u"a") 1006 self.assertEqual(l[:2], [u"b", u"c"]) 1007 1007 1008 1008 item = l.pop(size - 2) 1009 1009 size -= 1 1010 self.assertEqual s(len(l), size)1011 self.assertEqual s(item, u"c")1012 self.assertEqual s(l[-2:], [u"b", u"d"])1010 self.assertEqual(len(l), size) 1011 self.assertEqual(item, u"c") 1012 self.assertEqual(l[-2:], [u"b", u"d"]) 1013 1013 1014 1014 @bigmemtest(minsize=_2G + 10, memuse=8) 1015 1015 def test_remove(self, size): 1016 1016 l = [10] * size 1017 self.assertEqual s(len(l), size)1017 self.assertEqual(len(l), size) 1018 1018 1019 1019 l.remove(10) 1020 1020 size -= 1 1021 self.assertEqual s(len(l), size)1021 self.assertEqual(len(l), size) 1022 1022 1023 1023 # Because of the earlier l.remove(), this append doesn't trigger … … 1025 1025 l.append(5) 1026 1026 size += 1 1027 self.assertEqual s(len(l), size)1028 self.assertEqual s(l[-2:], [10, 5])1027 self.assertEqual(len(l), size) 1028 self.assertEqual(l[-2:], [10, 5]) 1029 1029 l.remove(5) 1030 1030 size -= 1 1031 self.assertEqual s(len(l), size)1032 self.assertEqual s(l[-2:], [10, 10])1031 self.assertEqual(len(l), size) 1032 self.assertEqual(l[-2:], [10, 10]) 1033 1033 1034 1034 @bigmemtest(minsize=_2G // 5 + 2, memuse=8 * 5) … … 1036 1036 l = [1, 2, 3, 4, 5] * size 1037 1037 l.reverse() 1038 self.assertEqual s(len(l), size * 5)1039 self.assertEqual s(l[-5:], [5, 4, 3, 2, 1])1040 self.assertEqual s(l[:5], [5, 4, 3, 2, 1])1038 self.assertEqual(len(l), size * 5) 1039 self.assertEqual(l[-5:], [5, 4, 3, 2, 1]) 1040 self.assertEqual(l[:5], [5, 4, 3, 2, 1]) 1041 1041 1042 1042 @bigmemtest(minsize=_2G // 5 + 2, memuse=8 * 5) … … 1044 1044 l = [1, 2, 3, 4, 5] * size 1045 1045 l.sort() 1046 self.assertEqual s(len(l), size * 5)1047 self.assertEqual s(l.count(1), size)1048 self.assertEqual s(l[:10], [1] * 10)1049 self.assertEqual s(l[-10:], [5] * 10)1046 self.assertEqual(len(l), size * 5) 1047 self.assertEqual(l.count(1), size) 1048 self.assertEqual(l[:10], [1] * 10) 1049 self.assertEqual(l[-10:], [5] * 10) 1050 1050 1051 1051 class BufferTest(unittest.TestCase): … … 1054 1054 def test_repeat(self, size): 1055 1055 try: 1056 b = buffer("AAAA")*size 1056 with test_support.check_py3k_warnings(): 1057 b = buffer("AAAA")*size 1057 1058 except MemoryError: 1058 1059 pass # acceptable on 32-bit … … 1060 1061 count = 0 1061 1062 for c in b: 1062 self.assertEqual s(c, 'A')1063 self.assertEqual(c, 'A') 1063 1064 count += 1 1064 self.assertEqual s(count, size*4)1065 self.assertEqual(count, size*4) 1065 1066 1066 1067 def test_main():
Note:
See TracChangeset
for help on using the changeset viewer.