a 4êdg ã@s”dZddlmZddlmZmZddlZddlZddlZGdd„dej ƒZ Gdd„dej ƒZ d d „Z e d kreejƒd krŠe ejd ¡e ƒdS) aT These tests are meant to exercise that requests to create objects bigger than what the address space allows are properly met with an OverflowError (rather than crash weirdly). Primarily, this means 32-bit builds with at least 2 GiB of available memory. You need to pass the -M option to regrtest (e.g. "-M 2.1G") for tests to be enabled. é)Úsupport)ÚbigaddrspacetestÚMAX_Py_ssize_tNc@s0eZdZedd„ƒZedd„ƒZedd„ƒZdS)Ú BytesTestcCs2z&dtd}| ttj|d¡Wd}nd}0dS©Nóxé€s€xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)rÚ assertRaisesÚ OverflowErrorÚoperatorÚadd©ÚselfÚx©rú2/usr/local/lib/python3.9/test/test_bigaddrspace.pyÚ test_concats zBytesTest.test_concatcCs„zxdtd}| t¡}|d}Wdƒn1s60Y| t¡}|d7}Wdƒn1sh0YWd}nd}0dSr)rr r ©rrÚcmrrrÚtest_optimized_concat s  & (zBytesTest.test_optimized_concatcCs2z&dtd}| ttj|d¡Wd}nd}0dS)Nrr)rr r r Úmulr rrrÚ test_repeat/s zBytesTest.test_repeatN)Ú__name__Ú __module__Ú __qualname__rrrrrrrrrs   rc@s4eZdZdZedd„ƒZedd„ƒZedd„ƒZdS) ÚStrTestécCs<z0dttd|jƒ}| ttj||¡Wd}nd}0dS©Nrçš™™™™™ñ?)ÚintrÚ unicodesizer Ú MemoryErrorr r r rrrr<szStrTest.test_concatcCsŽz‚dttd|jƒ}| t¡}||}Wdƒn1s@0Y| t¡}||7}Wdƒn1sr0YWd}nd}0dSr)rrr r r!rrrrrGs & (zStrTest.test_optimized_concatcCs<z0dttd|jƒ}| ttj|d¡Wd}nd}0dS)Nrré)rrr r r!r rr rrrrVszStrTest.test_repeatN)rrrr rrrrrrrrr8s  rcCst tt¡dS)N)rZ run_unittestrrrrrrÚ test_main_sr#Ú__main__é)Ú__doc__ÚtestrZ test.supportrrZunittestr ÚsysZTestCaserrr#rÚlenÚargvZ set_memlimitrrrrÚs %'