ó ¿uÂ\c@sÜdZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl m Z ddl mZddl mZddl mZddl mZddl mZdd l mZdd l mZdd l mZdd l mZdd lmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%ddlm&Z&ddlm'Z'ddlm(Z(ddlm)Z)ddlm*Z*ddlm+Z+dd lm,Z,dd!lm-Z-dd"lm.Z.d#e.j/fd$„ƒYZ0e1d%krØdd&l2m3Z3e3e4ƒndS('sTests for system APIS.iÿÿÿÿN(tAIX(tBSD(tFREEBSD(tLINUX(tMACOS(tNETBSD(tOPENBSD(tPOSIX(tSUNOS(tWINDOWS(tlong(tAPPVEYOR(tASCII_FS(tcheck_net_address(tDEVNULL(tenum(tget_test_subprocess(t HAS_BATTERY(t HAS_CPU_FREQ(tHAS_GETLOADAVG(tHAS_NET_IO_COUNTERS(tHAS_SENSORS_BATTERY(tHAS_SENSORS_FANS(tHAS_SENSORS_TEMPERATURES(tmock(t reap_children(tretry_on_failure(t safe_rmpath(tTESTFN(tTESTFN_UNICODE(tTRAVIS(tunittesttTestSystemAPIsc BseZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z e j e dƒd „ƒZ d „Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d „Z$e j e% d!ƒd"„ƒZ&e j e% d!ƒd#„ƒZ'd$„Z(d%„Z)e j e*d&ƒd'„ƒZ+e j e,p°e-p°e. d(ƒd)„ƒZ/e j e,oße0j1j2d*ƒ d+ƒe j e3oe4j5ƒd;kd,ƒd-„ƒƒZ7d.„Z8e j e3p:e*o:e4j9ƒ d/ƒd0„ƒZ:d1„Z;e j e< d2ƒd3„ƒZ=e j e> d!ƒd4„ƒZ?d5„Z@e j eA d!ƒd6„ƒZBe j eA d!ƒd7„ƒZCe j eD d!ƒe j eE d8ƒd9„ƒƒZFe j eG d!ƒd:„ƒZHRS(<sTests for system-related APIs.cCsttƒdS(N(RR(tself((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pytsetUp@scCs tƒdS(N(R(R!((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttearDownCsc Cs^|jtjƒgtjƒD]}|j^qƒtƒ}|j|jgtjƒD]}|j^qTƒtj|jƒ}|jƒ|j ƒ|j |jgtjƒD]}|j^q©ƒt j ddtj tjƒƒƒ!|jttjƒƒgƒWdQXt j ddtjtjƒƒƒ.|jtjƒttjƒƒWdQXWdQXdS(Nspsutil.Processt side_effect(tassertIntostgetpidtpsutilt process_itertpidRtProcesstkilltwaitt assertNotInRtpatcht NoSuchProcesst assertEqualtlistt AccessDeniedt assertRaises(R!txtsproctp((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_process_iterFs2 /  / " c Cs•x?tjddgƒD](}|jt|jjƒƒdgƒqW|jtƒttjddgƒƒWdQXtj ddtj ddƒƒd}xKtjdddgƒD]1}|j |jdƒ|j |jddƒq®W|j sòt‚WdQXtj ddtj ddƒƒv}tƒ}xTtjdddgd |ƒD]4}|j|jd|ƒ|j |jddƒqDW|j s‹t‚WdQXdS( NtattrsR*tfoos$psutil._psplatform.Process.cpu_timesR$itt cpu_timestad_value(R(R)R1R2tinfotkeysR4t ValueErrorRR/R3t assertIsNonetassertGreaterEqualtcalledtAssertionErrortobjecttassertIs(R!R7tmtflag((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_prcess_iter_w_paramsWs$&    c s¶‡fd†}g‰tƒ}tƒ}tƒ}g|||fD]}tj|jƒ^q@}ˆjttj|ddƒˆjttj|ddƒtjƒ}tj|ddd|ƒ\}} ˆj tjƒ|dƒˆj |gƒˆj t | ƒdƒˆj ˆgƒx$| D]} ˆj t | d ƒƒqWtd ƒ‡fd †ƒ} |jƒ| ||ƒ\}} ˆj|jg|D]}|j^q‡ƒtrÈj |jƒjtj ƒnˆj |jƒjdƒˆj ˆ|jgƒx$| D]} ˆj t | d ƒƒqùWtd ƒ‡fd †ƒ} |jƒ|jƒ| ||ƒ\}} ˆj tˆƒt|j|j|jgƒƒx$|D]} ˆjt | d ƒƒq’WdS( Ncsˆj|jƒdS(N(tappendR*(R7(tpids(s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pytcallbacklsttimeoutiÿÿÿÿRLig{®Gáz„?gà?it returncodeicsWtj|ddd|ƒ\}}ˆjt|ƒdƒˆjt|ƒdƒ||fS(NRMg¸…ëQ¸ž?RLii(R(t wait_procsR1tlen(tprocsRLtgonetalive(R!(s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest€s csWtj|ddd|ƒ\}}ˆjt|ƒdƒˆjt|ƒdƒ||fS(NRMg¸…ëQ¸ž?RLii(R(ROR1RP(RQRLRRRS(R!(s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyRT“s (RR(R+R*R4R@ROt TypeErrorttimet assertLessR1RPt assertFalsethasattrRt terminateR%RtpopRNtsignaltSIGTERMtsett assertTrue( R!RLtsproc1tsproc2tsproc3R5RQttRRRSR7RT((RKR!s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_wait_procsksB   . !  )    . c Cs}tƒ}tƒ}tƒ}g|||fD]}tj|jƒ^q+}x|D]}|jƒqPWtj|ƒ\}}dS(N(RR(R+R*RZRO( R!R`RaRbR5RQR7RRRS((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_wait_procs_no_timeout¢s   . cCsFtjƒ}|j|tƒ|j|dƒ|j|tjƒƒdS(Ni(R(t boot_timetassertIsInstancetfloatt assertGreaterRWRV(R!tbt((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_boot_time«s s POSIX onlycCs/ddl}|jtjdƒ|jƒƒdS(Niÿÿÿÿt SC_PAGE_SIZE(tresourceR1R&tsysconft getpagesize(R!Rm((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt test_PAGESIZE±s cCsVtjƒ}|jdks't|ƒ‚|jdksBt|ƒ‚d|jko\dknsmt|ƒ‚|jdksˆt|ƒ‚|jdks£t|ƒ‚x¬|jD]¡}t ||ƒ}|dkrç|j |t t fƒn|dkr­|dks|j d||fƒn||jkrN|j d||j||fƒqNq­q­WdS(Niidtpercentttotals %r < 0 (%s)s%r > total (total=%s, %s=%s)(R(tvirtual_memoryRrRDt availableRqtusedtfreet_fieldstgetattrRgtintR tfail(R!tmemtnametvalue((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_virtual_memory¹s  +    cCstjƒ}|j|jd ƒ|jdks:t|ƒ‚|jdksUt|ƒ‚|jdkr‚|jdkst|ƒ‚n|jdkst|ƒ‚d|jko·dknsÈt|ƒ‚|j dksãt|ƒ‚|j dksþt|ƒ‚dS( NRrRuRvRqtsintsoutiid(stotalsusedsfreespercentssinssout( R(t swap_memoryR1RwRrRDRuRvRqRR€(R!R{((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_swap_memoryËs  +cCs tƒ}|jtj|jƒƒtj|jƒ}|jƒ|jƒ|jtj|jƒƒ|jtjdƒƒ|j tjdƒdtj ƒkƒdS(Niÿÿÿÿi( RR_R(t pid_existsR*R+R,R-RXR1RK(R!R6R7((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_pid_existsÛs   cCsÔtƒtjƒ}xj|D]b}ytj|ƒs8t‚Wqtk r{tjdƒ|tjƒkr||j|ƒq|qXqWtt |ƒdt |ƒdƒ}x*|D]"}|j tj|ƒd|ƒqªWdS(Ngš™™™™™¹?iˆiptmsg( RR(RKRƒRDRVtsleepRztrangetmaxRX(R!RKR*((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_pid_exists_2ås    # cCs^tjƒ}gtjƒD]}|j^q}|jtt|ƒƒ|ƒ|j||ƒdS(N(R(RKR)R*R1tsortedR^(R!tpidslistR5t procslist((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt test_pidsõs "cCs1tj}tt_ztjƒWd|t_XdS(N(tsyststdoutRR(RT(R!R((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt test_testüs   cCsôtjƒ}|j|ttjdtƒƒƒ|j|dƒtjj dƒr’t dƒ}|j ƒ}WdQXd|kr’t j dƒ‚q’ntjdtƒ}trÐtjƒd d krÐ|j|ƒn |j|dƒ|j||ƒdS( Ntpercpuis /proc/cpuinfos physical ids#cpuinfo doesn't include physical idtlogicalii(ii(R(t cpu_countR1RPR<tTrueRBR&tpathtexiststopentreadRtSkipTesttFalseR RŽtgetwindowsversionRA(R!R’tfdt cpuinfo_datatphysical((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_cpu_counts " c Cs›x”dD]Œ}tjdd|ƒ)}|jtjƒƒ|jsGt‚WdQXtjdd|ƒ/}|jtjdtƒƒ|jst‚WdQXqWdS(Niÿÿÿÿis$psutil._psplatform.cpu_count_logicalt return_values%psutil._psplatform.cpu_count_physicalR’(iÿÿÿÿiN( tNoneRR/RAR(R“RCRDRš(R!tvalRG((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_cpu_count_nones     cCs{d}tjƒ}t|ƒx8|D]0}|j|tƒ|j|dƒ||7}q#W|j|t|ƒƒt|ƒdS(Nig(R(R<tsumRgRhRBR1tstr(R!Rrttimestcp_time((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_cpu_times"s   cCsnttjƒƒ}tjƒd}x8tjƒ|kr\ttjƒƒ}||kr%dSq%W|jdƒdS(Nistime remained the same(R¤R(R<RVRz(R!tt1tstop_attt2((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_cpu_times_time_increases?s cCsÄx…tjdtƒD]q}d}t|ƒx8|D]0}|j|tƒ|j|dƒ||7}q0W|j|t|ƒƒt|ƒqW|jt tjdtƒdƒt tjdt ƒƒƒdS(NR‘ig( R(R<R”R¤RgRhRBR1R¥RPRš(R!R¦RrR§((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_per_cpu_timesIs  cCs¸tjdtƒ}tjƒd}x trDtjƒ|kr%Pq%q%Wtjdtƒ}xPt||ƒD]?\}}t|ƒt|ƒ}}||}|dkrgdSqgW|jƒdS(NR‘gš™™™™™¹?gš™™™™™©?(R(R<R”RVtzipR¤Rz(R!ttot1Rªttot2R©R«t difference((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_per_cpu_times_2js   cCsŒtjƒ}tjdtƒ}|jgt|ŒD]}t|ƒ^q1ƒ}x9|jD].}|jt||ƒt||ƒddƒqVWdS(NR‘tdeltai( R(R<R”t_makeR®R¤RwtassertAlmostEqualRx(R!tbasetper_cputnumt summed_valuestfield((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_cpu_times_comparisonzs  .cCs“yN|j|tƒ|j|dƒ|j|dƒ|j|dtjƒƒWn>tk rŽ}td|tj |ƒtj |ƒfƒ‚nXdS(Ngg€gY@s %s last=%s new=%s( RgRhRBt assertIsNottassertLessEqualR(R“RDtpprinttpformat(R!Rqtlast_rettnew_retterr((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt_test_cpu_percent„scCs~tjddƒ}x?tdƒD]1}tjddƒ}|j|||ƒ|}qW|jtƒtjddƒWdQXdS(Ntintervalgü©ñÒMbP?idiÿÿÿÿ(R(t cpu_percentR‡R¡RÃR4R@(R!tlastR5tnew((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_cpu_percentŽs c Cs½tjdddtƒ}|jt|ƒtjƒƒxVtdƒD]H}tjdddtƒ}x!|D]}|j|||ƒqfW|}qAW|j t ƒtjdddtƒWdQXdS(NRÄgü©ñÒMbP?R‘idiÿÿÿÿ( R(RÅR”R1RPR“R‡R¡RÃR4R@(R!RÆR5RÇRq((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_per_cpu_percent—s  cCs‚tjddƒ}xitdƒD][}tjddƒ}x!|D]}|j|||ƒq>W|jt|ƒ||ƒ|}qWdS(NRÄgü©ñÒMbP?id(R(tcpu_times_percentR‡R¡RÃR¤(R!RÆR5RÇRq((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_cpu_times_percent¢s cCs»tjdddtƒ}|jt|ƒtjƒƒx€tdƒD]r}tjdddtƒ}xK|D]C}x!|D]}|j|||ƒqsW|jt |ƒ||ƒqfW|}qAWdS(NRÄgü©ñÒMbP?R‘id( R(RÊR”R1RPR“R‡R¡RÃR¤(R!RÆR5RÇtcpuRq((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_per_cpu_times_percent«s  c CsÁtjdtƒgtjdtƒD]7}|jgtt|jƒƒD] }d^qEƒ^q#}tj dd|ƒFx>tjdtƒD]*}x!|D]}|j |ddƒq–Wq‰WWdQXdS(NR‘ispsutil.cpu_timesR ( R(RÊR”R<R´R‡RPRwRR/RÃR¡(R!R5t zero_timesRÌRq((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt#test_per_cpu_times_percent_negative¶sM cCs¬tjtjƒƒ}|j|jd ƒ|jdksCt|ƒ‚|jdks^t|ƒ‚|j dksyt|ƒ‚|j|jks—t|ƒ‚|j|j ksµt|ƒ‚d|j koÏdknsãt|j ƒ‚t t dƒr^t jtjƒƒ}d }|j|j|jƒ|j |j |j d |ƒ|j |j|jd |ƒntjƒ}|jtƒ}tj|ƒWdQX|j|jjtjƒdS(NRrRuRvRqiidt disk_usageiiR³(stotalsusedsfreespercentiiP(R(RÐR&tgetcwdR1RwRrRDRuRvRqRYtshutilRµttempfiletmktempR4tOSErrort exceptionterrnotENOENT(R!tusaget shutil_usaget tolerancetfnametexc((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_disk_usageÀs(.  cCs0tr,|jtƒtjtƒWdQXndS(N(R R4tUnicodeEncodeErrorR(RÐR(R!((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_disk_usage_unicodeÛscCstjdƒdS(Nt.(R(RÐ(R!((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_disk_usage_bytesáscCs™tjdtƒ}|j|d|ƒx |D]}|j|jtƒ|j|jtƒ|j|jtƒ|j|j tƒt r™d|j kr™q,nt sÃt j j|jƒsÊt|ƒ‚n|jtsÖtrút j j|jƒst|ƒ‚n!t j j|jƒst|ƒ‚|js,t|ƒ‚q,Wtjdtƒ}|j|d|ƒxÙtjdtƒD]Å}t s yt j|jƒWnXtk ræ}trÂtrÂ|jtjkrÂqln|jtjtjfkr‚qq Xt j j|jƒs t|ƒ‚n|j|jtƒ|j|j tƒqlWd„}|tƒ}gtjdtƒD]}|jjƒ^q]}|j||ƒtj|ƒdS(NtallR…tcdromcSsGtjj|ƒ}x(tjj|ƒs<tjj|ƒ}qW|jƒS(N(R&R•tabspathtismounttdirnametlower(R•((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pytfind_mount_points(R(tdisk_partitionsRšR_RgtdeviceR¥t mountpointtfstypetoptsR RR&R•R–RDRRtisdirR”tstatRÕRR×tEIOtEPERMtEACCESt__file__RèR%RÐ(R!tlstdiskRÂRétmountR5tmounts((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_disk_partitionsäsH $ $! $  +s not supportedcs‡fd†}tjdtƒ}||ƒtjdtƒ}ˆj|gƒx9|D]1}ˆj|ƒˆj|tƒ|||ƒqTWdS(Ncs”ˆj|d|jƒˆj|d|jƒˆj|d|jƒˆj|d|jƒˆj|d|jƒˆj|d|jƒˆj|d|jƒˆj|d|jƒ|jdksÓt |ƒ‚|jdksît |ƒ‚|jdks t |ƒ‚|jdks$t |ƒ‚|jdks?t |ƒ‚|jdksZt |ƒ‚|jdksut |ƒ‚|jdkst |ƒ‚dS( Niiiiiiii( R1t bytes_sentt bytes_recvt packets_sentt packets_recvterrinterrouttdropintdropoutRD(tnt(R!(s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt check_ntuple s tpernic(R(tnet_io_countersRšR”tassertNotEqualR_RgR¥(R!Rtrettkey((R!s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_net_io_counterss   cCsftjddiƒK}|jtjdtƒƒ|jtjdtƒiƒ|js\t ‚WdQXdS(Ns"psutil._psplatform.net_io_countersR R( RR/RAR(RRšR1R”RCRD(R!RG((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_net_io_counters_no_nics;s   c CsKtjƒ}|st|ƒ‚tjƒ}ttjtjtjgƒ}x„|j ƒD]v\}}|j |t ƒ|j t t|ƒƒt |ƒƒx5|D]-}|j |jtƒ|j |jt ƒ|j |jt tdƒfƒ|j |jt tdƒfƒ|j|j|ƒtjdkr?|j |jtjƒn||jr2|jtjkrŸtj|jƒ}tj|ƒ|j|jdfƒWdQXq2|jtjkr2tj|jdtjtjdtj ƒd}|\} } } } } tj| | | ƒ}tj|ƒ|j| ƒWdQXq2nxZ|j|j|j|j!fD]:}|dk rQ|jtjkr‹t"||jƒq‹qQqQW|jr«|j#|j!ƒqš|j!rš|j#|jƒqšqšWqUWt$sát%sát&r t'tdƒrG|j tjtjƒqGn;t(r+|j tjtj)ƒnt*rG|j tjdƒndS(NiiitAF_LINKiÿÿÿÿ(ii(+R(t net_if_addrsRDt net_if_statsR^tsockettAF_INETtAF_INET6R titemsRgR¥R1RPtfamilyRytaddresstnetmaskttypeR¡t broadcastR%RŽt version_infoRtIntEnumtisupt contextlibtclosingtbindt getaddrinfot SOCK_STREAMt AI_PASSIVEtptpR RARRRRYRt AF_PACKETR (R!tnicst nic_statstfamiliestnictaddrstaddrtsR>taftsocktypetprotot canonnametsatip((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_net_if_addrsEsX  "     cCs¤tr'dtjddddfg}n d g}tjdd|ƒY}tjƒdd}|jskt‚tr‡|j |j dƒn|j |j d ƒWdQXdS( Ntem1s06:3d:29iÿÿÿÿs06-3d-29spsutil._psplatform.net_if_addrsR is06:3d:29:00:00:00s06-3d-29-00-00-00(R0iÿÿÿÿs06-3d-29NNN( RR(R R¡RR/R RCRDR1R(R!RRGR'((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt test_net_if_addrs_mac_null_bytess!   sunreliable on TRAVISc CsÉtjƒ}|st|ƒ‚tjtjtjf}xŒ|jƒD]~\}}|j|tƒ|\}}}}|j|t ƒ|j ||ƒ|j ||ƒ|j |dƒ|j |dƒqCWdS(Ni( R(R RDtNIC_DUPLEX_FULLtNIC_DUPLEX_HALFtNIC_DUPLEX_UNKNOWNRRgR¥tboolR%RB( R!R"t all_duplexesR|tstatsRtduplextspeedtmtu((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_net_if_stats’s  sLINUX or BSD or MACOS specificcCsYtjddttjdƒƒ2}tjƒ}|j|iƒ|jsOt ‚WdQXdS(Nspsutil._psutil_posix.net_if_mtuR$R;( RR/RÕR×tENODEVR(R R1RCRD(R!RGR((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_net_if_stats_enodev¢s   s/proc/diskstatss3/proc/diskstats not available on this linux versionsunreliable on APPVEYORcs¬‡fd†}tjdtƒ}|dk s9tdƒ‚||ƒtjdtƒ}ˆjt|ƒtt|ƒƒƒx.|D]&}|s–t|ƒ‚|||ƒq~WdS(Ncs@ˆj|d|jƒˆj|d|jƒˆj|d|jƒˆj|d|jƒtpetsˆj|d|jƒˆj|d|jƒt räˆj|d|j ƒˆj|d|j ƒˆj|d |j ƒqt rˆj|d|j ƒqnx2|jD]'}t||ƒdkst|ƒ‚qWdS( Niiiiiiiii(R1t read_countt write_countt read_bytest write_bytesRRt read_timet write_timeRtread_merged_counttwrite_merged_countt busy_timeRRwRxRD(RR|(R!(s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyR±s tperdisksno disks on this system?( R(tdisk_io_countersRšR¡RDR”R1RPR^(R!RRR((R!s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_disk_io_counters¬s " cCsftjddiƒK}|jtjdtƒƒ|jtjdtƒiƒ|js\t ‚WdQXdS(Ns#psutil._psplatform.disk_io_countersR RG( RR/RAR(RHRšR1R”RCRD(R!RG((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_disk_io_counters_no_disksÌs   s unreliable on APPVEYOR or TRAVIScCstjƒ}|j|gƒxñ|D]é}|js>t|ƒ‚|j|jtƒ|j|jttdƒfƒ|j dk r¡|j|j ttdƒfƒn|j|j |j dksÊt|ƒ‚t j j |j ƒtsétrü|j|jƒq#tj|jƒq#WdS(Ng(R(tusersRR|RDRgR¥tterminalRR¡thosttstartedtdatetimet fromtimestampR RRAR*R+(R!RKtuser((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt test_usersÖs  " cCs|tjƒ}|j|jdƒxV|jD]K}t||ƒ}|j|dƒt r)|dkr)|j|dƒq)q)WdS(Nt ctx_switchest interruptstsoft_interruptstsyscallsi(s ctx_switchess interruptsssoft_interruptsssyscalls(s ctx_switchess interrupts(R(t cpu_statsR1RwRxRBRRi(R!tinfosR|R}((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_cpu_statsês s not suportedcs³‡fd†}tjdtƒ}tr@| r@ˆjdƒ‚ntr_| r_ˆjdƒ‚n|sqt|ƒ‚|tjdtƒgƒtr¯ˆj t |ƒtj ƒƒndS(Ncsœx•|D]}ˆj|jdƒ|jdkrHˆj|j|jƒnxI|jD]>}t||ƒ}ˆj|ttt fƒˆj |dƒqRWqWdS(NtcurrenttminRˆgi(scurrentsminsmax( R1RwRˆR½RZRxRgRyR RhRB(RõRR|R}(R!(s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pytcheck_lsùs R‘sskipped on Travissreturns empty list on FreeBSD( R(tcpu_freqR”RtskipTestRRDRšRR1RPR“(R!R\Rõ((R!s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt test_cpu_freq÷s   cCsYtjƒ}t|ƒdks$t‚x.|D]&}|j|tƒ|j|dƒq+WdS(Nig(R(t getloadavgRPRDRgRhRB(R!tloadavgtload((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_getloadavgs   c Cs&ddddddddd g }x-|D]%}|jtt|ƒtd |ƒq(Wtjd krÆtjsot‚tj st‚|j dƒd t j j ƒkrÀtj s°t‚|j dƒqòd t j j ƒkrFtjsät‚|jtjtjtjgjtƒdƒ|j dƒ|j dƒ|j dƒ|j dƒqòdt j j ƒkspdt j j ƒkrtjst‚|j d ƒqòdt j j ƒkròtjs³t‚|j dƒqòn,tjsÕt‚tj såt‚|j dƒx-|D]%}|jtt|ƒtd |ƒqùWdS(NRR RRRRRRRR…tposixtlinuxtbsditsunostsolaristdarwin(RgRxR(R5R&R|RRDR tremoveRŽtplatformRèRRR1RRRtcountR”RRRFRš(R!tnamesR|((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_os_constantss> #      cCsÐtjƒ}x½|jƒD]¯\}}|j|tƒx|D]ˆ}|j|jtƒ|jdk rz|j|jdƒn|j dk rŸ|j|j dƒn|j dk r<|j|j dƒq<q<WqWdS(Ni( R(tsensors_temperaturesRRgR¥tlabelRZR¡RBthightcritical(R!ttempsR|tentriestentry((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_sensors_temperatures=s  cCs”id gd6}tjdd|ƒi}tjdtƒdd }|jsQt‚|j|jd ƒ|j|j d ƒ|j|j d ƒWdQXdS(NRpgI@gN@g€Q@tcoretemps'psutil._psplatform.sensors_temperaturesR t fahrenheitig€^@g€a@gÀc@(slabelgI@gN@g€Q@( RR/R(RoR”RCRDR1RZRqRr(R!tdRGRs((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt#test_sensors_temperatures_fahreneitKs   s no batterycCsŸtjƒ}|j|jdƒ|j|jdƒ|jtjtjfkrc|j|jdƒn%|jtjkrˆ|j|j ƒn|j |j t ƒdS(Niid( R(tsensors_batteryRBRqR½tsecslefttPOWER_TIME_UNKNOWNtPOWER_TIME_UNLIMITEDR_t power_pluggedRgR5(R!R((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_sensors_batteryWs  cCstjƒ}xz|jƒD]l\}}|j|tƒxM|D]E}|j|jtƒ|j|jttfƒ|j |jdƒq<WqWdS(Ni( R(t sensors_fansRRgR¥RpRZRyR RB(R!tfansR|RtRu((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyttest_sensors_fanses  N(It__name__t __module__t__doc__R"R#R8RIRdReRkRtskipIfRRpR~R‚R„R‰RRRŸR£R¨R¬R­R²R»RÃRÈRÉRËRÍRÏRÞRàRâRùRR R R/R1RR;RRRR=R&R•R–R R(RHR¡RIRJRKRRRYRR_RRcRnRRvRzRRR€RRƒ(((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyR =sn     7        !     : <     %  t__main__(trun(5R†RROR×R&R¾RÒR\RRŽRÓRVR(RRRRRRRRRR tpsutil._compatR t psutil.testsR R R RRRRRRRRRRRRRRRRRRtTestCaseR R„tpsutil.tests.runnerR‰Rô(((s>/usr/lib64/python2.7/site-packages/psutil/tests/test_system.pytsf            ÿÿÿ6