ó
qxPXc           @   sý  d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z d d l	 m
 Z
 m Z d d l m Z d d l m Z m Z m Z m Z d d l m Z d d l Z d d l m Z d d l Z e j j d	 ƒ rù d
 Z n$ e j j e j j d d ƒ d ƒ Z e j d e ƒ j Z e e j  d <d e j! f d „  ƒ  YZ" d Z# d Z$ e d ƒ Z% d Z& e d ƒ Z' e j( Z) e d ƒ Z* e ƒ  Z+ d Z, d Z- e e# e$ e% e& e' e) e* e+ e, e- ƒ
 Z. e j/ d g e. ƒ e ƒ  Z0 e j1 ƒ  d S(   s!   KDE 4 Apport User Interface testsiÿÿÿÿN(   t   patch(   t   QTimert   QCoreApplication(   t   QTreeWidget(   t   ki18nt   KCmdLineArgst
   KAboutDatat   KLocalizedString(   t   KApplication(   t   unicode_gettextt   APPORT_TEST_LOCALs   kde/apport-kdet   APPORT_DATA_DIRs   /usr/share/apports
   apport-kdet    i    t   Tc           B   s  e  Z e d  „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z e j e d ƒ 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 d ƒ d „  ƒ Z d „  Z RS(   c         C   s'   t  j ƒ  } | j ƒ  | d |  _ d  S(   Nt   DistroRelease(   t   apportt   Reportt   add_os_infot   distro(   t   klasst   r(    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt
   setUpClass&   s    
c         C   s
  t  j ƒ  |  _ |  j t j _ t ƒ  |  _ t j j j	 d  i  ƒ |  j _ t  j ƒ  |  _ |  j t j _ |  j t j _ t j j |  j d ƒ |  j _ t j ƒ  |  j _ d |  j j d <d |  j j d <d |  j j d <t |  j j d ƒ  } |  j j j | ƒ Wd  QXd  S(	   Ns
   bash.crashs	   /bin/basht   ExecutablePatht   11t   SignalR   t   CoreDumpt   w(   t   tempfilet   mkdtempt
   report_dirR   t	   fileutilst   MainUserInterfacet   appt   crashdb_implt   memoryt   CrashDatabaset   Nonet   crashdbt   hook_dirt   reportt	   _hook_dirt   _common_hook_dirt   ost   patht   joint   report_fileR   t   opent   write(   t   selft   f(    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt   setUp,   s    c         C   sZ   |  j  j r6 t j ƒ  |  j  j j d ƒ t j ƒ  n  t j |  j ƒ t j |  j ƒ d  S(   Ni    (	   R    t   dialogR   t   processEventst   donet   shutilt   rmtreeR   R&   (   R0   (    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt   tearDownE   s    
c            sF   ‡  f d †  } t  j d | ƒ ˆ  j j t ƒ } ˆ  j | d ƒ d S(   sB   Clicking the close button on the window does not report the crash.c             s   ˆ  j  j j ƒ  d  S(   N(   R    R3   t   reject(   t   args(   R0   (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt   cQ   s    i    R'   N(   R   t
   singleShotR    t   ui_present_report_detailst   Truet   assertFalse(   R0   R;   t   result(    (   R0   s*   /usr/share/apport/testsuite/test_ui_kde.pyt   test_close_buttonN   s    c         C   sY  d |  j  j d <t j d t j ƒ |  j  j t ƒ |  j |  j  j	 j
 ƒ  |  j j ƒ  d ƒ |  j |  j  j	 j j ƒ  t d ƒ |  j ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  t d ƒ ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  ƒ d S(   s  
        +-----------------------------------------------------------------+
        | [ logo ] YourDistro has experienced an internal error.          |
        |                                                                 |
        |            [x] Send an error report to help fix this problem.   |
        |                                                                 |
        | [ Show Details ]                                   [ Continue ] |
        +-----------------------------------------------------------------+
        t   KernelCrasht   ProblemTypei    s,   Sorry, %s has experienced an internal error.t   ContinueN(   R    R'   R   R<   R   t   quitR=   R>   t   assertEqualR3   t   windowTitleR   t   splitt   headingt   textt   _t
   assertTruet   send_error_reportt	   isVisiblet	   isCheckedt   detailst   continue_buttonR?   t   closed_button(   R0   (    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt   test_kernel_crash_layoutW   s    
%c         C   sk  d |  j  j d <d |  j  j d <t j d t j ƒ |  j  j t ƒ |  j |  j  j	 j
 ƒ  |  j j ƒ  d ƒ |  j |  j  j	 j j ƒ  t d ƒ ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  t d ƒ ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  t d ƒ ƒ d S(	   si  
        +-----------------------------------------------------------------+
        | [ error  ] Sorry, a problem occurred while installing software. |
        |            Package: apport 1.2.3~0ubuntu1                       |
        |                                                                 |
        |            [x] Send an error report to help fix this problem.   |
        |                                                                 |
        | [ Show Details ]                                   [ Continue ] |
        +-----------------------------------------------------------------+
        t   PackageRC   s   apport 1.2.3~0ubuntu1i    s4   Sorry, a problem occurred while installing software.RD   s   Package: apport 1.2.3~0ubuntu1N(   R    R'   R   R<   R   RE   R=   R>   RF   R3   RG   R   RH   RI   RJ   RK   RL   RM   RN   RO   RP   RQ   R?   RR   (   R0   (    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt   test_package_crash_layoutp   s     %c         C   s  d |  j  j d <d |  j  j d <d |  j  j d <t j ƒ  T } | j d ƒ | j ƒ  | j |  j  j d <t j d	 t	 j
 ƒ |  j  j t ƒ Wd
 QX|  j |  j  j j ƒ  |  j j ƒ  d	 ƒ |  j |  j  j j j ƒ  t d ƒ ƒ |  j |  j  j j j ƒ  ƒ |  j |  j  j j j ƒ  ƒ |  j |  j  j j j ƒ  ƒ |  j |  j  j j j ƒ  ƒ |  j |  j  j j j ƒ  t d ƒ ƒ |  j |  j  j j j ƒ  ƒ |  j |  j  j j j ƒ  ƒ |  j |  j  j j j ƒ  ƒ |  j |  j  j j j ƒ  ƒ |  j t |  j  j j j ƒ  ƒ j d ƒ ƒ d
 S(   si  
        +-----------------------------------------------------------------+
        | [ apport ] The application Apport has closed unexpectedly.      |
        |                                                                 |
        |            [x] Send an error report to help fix this problem.   |
        |            [ ] Ignore future problems of this program version.  |
        |                                                                 |
        | [ Show Details ]                                   [ Continue ] |
        +-----------------------------------------------------------------+
        t   CrashRC   t   1t   CrashCounters   apport 1.2.3~0ubuntu1RT   s8   [Desktop Entry]
Version=1.0
Name=Apport
Type=Applicationt   DesktopFilei    Ns/   The application Apport has closed unexpectedly.RD   s   of this program version(    R    R'   R   t   NamedTemporaryFileR/   t   flusht   nameR   R<   R   RE   R=   R>   RF   R3   RG   R   RH   RI   RJ   RK   RL   RM   RN   RO   RP   RQ   R?   RR   t   ignore_future_problemst   strt   endswith(   R0   t   fp(    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt   test_regular_crash_layoutŒ   s2    
%!c         C   s0  t  |  j _ d |  j j d <d |  j j d <d |  j j d <d |  j j d <t j ƒ  T } | j d	 ƒ | j ƒ  | j |  j j d
 <t	 j
 d t j ƒ |  j j t  ƒ Wd QX|  j |  j j j ƒ  |  j j ƒ  d ƒ |  j |  j j j j ƒ  t d ƒ ƒ |  j |  j j j j ƒ  ƒ |  j |  j j j j ƒ  ƒ |  j |  j j j j ƒ  ƒ |  j |  j j j j ƒ  ƒ |  j |  j j j j ƒ  t d ƒ ƒ |  j |  j j j j ƒ  ƒ |  j |  j j j j ƒ  ƒ |  j |  j j j j ƒ  ƒ |  j |  j j j j ƒ  ƒ |  j t |  j j j j ƒ  ƒ j  d ƒ ƒ d S(   si  
        +-----------------------------------------------------------------+
        | [ apport ] The application Apport has closed unexpectedly.      |
        |                                                                 |
        |            [x] Send an error report to help fix this problem.   |
        |            [ ] Ignore future problems of this program version.  |
        |                                                                 |
        | [ Show Details ]                 [ Leave Closed ]  [ Relaunch ] |
        +-----------------------------------------------------------------+
        RV   RC   RW   RX   s   apport-bug apportt   ProcCmdlines   apport 1.2.3~0ubuntu1RT   s8   [Desktop Entry]
Version=1.0
Name=Apport
Type=ApplicationRY   i    Ns/   The application Apport has closed unexpectedly.t   Relaunchs   of this program version(!   R>   R    t   offer_restartR'   R   RZ   R/   R[   R\   R   R<   R   RE   R=   RF   R3   RG   R   RH   RI   RJ   RK   RL   RM   RN   RO   RP   RQ   RR   R?   R]   R^   R_   (   R0   R`   (    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt!   test_regular_crash_layout_restart´   s6    
%!c         C   s|  d |  j  j d <d |  j  j d <d |  j  j d <d |  j  j d <t j ƒ  T } | j d	 ƒ | j ƒ  | j |  j  j d
 <t j d t	 j
 ƒ |  j  j t ƒ Wd QX|  j |  j  j j j ƒ  t d ƒ ƒ |  j |  j  j j j ƒ  ƒ |  j |  j  j j j ƒ  ƒ |  j |  j  j j j ƒ  ƒ |  j |  j  j j j ƒ  ƒ |  j |  j  j j j ƒ  t d ƒ ƒ |  j |  j  j j j ƒ  ƒ d S(   si  
        +-----------------------------------------------------------------+
        | [ apport ] The application Apport has closed unexpectedly.      |
        |                                                                 |
        |            [x] Send an error report to help fix this problem.   |
        |            [ ] Ignore future problems of this program version.  |
        |                                                                 |
        | [ Show Details ]                                   [ Continue ] |
        +-----------------------------------------------------------------+
        RV   RC   RW   RX   s   apport-bug apportRb   s   apport 1.2.3~0ubuntu1RT   s8   [Desktop Entry]
Version=1.0
Name=Apport
Type=ApplicationRY   i    Ns/   The application Apport has closed unexpectedly.RD   (   R    R'   R   RZ   R/   R[   R\   R   R<   R   RE   R=   R>   RF   R3   RI   RJ   RK   RL   RM   RN   RO   RP   RQ   R?   RR   (   R0   R`   (    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt#   test_regular_crash_layout_norestartÞ   s&    
%c         C   så  d |  j  j d <d |  j  j d <d |  j  j d <t j d t j ƒ |  j  j t ƒ |  j |  j  j	 j
 ƒ  |  j j ƒ  d ƒ |  j |  j  j	 j j ƒ  t d ƒ |  j ƒ |  j |  j  j	 j j ƒ  t d	 ƒ ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  t d
 ƒ ƒ |  j |  j  j	 j j ƒ  ƒ |  j |  j  j	 j j ƒ  ƒ |  j t |  j  j	 j j ƒ  ƒ j d ƒ ƒ d S(   s  
        +-----------------------------------------------------------------+
        | [ logo ] Sorry, YourDistro has experienced an internal error.   |
        |            If you notice further problems, try restarting the   |
        |            computer                                             |
        |                                                                 |
        |            [x] Send an error report to help fix this problem.   |
        |            [ ] Ignore future problems of this type.             |
        |                                                                 |
        | [ Show Details ]                                   [ Continue ] |
        +-----------------------------------------------------------------+
        RV   RC   RW   RX   s   apport 1.2.3~0ubuntu1RT   i    s,   Sorry, %s has experienced an internal error.s<   If you notice further problems, try restarting the computer.RD   s   of this typeN(   R    R'   R   R<   R   RE   R=   R>   RF   R3   RG   R   RH   RI   RJ   RK   RL   RN   RM   RO   RP   RQ   R?   RR   R]   R^   R_   (   R0   (    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt   test_system_crash_layout   s*    %!c         C   s†  d |  j _ t j d t j ƒ |  j j t ƒ |  j	 |  j j
 j ƒ  |  j j ƒ  d ƒ |  j	 |  j j
 j j ƒ  t d ƒ ƒ |  j |  j j
 j j ƒ  ƒ |  j |  j j
 j j ƒ  ƒ |  j |  j j
 j j ƒ  ƒ |  j |  j j
 j j ƒ  ƒ |  j |  j j
 j j ƒ  ƒ |  j	 |  j j
 j j ƒ  t d ƒ ƒ |  j |  j j
 j j ƒ  ƒ |  j |  j j
 j j ƒ  ƒ |  j |  j j
 j j ƒ  ƒ d S(   s  
        +-------------------------------------------------------------------+
        | [ error  ] Send problem report to the developers?                 |
        |                                                                   |
        |            +----------------------------------------------------+ |
        |            | |> ApportVersion                                   | |
        |            | ...                                                | |
        |            +----------------------------------------------------+ |
        |                                                                   |
        | [ Cancel ]                                               [ Send ] |
        +-------------------------------------------------------------------+
        i    s&   Send problem report to the developers?t   SendN(   R$   R    R-   R   R<   R   RE   R=   R>   RF   R3   RG   R   RH   RI   RJ   RK   R?   RN   RM   RL   RO   RP   RQ   RR   t   cancel_buttont   treeview(   R0   (    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt   test_apport_bug_package_layout#  s     %t   open_urlc            s   d ˆ _ ‡  ‡ ‡ f d †  ‰  ‡ f d †  ‰ t j d ˆ  ƒ ˆ j j ˆ j j ƒ ˆ j ˆ j j j	 ƒ  d ƒ ˆ j j j
 d ƒ } ˆ j | d d ƒ ˆ j | d d ƒ ˆ j ˆ j t ƒ ˆ j | d	 j d
 ƒ ƒ ˆ j d | d k ƒ ˆ j d | k ƒ ˆ j ˆ j j j d ƒ d S(   s$   Crash report without showing detailsc             s\   ˆ j  j rH ˆ j  j j j ƒ  rH ˆ j  j j j ƒ  t j d ˆ ƒ d  St j d ˆ  ƒ d  S(   Niô  iè  (   R    R3   RQ   RN   t   clickR   R<   (   R:   (   t   contR0   t   check_progress(    s*   /usr/share/apport/testsuite/test_ui_kde.pyRn   G  s
    !c             s   ˆ  j  j d  k ˆ  _ d  S(   N(   R    t   progressR$   t   visible_progress(   R:   (   R0   (    s*   /usr/share/apport/testsuite/test_ui_kde.pyRo   O  s    iè  i    RC   RV   R   s	   /bin/bashRT   s   bash t   libct   Dependenciest
   Stacktracei   N(   R$   Rq   R   R<   R    t	   run_crashR-   RF   R%   t	   latest_idt   downloadR>   RL   t
   startswithRl   t
   call_count(   R0   R:   R   (    (   Rn   R0   Ro   s*   /usr/share/apport/testsuite/test_ui_kde.pyt   test_1_crash_nodetailsA  s    	c            s5  d ˆ _ ‡ ‡ ‡  f d †  ‰ ‡  ‡ ‡ f d †  ‰  ‡ f d †  ‰ t j d ˆ ƒ ˆ j j ˆ j j ƒ ˆ j ˆ j j j	 ƒ  d ƒ ˆ j j j
 d ƒ } ˆ j | d d ƒ ˆ j | d d	 ƒ ˆ j ˆ j t ƒ ˆ j | d
 j d ƒ ƒ ˆ j d | d k ƒ ˆ j d | k ƒ ˆ j ˆ j j j d ƒ d S(   s!   Crash report with showing detailsc             s\   ˆ j  j rH ˆ j  j j j ƒ  rH ˆ j  j j j ƒ  t j d ˆ ƒ d  St j d ˆ  ƒ d  S(   Niè  iÈ   (   R    R3   t   show_detailsRN   Rm   R   R<   (   R:   (   R{   R0   Rn   (    s*   /usr/share/apport/testsuite/test_ui_kde.pyR{   l  s
    !c             sš   ˆ j  j j t d ƒ } | j ƒ  d k r> t j d ˆ  ƒ d  Sˆ j  j r† ˆ j  j j j ƒ  r† ˆ j  j j j	 ƒ  t j d ˆ ƒ d  St j d ˆ  ƒ d  S(   NRP   i    iÈ   iô  (
   R    R3   t	   findChildR   t   topLevelItemCountR   R<   RQ   RN   Rm   (   R:   RP   (   Rn   R0   Ro   (    s*   /usr/share/apport/testsuite/test_ui_kde.pyRn   u  s    !c             s   ˆ  j  j d  k ˆ  _ d  S(   N(   R    Rp   R$   Rq   (   R:   (   R0   (    s*   /usr/share/apport/testsuite/test_ui_kde.pyRo   ƒ  s    iÈ   i    RC   RV   R   s	   /bin/bashRT   s   bash Rr   Rs   Rt   i   N(   R$   Rq   R   R<   R    Ru   R-   RF   R%   Rv   Rw   t   FalseRL   Rx   Rl   Ry   (   R0   R:   R   (    (   Rn   R0   R{   Ro   s*   /usr/share/apport/testsuite/test_ui_kde.pyt   test_1_crash_detailsf  s    		c            s-  d ˆ _ ‡  ‡ ‡ f d †  ‰  ‡ f d †  ‰ t j d ˆ  ƒ d g ˆ j j j d <ˆ j j ˆ j j ƒ ˆ j	 ˆ j j j
 ƒ  d ƒ ˆ j	 ˆ j j j d ƒ ˆ j	 ˆ j t ƒ ˆ j j } ˆ j	 | d d	 ƒ ˆ j	 | d
 d ƒ ˆ j | d j d ƒ ƒ ˆ j d | d k ƒ ˆ j d | k ƒ d S(   s(   Crash report with non-accepting crash DBc             s\   ˆ j  j rH ˆ j  j j j ƒ  rH ˆ j  j j j ƒ  t j d ˆ ƒ d  St j d ˆ  ƒ d  S(   Niô  iè  (   R    R3   RQ   RN   Rm   R   R<   (   R:   (   Rn   R0   Ro   (    s*   /usr/share/apport/testsuite/test_ui_kde.pyRn      s
    !c             s   ˆ  j  j d  k ˆ  _ d  S(   N(   R    Rp   R$   Rq   (   R:   (   R0   (    s*   /usr/share/apport/testsuite/test_ui_kde.pyRo   ¨  s    iè  t   bugt   problem_typesiÿÿÿÿi    RC   RV   R   s	   /bin/bashRT   s   bash Rr   Rs   Rt   N(   R$   Rq   R   R<   R    R%   t   optionsRu   R-   RF   Rv   Rl   Ry   R~   R'   RL   Rx   (   R0   R:   R   (    (   Rn   R0   Ro   s*   /usr/share/apport/testsuite/test_ui_kde.pyt   test_1_crash_noacceptš  s    	c            s¼   d ˆ j _ d ˆ j j _ ‡ ‡  f d †  ‰  t j d ˆ  ƒ ˆ j j ƒ  ˆ j ˆ j j	 d d ƒ ˆ j ˆ j j	 d d ƒ ˆ j
 ˆ j j	 d j d ƒ ƒ ˆ j ˆ j j	 d	 d
 ƒ d S(   s    Bug report for installed packaget   bashc             sL   ˆ  j  j r8 ˆ  j  j j j ƒ  r8 ˆ  j  j j j ƒ  d  St j d ˆ ƒ d  S(   Niè  (   R    R3   Ri   RN   Rm   R   R<   (   R:   (   R0   R;   (    s*   /usr/share/apport/testsuite/test_ui_kde.pyR;   Ä  s    !iè  RC   t   Bugt   SourcePackageRT   s   bash Rs   R   N(   R$   R    R-   R‚   t   packageR   R<   t   run_report_bugRF   R'   RL   Rx   t   assertNotEqual(   R0   (    (   R;   R0   s*   /usr/share/apport/testsuite/test_ui_kde.pyt!   test_bug_report_installed_package¾  s     c            s»   t  j j ƒ  } d ˆ j _ | ˆ j j _ ‡ ‡  f d †  ‰  t j	 d ˆ  ƒ ˆ j j
 ƒ  ˆ j ˆ j j d d ƒ ˆ j ˆ j j d t  j j | ƒ ƒ ˆ j ˆ j j d d | ƒ d S(	   s"   Bug report for uninstalled packagec             sL   ˆ  j  j r8 ˆ  j  j j j ƒ  r8 ˆ  j  j j j ƒ  d  St j d ˆ ƒ d  S(   Niè  (   R    R3   Ri   RN   Rm   R   R<   (   R:   (   R0   R;   (    s*   /usr/share/apport/testsuite/test_ui_kde.pyR;   Û  s    !iè  RC   R…   R†   RT   s   %s (not installed)N(   R   t	   packagingt   get_uninstalled_packageR$   R    R-   R‚   R‡   R   R<   Rˆ   RF   R'   t
   get_source(   R0   t   pkg(    (   R;   R0   s*   /usr/share/apport/testsuite/test_ui_kde.pyt#   test_bug_report_uninstalled_packageÓ  s    c            s  d
 ˆ j _ ‡ ‡  f d †  ‰  ˆ j j j i  ƒ } ˆ j | d ƒ d ˆ j j _ d ˆ j j _ t	 j
 d ˆ  ƒ ˆ j j ƒ  ˆ j ˆ j j j ƒ  d ƒ ˆ j j j d ƒ } ˆ j | d j d ƒ ƒ ˆ j d | d k ƒ ˆ j d	 | k ƒ ˆ j ˆ j j j d ƒ d
 S(   s   Updating an existing reportc             sL   ˆ  j  j r8 ˆ  j  j j j ƒ  r8 ˆ  j  j j j ƒ  d  St j d ˆ ƒ d  S(   NiÈ   (   R    R3   RQ   RN   Rm   R   R<   (   R:   (   R0   Rn   (    s*   /usr/share/apport/testsuite/test_ui_kde.pyRn   ð  s    !i    R„   iÈ   RT   s   bash Rr   Rs   R   N(   R$   R    R-   R%   t   uploadRF   R‚   t   update_reportR‡   R   R<   t   run_update_reportRv   Rw   RL   Rx   Rl   Ry   (   R0   R:   t   idR   (    (   Rn   R0   s*   /usr/share/apport/testsuite/test_ui_kde.pyt   test_1_update_reportê  s    c            sÄ  d ˆ j _ ‡ ‡  f d †  ‰  t j j ƒ  } t j j | ƒ } ˆ j | | d ƒ ˆ j t j j | ƒ d d | ƒ ˆ j	 t
 t j j | ƒ t t j j ˆ j d | ƒ d ƒ  } | j d ƒ Wd QXˆ j j j i  ƒ } ˆ j | d	 ƒ d	 ˆ j j _ | ˆ j j _ t j d
 ˆ  ƒ ˆ j j ƒ  ˆ j ˆ j j j ƒ  d	 ƒ ˆ j j j d	 ƒ } ˆ j d | k ƒ ˆ j d | k ƒ ˆ j d | k ƒ ˆ j | d d ƒ ˆ j ˆ j j j d	 ƒ d S(   s]   Updating an existing report on a source package which does not have a binary of the same namec             sL   ˆ  j  j r8 ˆ  j  j j j ƒ  r8 ˆ  j  j j j ƒ  d  St j d ˆ ƒ d  S(   NiÈ   (   R    R3   RQ   RN   Rm   R   R<   (   R:   (   R0   Rn   (    s*   /usr/share/apport/testsuite/test_ui_kde.pyRn     s    !sI   this test assumes that the kernel binary package != kernel source packageR   s@   this test assumes that the kernel binary package %s is installeds   source_%s.pyR   s0   def add_info(r, ui):
 r["MachineType"]="Laptop"
Ni    iÈ   t   ProcEnvironR   t   Unamet   MachineTypet   Laptop(   R$   R    R-   R   R‹   t   get_kernel_packageR   R‰   t   get_versiont   assertRaisest
   ValueErrorR.   R*   R+   R,   R&   R/   R%   R   RF   R‚   R‘   R‡   R   R<   R’   Rv   Rw   RL   Rl   Ry   (   R0   R:   t
   kernel_pkgt
   kernel_srcR1   R“   R   (    (   Rn   R0   s*   /usr/share/apport/testsuite/test_ui_kde.pyt,   test_1_update_report_different_binary_source  s0    (c         C   s_   t  j d t j ƒ |  j j t ƒ |  j |  j j j	 j
 ƒ  ƒ |  j |  j j j	 j ƒ  ƒ d  S(   Ni    (   R   R<   R   RE   R    R=   R~   R?   R3   RM   RN   RO   (   R0   (    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt%   test_administrator_disabled_reporting?  s    (   t   __name__t
   __module__t   classmethodR   R2   R8   RA   RS   RU   Ra   Re   Rf   Rg   Rk   R    t   objectR   Rz   R   Rƒ   RŠ   R   R”   RŸ   R    (    (    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyR   %   s&   								(	*	"	#	%4$		"3R   s
   Apport KDEs   1.0s#   KDE 4 frontend tests for the apports   2012 Canonical Ltd.s/   https://wiki.ubuntu.com/AutomatedProblemReportss   kubuntu-devel@lists.ubuntu.com(2   t   __doc__t   impt   unittestR   t   sysR*   R6   t   mockR    t   PyQt4.QtCoreR   R   t   PyQt4.QtGuiR   t   PyKDE4.kdecoreR   R   R   R   t   PyKDE4.kdeuiR   R   R	   RK   t   apport.crashdb_impl.memoryt   environt   gett   apport_kde_pathR+   R,   t   load_sourceR   t   argvt   TestCaseR   t   appNamet   catalogt   programNamet   versiont   descriptiont   License_GPLt   licenset	   copyrightRJ   t   homePaget   bugEmailt	   aboutDatat   initR    t   main(    (    (    s*   /usr/share/apport/testsuite/test_ui_kde.pyt   <module>   sJ   
"	$ÿ ÿ "			