a ze@s\ddlZddlZddlZddlmZddlZedZGdddejZ e dkrXe dS)N)supportresourcec@seZdZddZeejdkdddZddZ d d Z d d Z eejdkd ddZ ddZ eejdkdddZddZeeeddedddddZeeeddeddddd Zd!S)" ResourceTestcCsF|ttj|ttjdd|ttj|ttjddddSN*) assertRaises TypeErrorr getrlimit setrlimitselfr F/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_resource.py test_args szResourceTest.test_argsZvxworksz0setting RLIMIT_FSIZE is not supported on VxWorkscCsLzttj\}}Wnty&Yn"0|tj|ttj||fdS)N)rr RLIMIT_FSIZEAttributeError assertEqualZ RLIM_INFINITYr )r curmaxr r rtest_fsize_ismaxs  zResourceTest.test_fsize_ismaxc CsDzttj\}}Wnty(Yn0zzttjd|fd}Wnty\d}Yn0ttjd}z|| dz6| d| t dD]}t d| qWnty|sYn0|rttj||fW|n |0W|r ttj||fttjn&|r2ttj||fttj0dS) NiTFwbsXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYg?)rr rrr ValueErroropenrZTESTFNwriteflushrangetimesleepOSErrorcloseunlink)r rrZ limit_setfir r rtest_fsize_enforced#s>          z ResourceTest.test_fsize_enforcedc Csdd}zttj\}}Wnty.Yn^0zttj||fWnttfy\Yn0zttj||fWnttfyYn0dS)N 2)rr rrr OverflowErrorr)r Ztoo_bigrrr r rtest_fsize_toobigRs zResourceTest.test_fsize_toobigc Cs|ttj|ttjddttj}ttj}zttj}Wnttfy^Yn0zttj }WnttfyYn0dSr) rrrZ getrusageZ RUSAGE_SELFZRUSAGE_CHILDRENZ RUSAGE_BOTHrrZ RUSAGE_THREAD)r Z usageselfZ usagechildrenZ usagebothZ usage_threadr r rtest_getrusagecs  zResourceTest.test_getrusagez.setting RLIMIT_CPU is not supported on VxWorkscCsFzttj}Wnty"Yn 0Gddd}ttj|dS)Nc@seZdZddZddZdS)z9ResourceTest.test_setrusage_refcount..BadSequencecSsdSNr r r r r__len__|szAResourceTest.test_setrusage_refcount..BadSequence.__len__cSs |dvrtttdStdS)N)ri@B)lentupler IndexErrorr keyr r r __getitem__~szEResourceTest.test_setrusage_refcount..BadSequence.__getitem__N__name__ __module__ __qualname__r-r4r r r r BadSequence{sr9)rr Z RLIMIT_CPUrr )r limitsr9r r rtest_setrusage_refcountss  z$ResourceTest.test_setrusage_refcountcCs$t}||t||ddS)Nr)rZ getpagesizeassertIsInstanceintZassertGreaterEqual)r Zpagesizer r r test_pagesizes zResourceTest.test_pagesizelinuxztest requires Linuxc CsNdD]D}tt&|ttd|tWdq1s>0YqdS)N)ZMSGQUEUEZNICEZRTPRIOZRTTIMEZ SIGPENDINGRLIMIT_ contextlibsuppressrr<getattrrr=r attrr r rtest_linux_constantss z!ResourceTest.test_linux_constantsc CsNdD]D}tt&|ttd|tWdq1s>0YqdS)N)ZSWAPZSBSIZEZNPTSr@rArEr r rtest_freebsd_contantss z"ResourceTest.test_freebsd_contantsprlimitz no prlimitr,$cCs`|ttj|ttjdtjttj}|tdtj||tdtj||dS)Nr)rrrrIProcessLookupError RLIMIT_ASr r)r limitr r r test_prlimits  zResourceTest.test_prlimitcs<Gfddd}ttj|tdtj|dS)Ncs eZdZddZfddZdS)z2ResourceTest.test_prlimit_refcount..BadSeqcSsdSr+r r r r rr-sz:ResourceTest.test_prlimit_refcount..BadSeq.__len__cs |dS)Nr.r r2r:r rr4sz>ResourceTest.test_prlimit_refcount..BadSeq.__getitem__Nr5r rQr rBadSeqsrRr)rr rNrrI)r rRr rQrtest_prlimit_refcounts  z"ResourceTest.test_prlimit_refcountN)r6r7r8runittestZskipIfsysplatformrr%r)r*r;r>Z skipUnlessrGrHhasattrrrZrequires_linux_versionrPrSr r r rr s,  /      r__main__) rBrUrTtestrr import_modulerZTestCaserr6mainr r r rs  %