Jordi Boggiano
ab84916422
Fix unclear error when a package can be found in lock but not in the remote repo, fixes #9750
2021-03-09 15:01:23 +01:00
Jordi Boggiano
d91fe67a80
Remove default branch alias from versions which are numeric, fixes #9705
2021-02-17 23:48:03 +01:00
Arnaud Vanwambeke
7402ef33fc
Dont recommend to use with all dependencies option when it is already used
2021-02-03 23:43:35 -05:00
Jordi Boggiano
7f3a56f39b
Merge pull request #9360 from naderman/pool-builder-unlock-consider-all-constraints
...
PoolBuilder: Ensure versions matching locked constraints get loaded
2020-12-03 16:59:39 +01:00
Nils Adermann
db0656eab0
Duplicate partial update unlock but keep old version test with provide keyword
2020-12-01 14:55:05 +01:00
Jordi Boggiano
d00edab884
Merge pull request #9477 from naderman/fix-alias-conflicts
...
Explicit conflicts should conflict with aliases of packages too
2020-11-26 13:59:57 +01:00
Jordi Boggiano
e203809106
Fix test description
2020-11-26 13:59:35 +01:00
Nils Adermann
7197278fe9
Always install aliases together with their original package
...
Restores some Composer 1.x behavior like unbound constraints conflicting
with default branches unless they are branch aliased.
Simplifies conflicts with aliases because packages cannot be installed
without their aliases, so we do not need to know which aliases are
uninstalled in lock file or installed.json.
2020-11-26 12:10:07 +01:00
Jordi Boggiano
e857a8216c
Make sure mirror update fails if no lock file is present
2020-11-26 11:28:17 +01:00
Jordi Boggiano
2d025dce05
Make sure mirror updates do not fail if there are dev requirements and new requires are present, fixes #9514
2020-11-26 11:27:44 +01:00
Nils Adermann
58f358d028
Correct test case descriptions
2020-11-26 11:21:53 +01:00
Nils Adermann
1b337be236
Add expected lock files to conflict with branch alias tests, add install from lock test
2020-11-16 13:27:54 +01:00
Nils Adermann
c02d2842b0
Test conflict with an unrequired alias does not prevent install.
...
The alias still ends up being marked as installed as the install step
reads it from the branch alias in the lock file and doesn't know a
conflict required it to be skipped.
2020-11-13 16:55:35 +01:00
Nils Adermann
045b5c6b6b
Add test case verifying conflicts on alias prevent it from getting installed
2020-11-13 15:47:27 +01:00
Nils Adermann
6b48258432
Add test case for root alias on an unloadable package
2020-11-13 14:40:54 +01:00
Jordi Boggiano
7b183956d8
Make sure the root aliases always get installed when a package is updated, fixes #9448
2020-11-13 13:52:21 +01:00
Jordi Boggiano
b8e40f6060
Fix tests
2020-11-11 11:49:50 +01:00
Jordi Boggiano
ff74d0e686
Fix lock file generation with dev-master aliases to be compatible with Composer 1, fixes #9337
2020-10-27 20:50:26 +01:00
Nils Adermann
7bc2112f2b
InstallerTest: Add a test for partial updates
...
Needs to take constraints of locked packages into account
2020-10-27 17:02:31 +01:00
Jordi Boggiano
447416a357
Fix typo
2020-10-22 16:16:02 +02:00
Nils Adermann
1d6c0865ca
Test: Verify replacing a package required by the same package satisfies the dep
2020-10-22 10:32:04 +02:00
Nils Adermann
290450214e
Test: Verify require for package provided by pkg itself is used
2020-10-22 10:26:28 +02:00
Jordi Boggiano
b74afd772b
Merge pull request #9309 from naderman/fix-solver-9290
...
MultiConflictRule conflict analysis handling on level 1 decisions
2020-10-21 18:40:03 +02:00
Nils Adermann
7b4cb9c370
Solver: Prevent infinite recursion in analyzeUnsolvableRule
...
In complex scenarios reasons for learned rules can themselves be learned
rules caused by other learned rules which had the some of the same
reasons. In this situation iterating over all problem rules requires
keeping track of which rules have previously been analyzed to avoid and
endless loop.
Side effect is that the sorting of problems including learned rules
changes slightly.
2020-10-21 17:11:13 +02:00
Nils Adermann
9641ad6025
SolverProblemException: Hide learnt rules on output
...
Results in too much error output which is not helpful. Very repetitive
and hard to understand. In issue 8903 even leads to endless recursion
bug.
2020-10-21 14:08:12 +02:00
Nils Adermann
853305063d
Add test case for github issue 9290
2020-10-21 13:33:39 +02:00
Jordi Boggiano
99a5469b5e
More hints
2020-10-18 13:13:44 +02:00
Nils Adermann
fdde9e5933
On composer install we fix locked packages, but consider them locked for error reporting
2020-10-14 11:46:13 +02:00
Nils Adermann
74fb313c39
Separate locked packages from fixed packages in request
...
Locked packages are basically like removable fixed packages, so we still
only load one version, but we do not require their installation unless
something the user needs requires their use. So they automatically get
removed if they are no longer needed on any update.
2020-10-14 11:46:13 +02:00
Nils Adermann
73e24ea9fb
Partial updates should remove all unused dependencies
...
Instead of marking locked packages as fixed, we change the pool builder
to load only the locked version and treat it like a fixed package, but
removing the actual request fix, makes the solver treat it as a regular
optional dependency. As a consequence locked packages may be removed on
a partial update of another package, but they cannot be updated.
2020-10-14 11:46:13 +02:00
Nils Adermann
85eb007f4f
Transaction: Define a total order on packages to keep behavior on PHP8
...
So far the ordering of alias packages with the same name was undefined
so the actual order was determined by implementation of the sorting
algorithm in PHP. As of PHP8 sort is stable by default which changes the
outcome in some of our test cases.
With the fully defined total order the order can longer change depending
on sorting algorithm used and remains the same across PHP versions.
2020-10-14 11:13:51 +02:00
Nils Adermann
43093d0eeb
Add tests for edge cases of packages providing names which exist as real packages
2020-08-28 14:50:28 +02:00
Nils Adermann
140665eadd
Add another test verifying that a package may provide an incompatible version of sth that actually exists
2020-08-28 13:40:44 +02:00
Nils Adermann
85950f8e9a
Fix provider coexistence test, needs another requirement to install both
2020-08-28 13:40:44 +02:00
Nils Adermann
cf8ff2a75d
Fix test filename to end with .test extension so it gets run
2020-08-28 13:40:44 +02:00
Jordi Boggiano
6186c7f36f
Fix handling of root aliases in partial updates, fixes #9110
2020-08-25 11:05:28 +02:00
Jordi Boggiano
448daea696
Add support for detecting packages not matching only due to minimum stability
2020-08-23 16:48:07 +02:00
Jordi Boggiano
4d83783641
Fix test to avoid network usage
2020-08-23 16:03:00 +02:00
Oleg Andreyev
e745e59656
updated repositories-priorities4.test
2020-08-22 20:11:15 +03:00
Oleg Andreyev
f262feebec
fixing error message for higher repository priority, when higher repo has only a dev-branch
2020-08-22 20:07:13 +03:00
Jordi Boggiano
212fbc516e
Fix test issues
2020-07-02 08:12:25 +02:00
Nils Adermann
3d2d33dd58
Solver: Add missing rules and replace some with %A for pcre length limit
2020-06-26 22:11:13 +02:00
Nils Adermann
de3931c742
Revert "Remove unnecessary duplicate rule output from expected test result"
...
This reverts commit c78eb49b5e
.
2020-06-26 22:03:18 +02:00
Nils Adermann
c78eb49b5e
Remove unnecessary duplicate rule output from expected test result
2020-06-26 21:51:02 +02:00
Nils Adermann
2cfb60e683
Solver: Add test case for github issue 7051
2020-06-26 21:51:02 +02:00
Jordi Boggiano
05dacbdabb
Rename DEV_MASTER_ALIAS to DEFAULT_BRANCH_ALIAS
2020-06-25 08:56:14 +02:00
Jordi Boggiano
7a37e78a30
Speed up installer tests by avoiding lots of bootstrapping and git processes
2020-06-19 17:56:13 +02:00
Jordi Boggiano
d19f5db568
Fix tests to use default-branch prop
2020-06-19 16:06:38 +02:00
Jordi Boggiano
e5fe35d554
Update test description
2020-06-17 09:24:25 +02:00
Jordi Boggiano
c8731598cc
Merge branch '1.10'
2020-06-16 17:16:42 +02:00