+
    :1jù                    P   R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	t	^RI
Ht ^RIHt ^RIHt ^RIHtHtHt ^RIHt ^R	IHt ^R
IHt ^RIHt ]P8                  R 4       tR tR tR t  ! R R4      t!R t"]	PF                  ! 4       ]3R R ll4       t$ ! R R4      t%R# )zHelpers for testing the solver.)annotationsNTemporaryDirectory)context)json)Solver)PackagesNotFoundErrorResolvePackageNotFoundUnsatisfiableError)Channel)	MatchSpec)PackageRecord)helpersc                    \        \        RV  24      pV! \        P                  4      w  r#\	        VP                  4       4      # )z<Get the index data of the ``helpers.get_index_r_*`` helpers.get_index_r_)getattrr   r   subdirlistvalues)num	get_indexindex_s   &   <lib/python3.14/site-packages/conda/testing/solver_helpers.pyindex_packagesr      s8     <u!56I(HE    c                    V P                   P                   R V P                   RV P                   RV P                   2# )z::-channelnameversionbuild)records   &r   package_stringr$   &   s7    nn!!""V[[M6>>2B!FLL>RRr   c                B    V  Uu0 uF  p\        V4      kK  	  up# u upi )z3Transforms package container in package string set.)r$   packagesr#   s   & r   package_string_setr(   *   s    19:vN6":::s   c                D    V  Uu/ uF  qP                   VbK  	  up# u upi )z/Transforms package container into a dictionary.r    r&   s   & r   package_dictr+   /   s!    .67hFKKh777s   c                      ] tR t^4tRtRt]P                  3R ltR t	RR lt
RR/R ltRR/R lt]R	 4       tR
 tR tR tRtR# )SimpleEnvironmentzHelper environment object.c                	    \         P                  ! V4      V n        V P                  R ,          V n        V P                  R,          V n        W n        W0n        . V n        . V n        R# )prefixchannelsN)	pathlibPath_path_prefix_path_channels_path_solver_classsubdirsinstalled_packagesrepo_packages)selfpathsolver_classr7   s   &&&&r   __init__SimpleEnvironment.__init__G   sS    \\$'
 JJ1"jj:5)"$ @Br   c                N   . pV P                  4        V P                  P                  4        FL  w  rEV P                  WE4       \	        \        V P                  V,          4      4      pVP                  V4       KN  	  V P                  V P                  V P                  VVVR7      # )zCWrites ``repo_packages`` to the disk and creates a solver instance.)r/   r7   r0   specs_to_addspecs_to_remove)_write_installed_packages_channel_packagesitems_write_repo_packagesr   strr5   appendr6   r4   r7   )r:   addremover0   channel_namer'   r   s   &&&    r   solverSimpleEnvironment.solverS   s    &&(&*&<&<&B&B&D"L%%l=c$"5"5"DEFGOOG$ 'E !!$$LL" " 
 	
r   Fc                	l    V P                  WR 7      P                  4       pV'       d   V# \        V4      # ))rH   rI   )rK   solve_final_stater(   )r:   rH   rI   as_specsr'   s   &&&& r   solver_transaction$SimpleEnvironment.solver_transactionc   s.    ;;3;6HHJO!(++r   rO   c               	&    V P                  W!R 7      # ))rH   rO   rP   r:   rO   specss   &$*r   installSimpleEnvironment.installi   s    &&5&DDr   c               	&    V P                  W!R 7      # ))rI   rO   rS   rT   s   &$*r   rI   SimpleEnvironment.removel   s    &&e&GGr   c                v    \        V P                  \        4      '       d   V P                  # RV P                  /# )z<Helper that unfolds the ``repo_packages`` into a dictionary.test)
isinstancer9   dictr:   s   &r   rC   #SimpleEnvironment._channel_packageso   s4     d(($//%%%**++r   c                    \        V4      P                  4        UUu/ uF1  w  r#W P                  9   g   K  Y"R9   d   RP                  V4      MTbK3  	  pppRV9  d   \        P
                  VR&   V# u uppi )zHTurn record into data, to be written in the JSON environment/repo files.,r   )featurestrack_features)varsrD   REPO_DATA_KEYSjoinr   r   )r:   r#   keyvaluedatas   &&   r   _package_dataSimpleEnvironment._package_datav   sy     #6l002
2
))) VC,J%J#((5/PUU2 	 

 4$^^DN
s
   A3A3c           	     	&   V P                   '       g   R # V P                  R,          pVP                  RRR7       V P                    F  pWP                   RVP                   RVP
                   R2,          pV P                  V4      pVP                  P                  VR&   VP                  \        P                  ! V4      4       K  	  VR,          pVP                  RP                  R	.\        \        V P                   4      O54      4       R # )
Nz
conda-metaT)exist_okparentsr   z.jsonr   history
z==> 2000-01-01 00:00:00 <==)r8   r4   mkdirr    r!   r"   rj   r   
write_textr   dumpsrf   mapr$   )r:   
conda_metar#   record_pathrecord_datahistory_paths   &     r   rB   +SimpleEnvironment._write_installed_packages   s    &&&&&5
$5--F}Afnn-=Qv||nERR  ,,V4K%+^^%8%8K	"""4::k#:; . "I-II1)@)@A	
r   c                B   \         P                  ! \        4      pV F1  pV P                  V4      W4P                  ,          VP
                  &   K3  	  \        V P                  4      P                  \        VP                  4       4      4      '       g   Q hV P                   Fz  pV P                  V,          V,          pVP                  RRR7       VP                  R4      P                  \        P                  ! RRV/RVP!                  V/ 4      /4      4       K|  	  R# )z#Write packages to the channel path.T)rn   rm   zrepodata.jsoninfor   r'   N)collectionsdefaultdictr]   rj   r   fnsetr7   
issupersetkeysr5   rq   joinpathrr   r   rs   get)r:   rJ   r'   package_datar#   r   subdir_paths   &&&    r   rE   &SimpleEnvironment._write_repo_packages   s     #..t4F595G5G5OL'		2  4<< ++C0A0A0C,DEEEEllF--<vEKdT:  1<<

$f! #L$4$4VR$@		 #r   )r5   r3   r4   r6   r8   r9   r7   N)r"   build_numberdependslicensemd5r    sha256sizer   	timestampr!   rc   rb   ) r   F)__name__
__module____qualname____firstlineno____doc__re   r   r7   r=   rK   rP   rV   rI   propertyrC   rj   rB   rE   __static_attributes__r   r   r   r-   r-   4   sd    $N  4;?? 
B
 ,Eu EHe H , ,	
0r   r-   c                     \        R R7      # )conda-test-repo-r/   r   r   r   r   empty_prefixr      s    %788r   c                   V ^8  d   QhRR/# )   returnr-   r   )formats   "r   __annotate__r      s     6 6,= 6r   c              #     "   \        4       ;_uu_ 4       p\        W4      x  R R R 4       R #   + '       g   i     R # ; i5iN)r   r-   )r<   r/   s   & r   temp_simple_envr      s$     	655 
s   A-
A>		Ac                  \   ] tR t^tRt]R R l4       t]R 4       t]P                  ! RR7      R 4       t
]P                  ! 4       R 4       tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R  R! lt#R" t$R# t%R$ t&R% t'R& t(R' t)]PT                  PW                  R(R)7      R* 4       t,]PT                  PW                  R(R)7      R+ 4       t-]PT                  PW                  R,R)7      R- 4       t.R. t/R/ t0R0 t1R1 t2R2 t3R3 t4R4 t5R5 t6R6 t7R7t8R8# )9SolverTestsz>Tests for :py:class:`conda.core.solve.Solver` implementations.c                   V ^8  d   QhRR/# )r   r   ztype[Solver]r   )r   s   "r   r   SolverTests.__annotate__   s     " "l "r   c                    \         h)zClass under test.)NotImplementedErrorr^   s   &r   r<   SolverTests.solver_class   s
     "!r   c                	    / # r   r   r^   s   &r   tests_to_skipSolverTests.tests_to_skip   s    	r   T)autousec                	    V P                   P                  4        F8  w  r#VP                  P                  V9   g   K"  \        P
                  ! V4       K:  	  R # r   )r   rD   noder    pytestskip)r:   requestreason	skip_lists   &&  r   
skip_testsSolverTests.skip_tests   s<    !%!3!3!9!9!;F||  I-F# "<r   c              #  	   "   \        R R7      ;_uu_ 4       p\        WP                  4      V n        V P                  x  RV n        RRR4       R#   + '       g   i     R# ; i5i)r   r   N)r   r-   r<   env)r:   tmpdirs   & r   r   SolverTests.env   sC     '9::f(1B1BCDH((NDH ;:::s   A%0A
A%A"		A%c                	   a V Fc  o\         ;QJ d-    V3R  lVP                  4        4       F  '       d   K   RM"	  RM! V3R  lVP                  4        4       4      '       g   Ka  Su # 	  R# )c              3  F   <"   T F  w  r\        SV4      V8H  x  K  	  R # 5ir   )r   ).0rg   rh   r#   s   &  r   	<genexpr>3SolverTests.find_package_in_list.<locals>.<genexpr>   s     R>ZS763'50>s   !FTN)allrD   )r:   r'   kwargsr#   s   &&,@r   find_package_in_list SolverTests.find_package_in_list   s?    FsR6<<>RsssR6<<>RRR r   c                	   \        V P                  P                  \        4      '       d8   R V9  d   \	        R4      hV P                  P                  VR ,          ,          pMV P                  P                  pV P
                  ! V3/ VB # )r   zDRepo has multiple channels, the `channel` argument must be specified)r\   r   r9   r]   
ValueErrorr   )r:   r   r'   s   &, r   find_packageSolverTests.find_package   sq    dhh,,d33& Z  xx--fY.?@Hxx--H((<V<<r   c                    \        VP                  \        4      '       g   Q hVP                  \        J d0   \        R VP                  P
                   4       4      V8X  g   Q hR# R# )zHelper to assert that a :py:class:`conda.exceptions.UnsatisfiableError`
instance as a the specified set of unsatisfiable specifications.
c              3  T   "   T F  p\        \        \        V4      4      x  K   	  R # 5ir   )tuplert   rF   )r   entriess   & r   r   3SolverTests.assert_unsatisfiable.<locals>.<genexpr>   s#      <XE#c7+,,<Xs   &(N)
issubclasstyper
   sortedrh   unsatisfiable)r:   exc_infor   s   &&&r   assert_unsatisfiable SolverTests.assert_unsatisfiable   sa     (--);<<<<==.. <DNN<X<X   /r   c                	d    \        ^4      Vn        VP                  4       \        4       8X  g   Q hR# )   N)r   r9   rV   r   r:   r   s   &&r   
test_emptySolverTests.test_empty   s%    *1-{{}%%%r   c                	^    \        ^4      Vn        VP                  RRR4      0 Rm8X  g   Q hR# )r   
iopro 1.4*python 2.7*
numpy 1.7*N>   test::tk-8.5.13-0test::system-5.8-1test::zlib-1.2.7-0test::python-2.7.5-0test::readline-6.2-0test::sqlite-3.7.13-0test::openssl-1.0.1c-0test::pip-1.3.1-py27_1test::unixodbc-2.3.1-0test::numpy-1.7.1-py27_0test::iopro-1.4.3-np17py27_p0test::distribute-0.6.36-py27_1r   r9   rV   r   s   &&r   test_iopro_mklSolverTests.test_iopro_mkl   s4    *1-{{<E J
 
 	
 
r   c           	     	t    \        ^4      Vn        VP                  RRR\        RR7      4      0 Rm8X  g   Q hR# )r   r   r   r   mklrc   N>   r   r   r   test::mkl-rt-11.0-p0r   r   r   r   r   r   test::numpy-1.7.1-py27_p0r   r   r   r9   rV   r   r   s   &&r   test_iopro_nomklSolverTests.test_iopro_nomkl  s>    *1-{{-yPU7V


 	
 
r   c                	    \        ^4      Vn        VP                  R4      VP                  R\        RR7      4      8X  g   Q hR# )r   r   zmkl 11*r   Nr   r   s   &&r   test_mklSolverTests.test_mkl  s?    *1-{{5!S[[y6&
 
 	
 
r   c                	    \        ^4      Vn        VP                  R4      VP                  R\        RR7      4      8X  g   Q hR# )r   
accelerater   r   Nr   r   s   &&r   test_accelerateSolverTests.test_accelerate  s?    *1-{{<(CKK)59-
 
 	
 
r   c           	     	   \        ^4      Vn        VP                  RRR\        RR7      RR7      pV F)  pVP                  R9   g   K  RVP
                  9   d   K)  Q h	  R\        V4      9   g   Q hR	\        V4      9   g   Q hR
# )r   scipyr   r   r   r   TrO   r   ztest::scipy-0.12.0-np17py27_p0N)numpyr   )r   r9   rV   r   r    rb   r(   )r:   r   recordsr#   s   &&  r   test_scipy_mklSolverTests.test_scipy_mkl%  s    *1-++U+  
 F{{00///  +.@.IIII/3Eg3NNNNr   c                	    \        ^4      Vn        VP                  RRR4      p\        V4      ^k8X  g   Q hRV9   g   Q hR# )r   zanaconda 1.5.0r   r   test::scipy-0.12.0-np17py27_0N)r   r9   rV   lenr:   r   r   s   && r   test_anaconda_nomklSolverTests.test_anaconda_nomkl6  sB    *1-++.|L7|s""".'999r   c           	     	    \        ^4      Vn        VP                  RRR4      0 Rm8X  g   Q hVP                  RRR\        RR7      4      0 Rm8X  g   Q hR# )	r   iopror   
numpy 1.5*r   r   N>   r   r   r   r   r   r   r   r   r   test::numpy-1.5.1-py27_4test::iopro-1.4.3-np15py27_p0r   >   r   r   r   r   r   r   r   r   r   r   test::numpy-1.5.1-py27_p4r  r   r   r   s   &&r   test_pseudo_booleanSolverTests.test_pseudo_boolean<  sd    *1-{{7M<@ E
 
 	
 
 {{]L)52Q


 	
 
r   c                	   \        ^4      Vn        \        P                  ! \        4      ;_uu_ 4       pVP                  RR4       RRR4       V P                  XRR.4       \        P                  ! \        4      ;_uu_ 4       pVP                  RR4       RRR4       V P                  V. R	O4       \        P                  ! \        \        \        34      ;_uu_ 4       pVP                  RR4       RRR4       VP                  \        J d8   \        \        \        VP                  P                  4      4      R.8X  g   Q hR# R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i)
r   r	  zscipy 0.12.0b1N	python 3*
numpy 1.6*znumpy[version='1.5.*,1.6.*'])	numpy=1.5)zscipy==0.12.0b1znumpy[version='1.6.*|1.7.*']))r  nosez
python=3.3)r  zpython[version='2.6.*|2.7.*'])zpython=3)r   r9   r   raisesr
   rV   r   r	   r   r   r   rt   rF   rh   bad_depsr:   r   r   s   && r   test_unsat_from_r1SolverTests.test_unsat_from_r1_  s(   *1-]]-..(KK&67 /!!C	
 ]]-..(KKk2 /!!	
 ]]#%:<NO
 
KKl3
 ==22#c8>>#:#:;<.A    33 /.. /.
 
s#   EE E/E	E,	/E?	c                	   \         P                  ! R R.R7      \         P                  ! RR.R7      \         P                  ! RRR7      \         P                  ! RRR7      .Vn        \        P                  ! \
        4      ;_uu_ 4       pVP                  R R4       R	R	R	4       V P                  XR
R.4       R	#   + '       g   i     L&; i)ac >=1,<2r    r   bc >=2,<3c1.0r    r!   2.0N)r  c[version='>=1,<2']r  c[version='>=2,<3']r   r#   r9   r   r  r
   rV   r   r  s   && r   test_unsat_simpleSolverTests.test_unsat_simple  s    NNj\:NNj\:NNU3NNU3	
 ]]-..(KKS! /!!,,	
 /.s   B99C		c                	l    \        ^4      Vn        VP                  R4      pRV9   g   Q hRV9   g   Q hR# )r   zanaconda 1.4.0ztest::anaconda-1.4.0-np17py33_0ztest::freetype-2.4.10-0Nr   r  s   && r   test_get_distsSolverTests.test_get_dists  s:    *1-++./0G;;;(G333r   c           	     	   \         P                  ! R RR.R7      \         P                  ! RR.R7      \         P                  ! RRR7      \         P                  ! RRR7      \         P                  ! RR	.R7      .Vn        \        P                  ! \
        4      ;_uu_ 4       pVP                  R
R R4       RRR4       V P                  X. RO4       R#   + '       g   i     L&; i)r  dc <1.3.0r  r  r  1.3.6r!  1.2.8	c >=0.8.0c=1.3.6N))r  c[version='<1.3.0'])r  r-  c[version='>=0.8.0']r  r  r2  r&  r  s   && r   test_unsat_shortest_chain_1'SolverTests.test_unsat_shortest_chain_1  s    NNc:->?NNcU3NN NN NNk];
 ]]-..(KK	3, /!!	
 /.   !CC#	c           	     	   \         P                  ! R RR.R7      \         P                  ! RR.R7      \         P                  ! RRR7      \         P                  ! RRR7      \         P                  ! RR	.R7      .Vn        \        P                  ! \
        4      ;_uu_ 4       pVP                  R
R R4       RRR4       V P                  X. RO4       R#   + '       g   i     L&; i)r  r-  r1  r  r  r  r/  r!  r0  r.  r2  N))r  r4  )r  r-  r3  r5  r6  r&  r  s   && r   test_unsat_shortest_chain_2'SolverTests.test_unsat_shortest_chain_2  s    NNc;-?@NNcU3NN NN NNj\:
 ]]-..(KK	3, /!!	
 /.r9  c                	,   \         P                  ! R RR.R7      \         P                  ! RR.R7      \         P                  ! RRR7      \         P                  ! RRR7      \         P                  ! R	R
.R7      \         P                  ! RR.R7      \         P                  ! RR	.R7      .Vn        \        P                  ! \
        4      ;_uu_ 4       pVP                  RR R4       RRR4       V P                  X. RO4       R#   + '       g   i     L&; i)r  fer  r  r  r/  r!  r0  r-  r1  r.  r2  N))r  r?  r3  r5  r6  r&  r  s   && r   test_unsat_shortest_chain_3'SolverTests.test_unsat_shortest_chain_3  s    NNc3Z8NNcU3NN NN NNk];NNj\:NNcU3
 ]]-..(KK	3, /!!	
 /.s   DD	c           
     	   \         P                  ! R R.R7      \         P                  ! RR7      \         P                  ! RR7      \         P                  ! RRRR.R7      \         P                  ! RR	RR.R7      .Vn        \        P                  ! \
        4      ;_uu_ 4       pVP                  R R
4       RRR4       V P                  XRR.4       R#   + '       g   i     L&; i)r  z	py =3.7.1r  py_req_1r*   py_req_2pyz3.7.1r    r!   r   z3.6.1py=3.6.1N)r  zpy=3.7.1)rG  r&  r  s   && r   test_unsat_shortest_chain_4'SolverTests.test_unsat_shortest_chain_4  s    NNk];NN
+NN
+NN7Z4L NN7Z4L

 ]]-..(KKZ( /!!!	
 /.s   "CC#	c                	,   \         P                  ! R R.R7      \         P                  ! RR.R7      \         P                  ! RRR.R7      \         P                  ! RRR	7      \         P                  ! R
R.R7      \         P                  ! RRR.R7      \         P                  ! RRR	7      .Vn        \        P                  ! \
        4      ;_uu_ 4       pVP                  R R
4       RRR4       V P                  XRR.4       R#   + '       g   i     L&; i)r  r  r  r  r  r   d >=1,<2rF  r-  r!  r?  r  r"  d >=2,<3N)r  r  r#  )r?  r%  r&  r  s   && r   test_unsat_chainSolverTests.test_unsat_chain  s     NNcU3NNj\:NNUZLINNU3NNj\:NNUZLINNU3
 ]]-..(KKS! /!!1,	
 /.s   DD	c                	   \         P                  ! R RR.R7      \         P                  ! R RR.R7      \         P                  ! RRR.R7      \         P                  ! RRR.R7      \         P                  ! RRR.R7      \         P                  ! RRR.R7      \         P                  ! R	RR
7      \         P                  ! R	RR
7      \         P                  ! R	RR
7      .	Vn        VP                  R RRR7      p\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   Q h\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   Q hVP                  R RRR7      p\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   Q h\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   Q hVP                  RRRR7      p\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   Q h\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   Q h\
        P                  ! \        4      ;_uu_ 4       pVP                  R RR4       RRR4       V P                  X. RO4       R#   + '       g   i     L&; i)r  r   rK  rF  r"  rL  r  zd >=3,<4r  r-  r!  z3.0Tr   c              3  l   "   T F*  qP                   R 8H  ;'       d    VP                  R8H  x  K,  	  R# 5ir  r   Nr!  r   ks   & r   r   ;SolverTests.test_unsat_any_two_not_three.<locals>.<genexpr>!  *     KA66S=77QYY%%77   44Fc              3  l   "   T F*  qP                   R 8H  ;'       d    VP                  R8H  x  K,  	  R# 5ir  r   Nr!  rR  s   & r   r   rT  "  rU  rV  c              3  l   "   T F*  qP                   R 8H  ;'       d    VP                  R8H  x  K,  	  R# 5ir  r"  Nr!  rR  s   & r   r   rT  %  rU  rV  c              3  l   "   T F*  qP                   R 8H  ;'       d    VP                  R8H  x  K,  	  R# 5i)r  r   Nr!  rR  s   & r   r   rT  &  rU  rV  c              3  l   "   T F*  qP                   R 8H  ;'       d    VP                  R8H  x  K,  	  R# 5ir  r"  Nr!  rR  s   & r   r   rT  )  rU  rV  c              3  l   "   T F*  qP                   R 8H  ;'       d    VP                  R8H  x  K,  	  R# 5i)r  r"  Nr!  rR  s   & r   r   rT  *  rU  rV  N))r  zd[version='>=1,<2|>=2,<3'])r  zd[version='>=1,<2|>=3,<4'])r  zd[version='>=2,<3|>=3,<4'])	r   r#   r9   rV   anyr   r  r
   r   )r:   r   	installedr   s   &&  r   test_unsat_any_two_not_three(SolverTests.test_unsat_any_two_not_three  s    NNUZLINNUZLINNUZLINNUZLINNUZLINNUZLINNU3NNU3NNU3

 KKS4K8	sKKsssKKKKKKsKKsssKKKKKKKKS4K8	sKKsssKKKKKKsKKsssKKKKKKKKS4K8	sKKsssKKKKKKsKKsssKKKKKK]]-..(KKS#& /!!	
 /.s   )KK+	c           	     	   \         P                  ! R RR.R7      \         P                  ! RR.R7      \         P                  ! RR.R7      \         P                  ! RRR7      \         P                  ! RR	R7      .Vn        \        P                  ! \
        4      ;_uu_ 4       pVP                  R 4       R
R
R
4       V P                  XRR.4       R
#   + '       g   i     L&; i)r  r  r  r  rK  rL  r-  r   r!  r"  N)r  zd[version='>=1,<2'])r  zd[version='>=2,<3']r&  r  s   && r   test_unsat_expand_single$SolverTests.test_unsat_expand_single7  s    NNc3Z8NNj\:NNj\:NNU3NNU3
 ]]-..(KK /!!,,	
 /.s   !CC!	c                	l   \         P                  ! R RR.R7      \         P                  ! RR.R7      \         P                  ! RRR7      .Vn        \        P                  ! \
        4      ;_uu_ 4       pVP                  R R4       RRR4       V P                  XRR	.4       R#   + '       g   i     L&; i)
r  r  r  r  r  r   r!  N)r  r  )r  r&  r  s   && r   test_unsat_missing_dep"SolverTests.test_unsat_missing_depI  s    NNc3Z8NNj\:NNU3

 ]]-..(KKS! /!!	
 /.s   2B##B3	c                	\   \         P                  ! \        \        34      ;_uu_ 4        VP	                  R 4       RRR4       \         P                  ! \        \        34      ;_uu_ 4        VP	                  R4       RRR4       R#   + '       g   i     LT; i  + '       g   i     R# ; i)notarealpackage 2.0*Nz	numpy 1.5)r   r  r	   r   rV   r   s   &&r   test_nonexistentSolverTests.test_nonexistentY  sj    ]]24IJKKKK./ L]]24IJKKKK$ LK LKKKKs   B+BB	B+	c                   V ^8  d   QhRR/# )r   r   r-   r   )r   s   "r   r   r   _  s     26 26,= 26r   c           
     	   \        ^4      \        P                  ! RRR^R.R7      \        P                  ! RRR^ R.R7      .,           Vn        VP	                  RR4      pRV9   g   Q hR	V9   g   Q hVP	                  RR4      pR
V9   g   Q hRV9   g   Q hVP                  ! R.VP	                  RRR7       Uu. uF!  pVP                  4       P                  4       NK#  	  upO5!  V8X  g   Q hVP                  ! R.VP	                  RRR7       Uu. uF!  pVP                  4       P                  4       NK#  	  upO5!  V8X  g   Q hVP	                  R4      V8X  g   Q hR# u upi u upi )r   	mypackager   hash12_0zlibpng 1.2.*)r    r!   r"   r   r   hash15_0zlibpng 1.5.*ztest::libpng-1.2.50-0ztest::mypackage-1.0-hash12_0ztest::libpng-1.5.13-1ztest::mypackage-1.0-hash15_0Tr   N)r   r   r#   r9   rV   to_match_specconda_build_form)r:   r   
records_12
records_15r#   s   &&   r   test_timestamps_and_deps$SolverTests.test_timestamps_and_deps_  s   *1-NN  '( NN  '(1
 
" [[=
&*444-;;;[[=
&*444-;;;
 KK #&++nt+"L"L ((*;;="L 		
 KK #&++nt+"L"L ((*;;="L 		
 {{;':555's   9'E 
'E%
c           
     	   \        ^4      \        P                  ! RR. ROR7      \        P                  ! RRRR.R7      \        P                  ! RRRR.R7      \        P                  ! RR	RR.R7      .,           Vn        VP	                  R4      0 Rm8X  g   Q hVP	                  R
4      0 Rm8X  g   Q hVP	                  R4      0 Rm8X  g   Q h\
        P                  ! ^4       \        ^4      \        P                  ! RRRR.R7      \        P                  ! RR. ROR7      \        P                  ! RRRR.R7      \        P                  ! RR	RR.R7      .,           Vn        VP	                  R4      0 Rm8X  g   Q h\        P                  ! \        \        34      ;_uu_ 4        VP	                  R4       RRR4       VP	                  R
4      0 Rm8X  g   Q hVP	                  R4      0 Rm8X  g   Q hR#   + '       g   i     LF; i)r   ro  r   r  python 3.3*rF  z1.1anotherpackagezmypackage 1.1r"  zanotherpackage 1.0zmypackage 1.0N)r  ry  rj  >   r   r   r   test::python-3.3.2-0r   test::mypackage-1.1-0r   r   test::pip-1.3.1-py33_1test::nose-1.3.0-py33_0test::distribute-0.6.36-py33_1>   r   r   r   r{  r   r|  r   r   r}  r~  test::anotherpackage-1.0-0r  >   r   r   r   r{  r   r|  r   r   r}  r~  test::anotherpackage-2.0-0r  >   r   r   r   r{  r   test::mypackage-1.0-0r   r   r}  r~  r  >   r   r   r   r{  r   r  r   r   r}  r~  r  r  >   r   r   r   r{  r   r  r   r   r}  r~  r  r  )r   r   r#   r9   rV   timesleepr   r  r	   r
   r   s   &&r   test_nonexistent_deps!SolverTests.test_nonexistent_deps  s   *1-NN G
 NN /
 NN%1
 NN%-!1
 
. {{;' ,
 
 	
 
 {{/0 5
 
 	
 
 {{+, 1
 
 	
 
  	

1 +1-NN /
 NN G
 NN%1
 NN%-!1
 
. {{;' ,
 
 	
 
 ]]24FGHHKK( I{{/0 5
 
 	
 
" {{+, 1
 
 	
 
' IHs   %G55H	c           	     	    \        ^4      \        P                  ! RRR.RR7      \        P                  ! RRR.RR7      .,           Vn        VP	                  RR4       R# )	r   ro  r   ry  feature)r    r!   r   rb   )r    r!   r   rc   zfeature 1.0Nr   r   r#   r9   rV   r   s   &&r   !test_install_package_with_feature-SolverTests.test_install_package_with_feature!  s_    *1-NN &"	 NN&(	1
 
 	K/r   c                	&  a \        R 4      o\        V3R l\        ^4       4       4      p\        ;QJ d    . R VP                   4       F  NK  	  5M! R VP                   4       4      p\
        P                  ! VRVP                  P                  RR4      ^ VVP                  P                  RR4      VP                  P                  RR4      R7      p\        ^4      V.,           Vn        VP                  R4      pRV9  g   Q hR	V9   g   Q hR
# )z#channel-1::scipy==0.11.0=np17py33_3c              3  Z   <"   T F   pSP                  V4      '       g   K  Vx  K"  	  R # 5ir   )match)r   precgood_rec_matchs   & r   r   CSolverTests.test_unintentional_feature_downgrade.<locals>.<genexpr>9  s$      
.T.2F2Ft2LDD.s   +
+c              3  V   "   T F  qP                  R 4      '       d   K  Vx  K!  	  R# 5i)r   N)
startswith)r   r-  s   & r   r   r  <  s     R$4qLL<Q$4s   )
)r[   _3_x0)r   r"   r   r   r~   urlzscipy 0.11.0ztest::scipy-0.11.0-np17py33_x0ztest::scipy-0.11.0-np17py33_3N)r   nextr   r   r   r   from_objectsr"   replacer~   r  r9   rV   )r:   r   good_recr  bad_recr   r  s   &&    @r   $test_unintentional_feature_downgrade0SolverTests.test_unintentional_feature_downgrade3  s    
 ##HI 
+A.
 
 5RH$4$4R55RH$4$4RR,,..((u5{{""4/$$T51
 +1-	9++n-/w>>>.'999r   c                	   \        ^4      \        P                  ! RR.R7      \        P                  ! RR.R7      .,           Vn        VP	                  RR4      VP	                  R4      u;8X  d   VP	                  R4      8X  g    Q h Q hR# )r   package1package2r  Nr  r   s   &&r   test_circular_dependencies&SolverTests.test_circular_dependenciesL  s    *1-NN# NN#	1
 	
 KK
J/{{:&'{{:&'	
'	
'r   c                	\    \        ^4      Vn        VP                  RR4      0 Rm8X  g   Q hR# )r   z
pytz 2012dr  N>
   r   r   r   r{  r   r   r   r}  test::pytz-2012d-py33_0r  r   r   s   &&r   test_irrational_version#SolverTests.test_irrational_version]  s1    *1-{{<5 :
 
 	
 
r   c                	   \        ^4      Vn        VP                  RRR4      0 Rm8X  g   Q hVP                  RRR\        RR7      4      0 Rm8X  g   Q hV;P                  \        P
                  ! RRR. ROR
7      \        P
                  ! RRR^ RR.RR7      .,          un        VP                  RR	4      0 Rm8X  g   Q hVP                  RR	\        RR7      4      0 Rm8X  g   Q hR# )r   zpython 2.6*r  zscipy 0.11*r   r   pandasz0.12.0
np16py27_0r   )r    r!   r"   r   r   z1.6.2py27_p5zmkl-rt 11.0z
python 2.7)r    r!   r"   r   r   rb   zpandas 0.12.0 np16py27_0N>   r   r   r   test::python-2.6.8-6r   r   r   test::pip-1.3.1-py26_1test::numpy-1.6.2-py26_4test::scipy-0.11.0-np16py26_3test::distribute-0.6.36-py26_1>   r   r   r   r   r  r   r   r   r  test::numpy-1.6.2-py26_p4r  test::scipy-0.11.0-np16py26_p3)dateutilr  r   pytz>   r   r   r   r   r   r   r   r   test::six-1.3.0-py27_0test::pytz-2013b-py27_0test::numpy-1.6.2-py27_4test::dateutil-2.1-py27_1r   test::pandas-0.12.0-np16py27_0>   r   r   r   r   r   r   r   r   r   r  r  r  test::numpy-1.6.2-py27_p4r   r  )r   r9   rV   r   r   r#   r   s   &&r   test_no_featuresSolverTests.test_no_featuresl  s   *1-{{=,F K
 
 	
 
 {{<	QV8W


 	
 
" 	NN "	
 NN!  

 	
0 {{5}E J
 
 	
 
  {{&yPU7V


 	
 
r   z7CONDA_CHANNEL_PRIORITY does not seem to have any effect)r   c                	:   / Vn         . VP                   R &   \        ^4      VP                   R&   V P                  RRRRR7      pVP                   R ,          P                  V4       VP	                  RR4       RVP                  RR	R
4      9   g   Q hVP	                  RR4       RVP                  RR	R
4      9   g   Q h\        \        VP                   P                  4       4      4      Vn         VP	                  RR4       RVP                  RR	R
4      9   g   Q hR# )z	channel-A	channel-1r  z0.10.1
np17py27_0r   CONDA_CHANNEL_PRIORITYTruez#channel-A::pandas-0.11.0-np16py27_0r   r  Falsez#channel-1::pandas-0.11.0-np16py27_1N)	r9   r   r   rG   setenvrV   r]   reversedrD   )r:   monkeypatchr   pandas_0s   &&& r   test_channel_priority_1#SolverTests.test_channel_priority_1  s3   
 )++&)7):+&$$	 % 
 	+&--h7 	3V<4m\9
 
 	
 
 	3W=4m\9
 
 	
 
 !#*;*;*A*A*C!DE3V<4m\9
 
 	
 
r   c                	   / Vn         \        P                  ! R RR.R7      \        P                  ! RRR.R7      \        P                  ! RRR7      .VP                   R&   \        P                  ! R RR.R7      \        P                  ! RRR.R7      \        P                  ! RRR7      \        P                  ! RRR7      .VP                   R	&   VP                  R
R4       VP	                  R RRR7      p\
        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   Q h\
        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   Q hVP                  R
R4       VP	                  R RRR7      p\
        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   Q h\
        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   Q hVP                  R
R4       \        P                  ! \        4      ;_uu_ 4       pVP	                  R R4       RRR4       V P                  XR.4       R#   + '       g   i     L%; i)r  r   r  rF  r  r  r!  r  r"  z	channel-2r  r  Tr   c              3  l   "   T F*  qP                   R 8H  ;'       d    VP                  R8H  x  K,  	  R# 5irQ  r!  rR  s   & r   r   :SolverTests.test_unsat_channel_priority.<locals>.<genexpr>  *     IA66S=77QYY%%77rV  Fc              3  l   "   T F*  qP                   R 8H  ;'       d    VP                  R8H  x  K,  	  R# 5irX  r!  rR  s   & r   r   r    r  rV  r  c              3  l   "   T F*  qP                   R 8H  ;'       d    VP                  R8H  x  K,  	  R# 5irZ  r!  rR  s   & r   r   r  #  r  rV  c              3  l   "   T F*  qP                   R 8H  ;'       d    VP                  R8H  x  K,  	  R# 5ir]  r!  rR  s   & r   r   r  $  r  rV  Nr$  )
r9   r   r#   r  rV   r_  r   r  r
   r   )r:   r  r   r   r   s   &&&  r   test_unsat_channel_priority'SolverTests.test_unsat_channel_priority  s   
  NN
 NN#
 NN*
+&$ NN
 NN#
 NN NN*
+&* 	3V<++c3+6sIIsssIIIIIIsIIsssIIIIII3W=++c3+6sIIsssIIIIIIsIIsssIIIIII3V<]]-..(KKS! /!!(-I,JK /.s   ?I//I?	zWThere is some weird global state making this test fail when the whole test suite is runc                	    \        ^4      Vn        VP                  RRRR7      p\        V4      0 Rm8X  g   Q hW!n        VP                  R4      0 Rm8X  g   Q hVP                  R4      0 R	m8X  g   Q hR# )
r   r  r   Tr   r   N>   r   r   r   r   r   r   r   r   r  r  r   r  r  r   test::pandas-0.11.0-np17py27_1>   r   r   r   r   r   r   r   r   r  r  r   r  r  r   >   r   r   r   r   r   r   r   r   r  r  r  r   )r   r9   rV   r(   r8   rI   r  s   && r   test_removeSolverTests.test_remove+  s    
 +1-++h+E!'* /
 
 	
 
$ ")zz(# (
 
 	
 
  zz'" '
 
 	
 
r   c                	.   V;P                   \        P                  ! R R R7      \        P                  ! RR R7      \        P                  ! RRR R.R7      \        P                  ! RRR R7      .,          un         VP                  RR 4      R	R
08X  g   Q hR# )r  r    rc   r  r    rb   r  r   )r    r!   rb   r   r"  )r    r!   rb   ztest::package2-2.0-0test::feature-1.0-0Nr9   r   r#   rV   r   s   &&r   test_surplus_features_1#SolverTests.test_surplus_features_1d  s    NN( NN" NN"#	 NN"
 	
* {{:y1"!6
 
 	
 
r   c                	2   V;P                   \        P                  ! R R R7      \        P                  ! RR R7      \        P                  ! RR^ R R.R7      \        P                  ! RR^R R7      .,          un         VP                  RR 4      RR	08X  g   Q hR
# )r  r  r  r  r  r   )r    r!   r   rb   r   )r    r!   r   rb   ztest::package2-1.0-0r  Nr  r   s   &&r   test_surplus_features_2#SolverTests.test_surplus_features_2  s    NN( NN" NN"# NN"	!
 	
. {{:y1"!6
 
 	
 
r   c           	     	.   V;P                   \        P                  ! R RRR.R7      \        P                  ! R RR.R7      \        P                  ! RR.R7      \        P                  ! RR7      .,          un         VP                  R 4      0 R
m8X  g   Q hR	# )r  r   r  zc==2rF  r"  r  r  r*   N>   test::a-2.0-0test::b-1.0-0test::c-1.0-0r  r   s   &&r   >test_get_reduced_index_broadening_with_unsatisfiable_early_depJSolverTests.test_get_reduced_index_broadening_with_unsatisfiable_early_dep  s    
 	NN
 f NN
 NN NN'
 	
. {{3 $
 
 	
 
r   c                	>   V;P                   \        P                  ! R RRR.R7      \        P                  ! R RR.R7      \        P                  ! RR.R7      \        P                  ! RRR	7      \        P                  ! RR
R	7      .,          un         VP                  R RR7       Fs  pVP                  R 8X  d(   VP
                  R8X  g   Q RVP
                   24       hK;  VP                  R8X  g   KN  VP
                  R
8X  d   Ka  Q RVP
                   24       h	  R# )topr   middlezbottom==1.5rF  r"  bottomr  z1.5r!  z2.5Tr   z"top version should be 2.0, but is z%bottom version should be 2.5, but is N)r9   r   r#   rV   r    r!   )r:   r   r#   s   && r   4test_get_reduced_index_broadening_preferred_solution@SolverTests.test_get_reduced_index_broadening_preferred_solution  s    	NN "=1 NN!

 NN!
 NN NN-
 	
6 kk%$k7F{{e#~~. 88HI. (~~. ;FNN;KL. 8r   c                	,   V;P                   \        P                  ! R RR7      \        P                  ! R R7      .,          un         VP                  R RR7      p\	        V4      ^8X  g   Q hV^ ,          P
                  \        P
                  8X  g   Q hR# )r  noarch)r    r   r*   Tr   N)r9   r   r#   rV   r  r   r   r  s   && r   4test_arch_preferred_over_noarch_when_otherwise_equal@SolverTests.test_arch_preferred_over_noarch_when_otherwise_equal  s}    NN NN
 	
 ++j4+87|q   qz  GNN222r   c                	   V;P                   \        P                  ! R RRR7      \        P                  ! R RR7      .,          un         VP                  R RR7      p\	        V4      ^8X  g   Q hV^ ,          P
                  R8X  g   Q hR# )	r  r"  r  r    r!   r   r   r!  Tr   Nr9   r   r#   rV   r  r   r  s   && r   4test_noarch_preferred_over_arch_when_version_greater@SolverTests.test_noarch_preferred_over_arch_when_version_greater  s    NN
 NN

 
	
 ++j4+87|q   qz  H,,,r   c           	     	8   V;P                   \        P                  ! R RR7      \        P                  ! R RRR7      \        P                  ! RR .R7      .,          un         VP                  RRR	7      pV P	                  VR R
7      pVP
                  R8X  g   Q hR# )r  r   r!  r"  r  r  r  r  Tr   r*   Nr9   r   r#   rV   r   r   r:   r   r   r  s   &&  r   8test_noarch_preferred_over_arch_when_version_greater_depDSolverTests.test_noarch_preferred_over_arch_when_version_greater_dep  s    NN NN
 NN#
 	
 ++j4+8,,W:,F(***r   c           	     	   V;P                   \        P                  ! R ^ R7      \        P                  ! R ^RR7      .,          un         VP                  R RR7      p\	        V4      ^8X  g   Q hV^ ,          P
                  R8X  g   Q hR# )r  r    r   r  r    r   r   Tr   Nr  r  s   && r   2test_noarch_preferred_over_arch_when_build_greater>SolverTests.test_noarch_preferred_over_arch_when_build_greater  s    NN NN

 
	
 ++j4+87|q   qz  H,,,r   c           	     	8   V;P                   \        P                  ! R ^ R7      \        P                  ! R ^RR7      \        P                  ! RR .R7      .,          un         VP                  RRR7      pV P	                  VR R7      pVP
                  R8X  g   Q hR	# )
r  r  r  r  r  r  Tr   r*   Nr  r  s   &&  r   6test_noarch_preferred_over_arch_when_build_greater_depBSolverTests.test_noarch_preferred_over_arch_when_build_greater_dep(  s    NN NN
 NN#
 	
 ++j4+8,,W:,F(***r   )r   N)9r   r   r   r   r   r   r<   r   r   fixturer   r   r   r   r   r   r   r   r   r   r   r  r  r  r'  r*  r7  r;  r@  rH  rM  ra  rd  rg  rk  rv  r  r  r  r  r  r  markxfailr  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   r   r      s   H" "   ^^D!$ "$
 ^^ 
	=&
"
(

O":!
FB
"4
4
4
6
,
,#
J
$
 %26hL
\0$:2
"
[
z [[WX!
 Y!
F [[WX;L Y;Lz [[:  3
	3
j
6
: 
D&P3- +(- +r   r   )&r   
__future__r   r|   	functoolsr1   r  tempfiler   r   base.contextr   common.serializer   
core.solver   
exceptionsr   r	   r
   models.channelr   models.match_specr   models.recordsr    r   cacher   r$   r(   r+   r-   r   r  r   r   r   r   r   <module>r     s    & "     '  " #  
 % ) *     S;
8
y yx9 !' 6 6
@+ @+r   