4 TESTDIR
=$(readlink -f $(dirname $0)) 
   7 configarchitecture 
'amd64' 'i386' 
   9 insertinstalledpackage 
'cool' 'all' '1' 
  10 insertinstalledpackage 
'stuff' 'all' '1' 
  11 insertinstalledpackage 
'somestuff' 'all' '1' 'Depends: cool, stuff' 
  13 insertpackage 
'unstable' 'cool' 'all' '2' 'Multi-Arch: foreign' 
  14 insertpackage 
'unstable' 'stuff' 'all' '2' 'Multi-Arch: foreign' 
  15 insertpackage 
'unstable' 'coolstuff' 'i386,amd64' '2' 'Depends: cool, stuff' 
  16 insertpackage 
'unstable' 'awesome' 'all' '2' 'Multi-Arch: foreign 
  18 insertpackage 
'unstable' 'badstuff' 'all' '2' 'Multi-Arch: foreign 
  20 insertpackage 
'unstable' 'awesomecoolstuff' 'i386' '2' 'Depends: coolstuff, awesome' 
  22 insertpackage 
'experimental' 'cool' 'all' '3' 'Multi-Arch: foreign' 
  23 insertpackage 
'experimental' 'stuff' 'all' '3' 'Multi-Arch: foreign' 
  24 insertpackage 
'experimental' 'coolstuff' 'i386,amd64' '3' 'Depends: cool, stuff' 
  28 testfailure aptget 
install --solver dump coolstuff 
-s 
  29 testsuccess 
grep ERR_NO_FILENAME rootdir
/tmp
/testfailure.output
 
  30 export APT_EDSP_DUMP_FILENAME
="/nonexistent/apt/edsp.dump" 
  31 testfailure aptget 
install --solver dump coolstuff 
-s 
  32 testsuccess 
grep ERR_WRITE_ERROR rootdir
/tmp
/testfailure.output
 
  33 export APT_EDSP_DUMP_FILENAME
="${TMPWORKINGDIRECTORY}/downloaded/dump.edsp" 
  35 testfailureequal 
'Reading package lists... 
  36 Building dependency tree... 
  37 Execute external solver... 
  38 The solver encountered an error of type: ERR_JUST_DUMPING 
  39 The following information might help you to understand what is wrong: 
  40 I am too dumb, i can just dump! 
  41 Please use one of my friends instead! 
  43 E: External solver failed with: I am too dumb, i can just dump!' aptget 
install --solver dump coolstuff 
-s 
  44 testsuccess 
test -s "$APT_EDSP_DUMP_FILENAME" 
  45 rm -f "$APT_EDSP_DUMP_FILENAME" 
  47 testsuccessequal 
'Reading package lists... 
  48 Building dependency tree... 
  49 Execute external solver... 
  50 The following NEW packages will be installed: 
  52 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. 
  53 Inst coolstuff (2 unstable [amd64]) 
  54 Conf coolstuff (2 unstable [amd64])' aptget 
install --solver apt coolstuff 
-s 
  56 testsuccessequal 
'Reading package lists... 
  57 Building dependency tree... 
  58 Execute external solver... 
  59 The following NEW packages will be installed: 
  61 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. 
  62 Inst coolstuff (3 experimental [amd64]) 
  63 Conf coolstuff (3 experimental [amd64])' aptget 
install --solver apt coolstuff 
-s -t experimental
 
  65 testsuccessequal 
'Reading package lists... 
  66 Building dependency tree... 
  67 Execute external solver... 
  68 The following packages will be REMOVED: 
  70 0 upgraded, 0 newly installed, 1 to remove and 2 not upgraded. 
  71 Remv somestuff [1]' aptget autoremove 
--solver apt somestuff 
-s 
  72 testsuccess aptmark auto cool stuff
 
  73 testsuccessequal 
'Reading package lists... 
  74 Building dependency tree... 
  75 Reading state information... 
  76 Execute external solver... 
  77 The following packages will be REMOVED: 
  79 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 
  82 Remv stuff [1]' aptget autoremove 
--solver apt somestuff 
-s 
  84 testsuccessequal 
"Reading package lists... 
  85 Building dependency tree... 
  86 Reading state information... 
  87 Execute external solver... 
  88 The following package was automatically installed and is no longer required: 
  90 Use 'apt-get autoremove' to remove it. 
  91 The following packages will be REMOVED: 
  93 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 
  95 Purg cool [1]" aptget purge 
--solver apt cool 
-s 
  97 testsuccess aptget 
install awesomecoolstuff
:i386 
-s 
  98 testsuccess aptget 
install --solver apt awesomecoolstuff
:i386 
-s 
 100 rm -f "$APT_EDSP_DUMP_FILENAME" 
 101 testfailure aptget 
install --solver dump awesomecoolstuff
:i386 
-s 
 102 testsuccess 
test -s "$APT_EDSP_DUMP_FILENAME" 
 103 testequal 
'Install: awesomecoolstuff:i386' grep :i386 
"$APT_EDSP_DUMP_FILENAME" 
 104 testempty 
grep -e ':amd64' -e 'Architecture: any' "$APT_EDSP_DUMP_FILENAME" 
 106 testsuccess aptget dist
-upgrade -s 
 107 testsuccess aptget dist
-upgrade -s --solver apt
 
 109 testsuccess aptget upgrade 
-s 
 110 testsuccess aptget upgrade 
-s --solver apt
 
 112 testfailure aptget 
install awesome badstuff 
-s 
 113 testfailure aptget 
install awesome badstuff 
-s --solver apt
 
 114 testsuccess 
grep 'ERR_UNSOLVABLE' rootdir
/tmp
/testfailure.output
 
 116 configarchitecture 
'armel' 
 117 testfailure aptget 
install --solver apt awesomecoolstuff
:i386 
-s 
 118 msgtest 
'An invalid EDSP file generates a' 'hard error' 
 119 if echo "Request: This is a test\nFoo: bar\n\n" | aptinternalsolver 
-q=0 > solver.result 
2>&1; then 
 125 msgtest 
'Test direct calling is okay for' 'apt-internal-solver' 
 126 cat "$APT_EDSP_DUMP_FILENAME" | aptinternalsolver 
-q=0 > solver.result 
2>&1 || true
 
 127 if [ "$(tail -n2 solver.result | head -n1 )" = "Message: Done" ]; then 
 133 rm -f "$APT_EDSP_DUMP_FILENAME" 
 135 testsuccess aptinternalsolver scenario
 
 136 testsuccessequal 
'Package: stuff 
 147 ' aptinternalsolver scenario stuff