ó {G_Tc@sÏddlmZejdƒddlmZmZddlZddlZddlZddl Z ej dde ƒZ ej dde ƒZ dZd e jfd „ƒYZd „Zed krËeƒndS( iÿÿÿÿ(t test_supporttaudio(tfindfilet run_unittestNt linuxaudiodevt deprecatedtsunaudioitLinuxAudioDevTestscBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCstjdƒ|_dS(Ntw(Rtopentdev(tself((s3/usr/local/lib/python2.7/test/test_linuxaudiodev.pytsetUpscCs|jjƒdS(N(R tclose(R ((s3/usr/local/lib/python2.7/test/test_linuxaudiodev.pyttearDownscCsE|jjƒ|jjƒ|jjƒ|jjƒ|jjƒdS(N(R tbufsizet obufcounttobuffreetgetptrtfileno(R ((s3/usr/local/lib/python2.7/test/test_linuxaudiodev.pyt test_methodss     c CsÛtdƒ}t|dƒ}tj|ƒ\}}}}}|jƒ}|jƒ|tkrk|jdƒntj |dƒ}t j dkr˜t j } n t j} |jj|d|| ƒ|jj|ƒ|jjƒdS(Ns audiotest.autrs)Expect .au file with 8-bit mu-law samplesitlittlei(RR RtgethdrtreadR tSND_FORMAT_MULAW_8tfailtaudiooptulaw2lintsyst byteorderRt AFMT_S16_LEt AFMT_S16_BER t setparameterstwritetflush( R tpathtfptsizetenctratet nchannelstextratdatatfmt((s3/usr/local/lib/python2.7/test/test_linuxaudiodev.pyttest_play_sound_file s      cCsŞd}tj}d}d}y|jjd|||ƒWn*tk rd}|j|jddƒnXy|jj|d||ƒWn*tk r®}|j|jddƒnXy|jj||d |ƒWn*tk rø}|j|jdd ƒnXy|jj|||d ƒWn*tk rB}|j|jdd ƒnXy |jj|||tjƒWn*tk r}|j|jdd ƒnXy|jj|d||ƒWn*tk rÙ}|j|jddƒnXdS(Nii@iiÿÿÿÿisexpected rate >= 0, not -1işÿÿÿs!expected sample size >= 0, not -2isnchannels must be 1 or 2, not 3i±sunknown audio encoding: 177sNfor linear unsigned 16-bit little-endian audio, expected sample size 16, not 8is?for linear unsigned 8-bit audio, expected sample size 8, not 16(RtAFMT_U8R R!t ValueErrort assertEqualtargst AFMT_U16_LE(R R&R,R(R)terr((s3/usr/local/lib/python2.7/test/test_linuxaudiodev.pyt test_errors8s8  (t__name__t __module__R RRR-R4(((s3/usr/local/lib/python2.7/test/test_linuxaudiodev.pyRs     cCs„ytjdƒ}WnVtjk rk}|jdtjtjtjtjfkret j |ƒ‚n‚nX|j ƒt t ƒdS(NRi(RR terrorR1terrnotEACCEStENOENTtENODEVtEBUSYtunittesttSkipTestR RR(tdsptmsg((s3/usr/local/lib/python2.7/test/test_linuxaudiodev.pyt test_mainXs+ t__main__(ttestRtrequiresttest.test_supportRRR8RRR=t import_moduletTrueRRRtTestCaseRRAR5(((s3/usr/local/lib/python2.7/test/test_linuxaudiodev.pyts     H