ó
Å»pTc           @   sÖ  d  d l  Z  d  d l m Z d  d l Z d  d l Z d  d l m Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l Z d e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d e  j f d	 „  ƒ  YZ d
 e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d S(    iÿÿÿÿN(   t   utils(   t   attrt	   TestUtilsc           B   s   e  Z d  „  Z RS(   c         C   s    |  j  t j j ƒ  t j ƒ d S(   s*   Check MODES items and MODELIST are in syncN(   t   assertItemsEqualR    t   MODESt   keyst   MODELIST(   t   self(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_modes_and_modelist   s    (   t   __name__t
   __module__R   (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyR      s   t	   TestEmailc           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sº   d } |  j  t j | ƒ ƒ |  j t j d ƒ ƒ |  j t j d ƒ ƒ |  j t j d ƒ ƒ |  j t j d ƒ ƒ |  j t j d ƒ ƒ |  j t j d ƒ ƒ |  j t j d ƒ ƒ d  S(	   Ns'   reportbug-maint@lists.alioth.debian.orgt   dummys   nouser@nodomains   .nouser@nodomains   nouser.@nodomains   nouser@.nodomains   nouser@nodomain.s   too@many@at@signs(   t
   assertTrueR    t   check_email_addrt   assertFalse(   R   t	   real_addr(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_check_email_addr   s    c         C   s?   d } t  j | ƒ \ } } |  j | d ƒ |  j | d ƒ d  S(   Ns?   Reportbug Maintainers <reportbug-maint@lists.alioth.debian.org>s   Reportbug Maintainerss'   reportbug-maint@lists.alioth.debian.org(   R    t   get_email_addrt   assertEqual(   R   t   emailt   namet
   email_addr(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_email_addr"   s    c         C   sH   d } d } t  j | | ƒ \ } } |  j | | ƒ |  j | | ƒ d  S(   Ns   Reportbug Maintainerss'   reportbug-maint@lists.alioth.debian.org(   R    t	   get_emailR   (   R   R   t   mailt   nt   m(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_email*   s
    c         C   s¸   d } d } t  j | | ƒ } |  j | d | | f ƒ d } d } t  j | | ƒ } |  j | d | ƒ d } t  j | ƒ } |  j | | ƒ d } t  j | ƒ } |  j | | ƒ d  S(   Ns   Reportbug Maintainerss'   reportbug-maint@lists.alioth.debian.orgs   %s <%s>t   testt   fakedt   @s?   Reportbug Maintainers <reportbug-maint@lists.alioth.debian.org>(   R    t   get_user_idR   t   assertIn(   R   R   R   t   addr(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_user_id4   s    c         C   s   t  j d ƒ d  S(   NsA   Is utils.find_rewritten actually useful to someone? deprecate it?(   t	   unittest2t   skip(   R   (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_find_rewrittenI   s    (   R	   R
   R   R   R   R#   R&   (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyR      s
   			
	t   TestPackagesc           B   sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s7  t  j d ƒ } | \ } } } } } } } }	 }
 } } } } } } } } |  j | ƒ |  j | ƒ |  j | d ƒ |  j | d ƒ |  j | d ƒ |  j | ƒ |  j | ƒ |  j |	 ƒ |  j |
 d ƒ |  j | ƒ |  j | ƒ |  j | ƒ |  j | ƒ |  j | d ƒ |  j | d ƒ |  j | d ƒ |  j | ƒ t  j d ƒ } | \ } } } } } } } }	 }
 } } } } } } } } |  j | ƒ |  j | d ƒ |  j | ƒ |  j | ƒ |  j | ƒ |  j |	 d ƒ |  j | d ƒ |  j | ƒ |  j | ƒ |  j | d ƒ |  j | d ƒ t  j d ƒ } t  j d d	 t ƒ} | \ } } } } } } } }	 }
 } } } } } } } } |  j | ƒ |  j | d ƒ |  j | ƒ |  j | ƒ |  j | d
 ƒ |  j | ƒ |  j | ƒ t  j d ƒ } | \ } } } } } } } }	 }
 } } } } } } } } |  j | ƒ d  S(   Ns   non-existing-packaget    t   dpkgt   debiant   requiredt	   installedt   admint	   reportbugt   availt   standards   python-matplotlib(    (    (    (    (   R    t   get_package_statust   assertIsNoneR   R   t   assertIsNotNoneR   t   True(   R   t   statust
   pkgversiont   pkgavailt   dependst
   recommendst	   conffilest
   maintainerR,   t   origint   vendort
   reportinfot   priorityt   desct   src_namet   fulldesct   statet   suggestst   section(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_package_statusN   sZ    9999c         C   sn   t  j d ƒ } | \ } } } } } } } }	 }
 } } } } } } } } t  j | ƒ \ } } |  j | ƒ d  S(   NR)   (   R    R1   t   get_changed_config_filesR3   (   R   R5   R6   R7   R8   R9   R:   R;   R,   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   t   confinfot   changed(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_changed_config_files˜   s    9c         C   sÐ   t  j d ƒ } |  j | d i  ƒ d } t  j | d t ƒ} |  j | d | ƒ |  j | d ƒ t  j d ƒ } |  j | d i  ƒ t  j d ƒ } |  j | d i  ƒ t  j d ƒ } |  j | d i  ƒ d  S(	   NR)   i   s   reportbug-bugfreet   pathonlyi    s   /usr/bin/reportbugs$   /var/lib/dpkg/info/reportbug.md5sumss	   /usr/bin/(   R    t   find_package_fort   assertNotEqualR4   R   R2   (   R   t   resultt   filename(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_find_package_for£   s    c         C   sô   t  j g  ƒ } |  j | g  ƒ d } t  j | f | f g ƒ } |  j t | ƒ d ƒ |  j | d d | ƒ d } t  j | f | f g ƒ } |  j | d d | ƒ |  j | d d d ƒ t  j | f | f g d t ƒ} |  j | g  ƒ d  S(   NR.   i   i    t   slapdi   s   <none>t   skip_notfound(   R    t   get_package_infoR   t   lenR4   (   R   RN   t   pkg(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_package_infoµ   s    !c         C   s/   d } t  j | ƒ } |  j t | ƒ d ƒ d  S(   Nt   editori    (   R    t   packages_providingt   assertGreaterRT   (   R   RU   RN   (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_packages_providingÒ   s    c         C   s)   t  j ƒ  } | j ƒ  } |  j | ƒ d  S(   N(   R    t   get_avail_databaset   nextR3   (   R   t   avail_dbt   entry(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_avail_databaseØ   s    c         C   s?   t  j d ƒ } |  j | d ƒ t  j d ƒ } |  j | ƒ d  S(   NR.   s'   reports bugs in the Debian distributions   reportbug-bugfree(   R    t   available_package_descriptiont   assertEqualsR2   (   R   t   descr(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt"   test_available_package_descriptionÞ   s    (	   R	   R
   RF   RJ   RP   RV   RZ   R_   Rc   (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyR'   L   s   	J					t   TestSourcePackagesc           B   s   e  Z d  „  Z d „  Z RS(   c         C   sE   d } t  j | ƒ } |  j | d ƒ t  j d ƒ } |  j | ƒ d  S(   Ns   python-reportbugR.   s   reportbug-bugfree(   R    t   get_source_nameR   R2   (   R   t   binpkgt   src(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_source_nameé   s
    c         C   sk   d } t  j | ƒ } |  j g  | D] } | d ^ q" d d g ƒ d } t  j | ƒ } |  j | | ƒ d  S(   NR.   i    s   python-reportbug(   R    t   get_source_packageR   R   (   R   Rg   t   binpkgst   bint   binpkgs_frombin(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_source_packageò   s    -(   R	   R
   Rh   Rm   (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyRd   æ   s   		t   TestSystemInformationc           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s    t  j ƒ  } |  j | d ƒ d  S(   Ni   (   R    t   get_cpu_corest   assertGreaterEqual(   R   t   cores(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_cpu_coresý   s    c         C   s    t  j ƒ  } |  j d | ƒ d  S(   Nt   Debian(   R    t   lsb_release_infoR!   (   R   t   res(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_lsb_release_info  s    c         C   s&   t  j ƒ  } |  j t j ƒ  | ƒ d  S(   N(   R    t   get_running_kernel_pkgR!   t   platformt   release(   R   t   package(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_running_kernel_pkg  s    c         C   s¸   t  j } t j d d ƒ t  _ t j ƒ  } |  j | d ƒ t j d d ƒ t  _ t j ƒ  } |  j | d ƒ t j d d ƒ t  _ t j ƒ  } |  j | j d ƒ d d g ƒ | t  _ d  S(   Nt   return_valueR(   t   i386s
   i386
amd64s   , t   amd64(	   t   commandst	   getoutputt   mockt	   MagicMockR    t   get_multiarchR   R   t   split(   R   t   origt	   multiarch(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_multiarch  s    	c         C   s-  t  j j } t j d t ƒ t  j _ t j ƒ  } |  j | j	 d ƒ ƒ | t  j _ ~ t
 j } t j d d ƒ t
 _ t j ƒ  } |  j | j	 d ƒ ƒ | t
 _ ~ t  j j } t  j j } t j d t ƒ t  j _ t j d t ƒ t  j _ t j ƒ  } |  j | j	 d ƒ ƒ | t  j _ | t  j _ ~ ~ d  S(   NR|   t   systemdi    t   upstartt   sysvinit(   t   ost   patht   isdirR   R‚   R4   R    t   get_init_systemR   t
   startswitht
   subprocesst   callt   isfilet   islinkt   False(   R   t   _TestSystemInformation__savet   initt   _TestSystemInformation__save1t   _TestSystemInformation__save2(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_init_system   s,    		(   R	   R
   Rr   Rv   R{   R‡   R™   (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyRn   û   s
   				t   TestMuac           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sA   x$ d D] } |  j  t j | ƒ ƒ q W|  j t j d ƒ ƒ d  S(   Nt   mht   nmht   gnust   mutts
   claws-mails   mua-of-my-dreams(   s   mhs   nmhs   gnuss   mutts
   claws-mail(   R   R    t   mua_is_supportedR   (   R   t   mua(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_mua_is_supported=  s    c         C   s8   x1 d D]) } t  j | ƒ s |  j d | ƒ q q Wd  S(   NR›   Rœ   R   Rž   s
   claws-mails   %s MUA program not available(   s   mhs   nmhs   gnuss   mutts
   claws-mail(   R    t
   mua_existst   fail(   R   R    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_mua_existsD  s    c         C   sJ   x* d D]" } |  j  t j | ƒ t j ƒ q W|  j t j d ƒ d ƒ d  S(   NR›   Rœ   R   Rž   s
   claws-mails   mua-of-my-dreams(   s   mhs   nmhs   gnuss   mutts
   claws-mail(   t   assertIsInstanceR    t   mua_namet   MuaR   (   R   R    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_mua_nameJ  s     (   R	   R
   R¡   R¤   R¨   (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyRš   ;  s   		t   TestBugreportBodyc           B   sA   e  Z d  „  Z d „  Z d „  Z d „  Z e d ƒ d „  ƒ Z RS(   c         C   s|   d } t  j d d ƒ } |  j d | ƒ t  j d d g g ƒ } |  j d | ƒ t  j d d g g ƒ } |  j d | ƒ d  S(   NR.   R(   s   no packagesR)   t   awk(   R    t   get_dependency_infoR!   (   R   RU   RN   (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_get_dependency_infoT  s    c         C   s[   t  j d d d f ƒ } x< | j d ƒ D]+ } d | k r( |  j | j d ƒ ƒ q( q( Wd  S(   NR.   t   nonexistings   
t   ii(   s	   reportbug(   R­   (   R    R«   R„   R   R   (   R   RN   t   line(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_bts657753c  s
    	c         C   s¨   t  j d ƒ } | \ } } } } } } } }	 }
 } } } } } } } } xY | | | g D]H } t  j d | ƒ } x- | j d ƒ D] } |  j | j ƒ  | ƒ q€ WqX Wd  S(   NR.   s   
(   R    R1   R«   R„   R   t   rstrip(   R   R5   R6   R7   R8   R9   R:   R;   R,   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   t   lRN   R¯   (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_bts650659l  s    9c   
      C   s  d } d g } d g } d } t  j | | | | ƒ \ } } } |  j d | ƒ |  j d | ƒ t | ƒ } |  j d | ƒ |  j d | ƒ t g  | D] }	 |	 j d	 ƒ ^ q• ƒ }	 |  j d
 |	 ƒ |  j d |	 ƒ |  j d |	 ƒ |  j d |	 ƒ |  j d |	 ƒ d  S(   NsH  Subject: unblock: reportbug/4.12.6
Package: release.debian.org
User: release.debian.org@packages.debian.org
Usertags: unblock
Severity: normal
Morph: cool
Continuation:
 header

Please unblock package reportbug

(explain the reason for the unblock here)

unblock reportbug/4.12.6

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.31-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bashu.   X-Debbugs-CC: reportbug@packages.qa.debian.orgs   Morph: coolt   debbugss   reportbug/4.12.6s   System Informationt   Subjects   X-Debbugs-CCs   : t   Packaget   Severityt   Usert   Usertagst   Morph(   R    t   cleanup_msgR!   t   dictR„   (
   R   t   messaget   headert   pseudost   rtypet   bodyt   headerst   pseudot   ht   p(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_cleanup_msgy  s"    		(t   networkc         C   sm  t  j d d d d d d d d ƒ} |  j | ƒ |  j d | ƒ |  j d | ƒ |  j d	 | ƒ t  j d d d d d d d d d
 t ƒ} |  j d | ƒ t  j d d d d d d d d d d ƒ} |  j d | ƒ t j d ƒ d } t  j d d d d d d d d d | ƒ} |  j d | ƒ |  j t ƒ 6 t  j d d d d d d d d d i d d 6ƒ} Wd  QXd  S(   NR.   s   1.2.3t   normalR(   t   typeR´   s   Package: reportbugs   Version: 1.2.3s   Severity: normalt   issources   Source: reportbugt   exinfoi@â s   Followup-For: Bug #123456i    t   123456(	   R    t   generate_blank_reportR3   R!   R4   t	   debianbtst
   get_statust   assertRaisest	   TypeError(   R   t   reportt   bug(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_generate_blank_report«  s.    			(   R	   R
   R¬   R°   R³   RÆ   R   RÔ   (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyR©   R  s
   					2t
   TestConfigc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s,   t  j |  _ t j j t ƒ d g t  _ d  S(   Ns   /data/reportbug.conf(   R    t   FILESt   _FILESR‹   RŒ   t   dirnamet   __file__(   R   (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   setUpÏ  s    c         C   s   |  j  t _ d  S(   N(   R×   R    RÖ   (   R   (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   tearDownÓ  s    c         C   sj  i" d d 6t  d 6t d 6t d 6t d 6d d 6d	 d
 6d	 d 6d g d 6d d 6d d 6d d 6d d 6d d 6d g d 6d d 6d d 6t d 6t d 6t d  6t  d! 6t  d" 6t d# 6d$ d% 6d& d' 6d( d) 6d* d+ 6d, d- 6d. d/ 6d0 d1 6t  d2 6d3 d4 6t  d5 6t  d6 6} t j ƒ  } x6 | D]. } |  j | | ƒ |  j | | | | ƒ qW|  j d7 | ƒ |  j | d7 t j ƒ d  S(8   NR*   t   btst   check_availablet	   check_uidt   debconft	   dontqueryu	   emacs -nwRW   u'   reportbug-maint@lists.alioth.debian.orgR   t   envelopefroms-   X-Reportbug-Testsuite: this is the test suiteRÂ   u   http://proxy.example.com:3128/t
   http_proxyt   gtk2t	   interfaceu   deadbeeft   keyidi   t   max_attachment_sizeu
   mutt -f %st   mbox_reader_cmdt   this_is_a_bts_mirrort   mirrorst   novicet   modeu   /usr/sbin/sendmailt   mtat   nocct
   nocompresst   noconft   offlinet   paranoidt	   query_srcu   Reportbug Maintainerst   realnameu   We dont care <dev@null.org>t   replytot   submitt   sendtoRÈ   t   severityt   gpgt   signu   reportbug.debian.org:587t   smtphostu
   James Bondt
   smtppasswdt   smtptlsu   Bondt   smtpusert   templatet   verifyR    (   R4   R”   R    t   parse_config_filesR!   R   R¥   R§   (   R   t   desired_conft   argst   conf(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_parse_config_filesÖ  sR    


c         C   sQ   t  j d d t ƒ} | j ƒ  } |  j | d ƒ | j ƒ  } |  j | d ƒ d  S(   Ns!   realname "Paul \"TBBle\" Hampson"t   posixRó   s   Paul "TBBle" Hampson(   R    t   our_lexR4   t	   get_tokenR   (   R   t   lext   optionRó   (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_bts579891  s
    (   R	   R
   RÚ   RÛ   R  R
  (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyRÕ   Ì  s   			/t   TestControlc           B   s   e  Z d  „  Z RS(   c         C   s•   t  j j t ƒ d } t j | ƒ \ } } } } |  j | d ƒ |  j | d ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ d  S(   Ns   /data/controlt
   reportbug2s'   reportbug-maint@lists.alioth.debian.orgt   pythont   perl(   R‹   RŒ   RØ   RÙ   R    t   parse_bug_control_fileRa   R!   (   R   t	   ctrl_filet   submitast   submittot
   reportwitht   supplemental(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_parse_bug_control_file  s    (   R	   R
   R  (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyR    s   t	   TestPathsc           B   s   e  Z d  „  Z RS(   c         C   sp   d } t  j | ƒ } |  j | ƒ d } t  j | ƒ } |  j | | ƒ d } t  j | ƒ } |  j | d ƒ d  S(   Ns   not-existings   /tmpR)   s   /usr/bin/dpkg(   R    t   search_path_forR2   Ra   (   R   RÅ   Ru   (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_search_path_for  s    (   R	   R
   R  (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyR    s   t
   TestEditorc           B   s   e  Z d  „  Z RS(   c         C   sB   t  j ƒ  } |  j | ƒ d } t  j | ƒ } |  j | | ƒ d  S(   Ns   reportbug-editor(   R    t   which_editorR3   Ra   (   R   Ru   t   e(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_which_editor/  s
    (   R	   R
   R  (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyR  -  s   t
   TestSearchc           B   s   e  Z d  „  Z RS(   c         C   s¾   d } t  } t j | | ƒ \ } } | j ƒ  } | j ƒ  |  j | | ƒ |  j t | ƒ d ƒ t } t j | | ƒ \ } } | j ƒ  } | j ƒ  |  j | | ƒ |  j t | ƒ d ƒ d  S(   NR.   i    (	   R4   R    t   search_pipet	   readlinest   closeRa   RY   RT   R”   (   R   t   ft   dlocatet   pipet   dlocRu   (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_search_pipe:  s    

(   R	   R
   R%  (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyR  8  s   t   TestDpkgc           B   s   e  Z d  „  Z RS(   c         C   sè   d } t  } t j | | ƒ } |  j | d | ƒ |  j t | d j ƒ  ƒ d ƒ t } t j | | ƒ } |  j | d | ƒ |  j t | d j ƒ  ƒ d ƒ d } t  } t j | | ƒ } |  j | d | ƒ |  j | d i  ƒ d  S(   NR.   i    i   t	   blablabla(   R4   R    t   query_dpkg_forRa   RY   RT   R   R”   (   R   RÅ   R"  Ru   (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_query_dpkg_forP  s      (   R	   R
   R)  (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyR&  N  s   t   TestMiscc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   t  j ƒ  } |  j | ƒ d  S(   N(   R    t	   first_runR3   (   R   t
   isfirstrun(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_first_runi  s    c         C   s¡   t  j j t ƒ d } t  j j t ƒ d } t j | | ƒ \ } } } } } |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ d  S(   Ns   /../share/handle_bugscripts   /data/bugscriptR  R*   s   From: morph@dummy.ints   User: morph@debian.orgs
   /etc/fstab(   R‹   RŒ   RØ   RÙ   R    t   exec_and_parse_bugscriptR!   (   R   t   handlert   bugscript_filet   rcRÄ   t   pht   tt   a(    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_exec_and_parse_bugscriptn  s    !c         C   sà   |  j  t j d ƒ ƒ |  j  t j d ƒ ƒ |  j t j d ƒ ƒ |  j t j d ƒ ƒ |  j t j d ƒ ƒ |  j t j d ƒ ƒ |  j  t j d ƒ ƒ |  j  t j d ƒ ƒ |  j t j d	 ƒ ƒ |  j t j d
 ƒ ƒ d  S(   NR.   t   abR4  s   .as   dfffff       t   reportbug_reportbugs   reportbug+love-war.comt   reportbug2001t	   UPPERCASEs   ((()))(   R   R    t   check_package_nameR   (   R   (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   test_check_package_name{  s    (   R	   R
   R-  R5  R;  (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyR*  g  s   		(   R$   R.   R    t   os.pathR‹   Rx   t   nose.plugins.attribR   RÎ   R   R   R   t   TestCaseR   R   R'   Rd   Rn   Rš   R©   RÕ   R  R  R  R  R&  R*  (    (    (    s,   /home/morph/deb/reportbug/test/test_utils.pyt   <module>   s,   9š@zA