Nils Adermann
67fde90666
Correctly sort operations within transactions using DFS
...
Fixes #655
2012-06-05 01:06:35 +02:00
Nils Adermann
a7f1605cdf
Add test for correct sorting when force installing deps
2012-06-04 23:30:55 +02:00
Nils Adermann
26e051cb76
Decisions are now encapsulated in a separate object
2012-06-04 23:19:32 +02:00
Nils Adermann
0c1944a9d0
Let the solver handle aliases instead of the installer
2012-05-09 15:15:39 +02:00
Nils Adermann
c37e126e14
Installed packages are now always removed unless otherwise requested
...
This means that an update request must always be accompanied by an install
request, otherwise the package might be removed rather than updated.
2012-05-08 19:25:58 +02:00
Jordi Boggiano
f7440076fa
Revert "Merge remote-tracking branch 'naderman/remove-packages-by-default'"
...
This reverts commit 2988152602
, reversing
changes made to adb4188e12
.
2012-04-29 22:21:58 +02:00
Nils Adermann
2cb2cde096
Installed packages are now always removed unless otherwise requested
...
This means that an update request must always be accompanied by an install
request, otherwise the package might be removed rather than updated.
2012-04-27 18:13:37 +02:00
Nils Adermann
a16aa68c1d
Rule literals are sorted, so first literal added is not first retrieved
...
Fixes #477
2012-04-01 22:26:44 +02:00
Nils Adermann
2c87fe5a22
Collect solver problems in Problem objects with human readable output.
2012-03-18 20:41:10 +01:00
Martin Hasoň
2b08df5192
Changed repository priority in the pool
2012-03-06 11:17:23 +01:00
Nils Adermann
f3ff53b17c
Create problems directly, rather than generating impossible rules
2012-02-20 12:58:27 +01:00
Nils Adermann
dd443cd570
Complete circular dependency with alternatives through virtual packages test
2012-02-19 20:08:15 +01:00
Nils Adermann
3e1749fbad
Readd update-all jobs and make them available through the request
2012-02-19 16:59:04 +01:00
Nils Adermann
9b8e62396c
Merge pull request #324 from edorian/installNonExistingPackage
...
Create an 'impossible rule' when installing non existent packages
2012-02-19 07:05:21 -08:00
Nils Adermann
3b06a22e69
Add getVersionConstraint test case to avoid version normalization issues
2012-02-19 15:58:19 +01:00
Volker Dusch
f304a0f129
Clean up the incomplete marker like suggested in https://github.com/composer/composer/pull/324#r465391
2012-02-19 15:38:03 +01:00
Nils Adermann
1ee5d99405
When changing watched literals of a rule, update the parent's next pointer
...
The previous rule was not previously updated to point to the next rule when
removing a middle rule from the watch tree for a literal. This resulted in
jumping from one literal's watch tree to another's, which could then jump
back to the original and cause infinite loop in a case like #265 .
Fixes #265
2012-02-19 15:35:13 +01:00
Volker Dusch
e20a79ac61
Fix TODO tags to confirm with the projects standard
2012-02-19 15:30:53 +01:00
Volker Dusch
eafe13d5a5
Create an impossible rule when trying to install something that doesn't exist.
...
The rule isn't acted upon yet (hence the incomplete test) but it is there as a reminder that this case needs to be handled.
2012-02-19 14:55:14 +01:00
Nils Adermann
e6143d1584
Add todos to explain why try/catch is inside the test
2012-02-19 00:21:39 +01:00
Nils Adermann
52d876e11e
Add SolverProblemsException and test basic solver failures
2012-02-19 00:15:23 +01:00
Volker Dusch
a8b2db64d5
Expaned the update tests to make sure a) Only requested updates execute and b) Installed repos with no actions get pruned from the jobqueue
2012-02-18 16:55:45 +01:00
Nils Adermann
460822fb96
Fix indentation of doc comment
2012-02-18 12:37:45 +01:00
Nils Adermann
3b54316e91
Add a test for the off by one error in solver conflict resolution
2012-02-18 12:33:55 +01:00
Jordi Boggiano
098ba8e583
Add test
2012-01-15 14:15:53 +01:00
Jordi Boggiano
8cfbf9e198
Fix update, fixes #125
2011-12-24 14:15:10 +01:00
Nils Adermann
a0faa4f69f
Add a test for the complex conflict resolution fixed in #118
2011-11-25 23:35:58 +01:00
Jordi Boggiano
8e6f8ae57e
Add prettyVersion to packages, fixes #76
2011-11-20 15:06:12 +01:00
Nils Adermann
0801d8ed31
Enable solver test regarding replaced packages after policy fix
2011-10-22 17:23:23 +02:00
Nils Adermann
571c14adf9
Prefer original packages over replaced packages of same repository priority
2011-10-22 17:20:45 +02:00
Nils Adermann
1b6f57e651
Correctly implement priorities and version numbers in the default policy
2011-10-22 16:44:10 +02:00
Jordi Boggiano
40cc5fea1d
Add a few solver tests regarding "replace"
2011-10-15 20:04:29 +02:00
Nils Adermann
30f6c05069
Add test for choices in circular requirements and delete packagist based test
2011-09-25 23:50:54 +02:00
Nils Adermann
85f88de59d
Add a solver test for provided virtual packages and circular dependencies
2011-09-25 23:46:24 +02:00
everzet
123f5fef77
Refactored Operations in order to fulfill naderman requests
2011-09-25 14:40:12 +03:00
Jordi Boggiano
6d667a849e
Remove broken functional test
2011-09-24 17:00:18 +02:00
everzet
0a1e7320b0
Refactored solver result array. Now it returns array of operation objects which are much nicer to work with
2011-09-24 02:29:22 +03:00
Nils Adermann
b1d16a88b7
Test a replace link with a null constraint between packages
2011-08-21 07:08:34 -04:00
Nils Adermann
69ebbf0eac
Correct handling of rules with more than 2 literals.
2011-08-21 06:30:06 -04:00
Nils Adermann
ac61c3973b
Add a test for two equivalent installable packages and fix the functional test
2011-08-20 23:05:11 -04:00
Nils Adermann
0f6fb9b692
Separate transaction generation from solving and properly identify updates
2011-08-20 18:38:31 -04:00
Nils Adermann
f46aa495da
Turn obsolete relationships and replaced packages into conflict rules
2011-08-20 18:19:47 -04:00
Nils Adermann
ad25618bdd
Add install job and update rule conflict handling and reenable installation
2011-08-19 06:15:51 -04:00
Nils Adermann
1125de6bf2
Added disablePolicyRules to solve conflicts between remove jobs & update rules
...
This temporarily breaks installation of packages
2011-08-19 06:06:00 -04:00
Nils Adermann
01945c20f9
Simplify testSolverWithComposerRepo reusing utility methods from other tests
2011-08-05 04:17:07 -04:00
Nils Adermann
172c8b908e
Split the large solver test up into individual units testing smaller parts
2011-08-05 04:14:11 -04:00
Jordi Boggiano
b277b8e73c
Add failing test with composer repo
2011-07-21 13:42:47 +02:00
Nils Adermann
825deff09f
Completed analysis of unsolvable situations and main decision process
2011-07-08 07:11:04 -04:00
Nils Adermann
498125adbe
Assertions are now properly decided before running the main solver.
...
Updating does not work yet. The test case works fine for installing/removing
the correct packages however. Weak (update/feature) rules are entirely ignored
so far.
Watches are on literal ids rather than literals to save on function calls
and memory usage. So a few methods for literals now have an id counter part.
This should probably be refactored to have the literal versions call the
id ones instead.
2011-06-07 22:43:26 +02:00
Jordi Boggiano
d181e32000
Fixed test expectation
2011-05-23 02:23:21 +02:00