Follow up to #7946 test: add solver flag to assert path execution
parent
c66bb0b1d0
commit
29ff6a40ae
|
@ -57,6 +57,9 @@ class Solver
|
|||
/** @var array */
|
||||
protected $learnedWhy = array();
|
||||
|
||||
/** @var bool */
|
||||
public $testFlagLearnedPositiveLiteral = false;
|
||||
|
||||
/** @var IOInterface */
|
||||
protected $io;
|
||||
|
||||
|
@ -470,6 +473,9 @@ class Solver
|
|||
unset($seen[abs($literal)]);
|
||||
|
||||
if ($num && 0 === --$num) {
|
||||
if ($literal < 0) {
|
||||
$this->testFlagLearnedPositiveLiteral = true;
|
||||
}
|
||||
$learnedLiterals[0] = -$literal;
|
||||
|
||||
if (!$l1num) {
|
||||
|
|
|
@ -891,6 +891,9 @@ class SolverTest extends TestCase
|
|||
|
||||
$this->request->install('A');
|
||||
|
||||
// check correct setup for assertion later
|
||||
$this->assertFalse($this->solver->testFlagLearnedPositiveLiteral);
|
||||
|
||||
$this->checkSolverResult(array(
|
||||
array('job' => 'install', 'package' => $packageF1),
|
||||
array('job' => 'install', 'package' => $packageD),
|
||||
|
@ -900,6 +903,10 @@ class SolverTest extends TestCase
|
|||
array('job' => 'install', 'package' => $packageB),
|
||||
array('job' => 'install', 'package' => $packageA),
|
||||
));
|
||||
|
||||
// verify that the code path leading to a negative literal resulting in a positive learned literal is actually
|
||||
// executed
|
||||
$this->assertTrue($this->solver->testFlagLearnedPositiveLiteral);
|
||||
}
|
||||
|
||||
protected function reposComplete()
|
||||
|
|
Loading…
Reference in New Issue