1
0
Fork 0
Commit Graph

2454 Commits (6d5f6eb090a1ac394fae474fb7aa69ff046d05c9)

Author SHA1 Message Date
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 3fb75faa75 Now that no more update rules are created the code that handles them can be removed too.
Also adapted the tests that used TYPE_UPDATE exemplarily to use TYPE_FEATURE.
2012-02-18 19:19:49 +01:00
Nils Adermann 1dd15e5662 Merge pull request #316 from edorian/solver-update-tests
Some added update tests
2012-02-18 08:45:08 -08:00
Jordi Boggiano 230e145053 Fix downloader tests on windows and mock Filesystem properly 2012-02-18 17:00:07 +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 8aa0127de8 Remove test of undefined behaviour for unknown types in rulesets 2012-02-18 13:09:19 +01:00
Nils Adermann 7609f27052 Merge branch 'add-tests' of https://github.com/l3l0/composer into new-master
* 'add-tests' of https://github.com/l3l0/composer:
  Made fixes after review.
  Made changes which fied warnings and errors in tests.
  Fixed tests after update and merge of changes from upstream/master
  Fixed code. Changes improved code testability
  Added and extended some unit tests
2012-02-18 13:08:20 +01:00
Jordi Boggiano 43ce9ab14f Merge pull request #313 from naderman/fix-assert
Add a test for the off by one error in solver conflict resolution
2012-02-18 03:38:12 -08: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
Volker Dusch 9ede082371 Skip tests if mbstring is not installed 2012-02-18 11:36:11 +01:00
Jordi Boggiano 8dcb75080e Merge remote-tracking branch 'wookieb/installer_dry_run' 2012-02-17 10:47:40 +01:00
Martin Hasoň e621495c4d Added support for JSON_UNESCAPED_SLASHES 2012-02-17 10:06:59 +01:00
Wookieb 2467456d3f Fix installer that create vendor and bin directory even if --dry-run parameter provided
* Move directories creation from constructor to "install" and "update" method
* Tests for LibraryInstaller
2012-02-16 22:43:10 +01:00
Martin Hasoň ff0f833b3e Added support for JSON_UNESCAPED_UNICODE and fixed parsing string 2012-02-15 12:00:04 +01:00
Martin Hasoň 01be62d842 Updated ArrayDumper 2012-02-14 12:57:15 +01:00
Jordi Boggiano 8123de2fea Simplified bootstrap 2012-02-09 19:06:47 +01:00
Jordi Boggiano 5da021ffa7 Moved Filesystem to base Util namespace 2012-02-09 18:45:28 +01:00
Beau Simensen e1370be7a0 Continued refactoring of install() method, mainly by way of adding Composite Repository
* Rewritten `install()` method now takes a repository instead of a list of packages (per @nadermen)
 * Added Composite Repository
 * Added tests for Composite Repository
 * Removed "local repository" concept from Platform Repository
 * Removed some `use` statements for Platform Repository where it was not actually being used
2012-02-05 18:25:41 -08:00
Jordi Boggiano 26e909a1a0 Apply nested-autoload support to all relevant files 2012-02-05 21:23:52 +01:00
Jordi Boggiano 2262a3f864 Fix test 2012-02-05 21:13:16 +01:00
Jordi Boggiano d52feb1a9f Merge remote-tracking branch 'digitalkaoz/issue_209' 2012-02-05 20:59:30 +01:00
Jordi Boggiano d18e749f85 Test fix, fixes #274 2012-02-03 20:33:57 +01:00
Jordi Boggiano 15d78e6ad1 Fix autoload generator with vendor-dir = working-dir 2012-02-02 16:38:48 +01:00
Martin Hasoň d27989c808 Fixed obscure code 2012-02-02 15:36:38 +01:00
Artem Lopata 7d994b5de4 Added ErrorHandler for handling E_NOTICE, E_WARNING, E_ERROR 2012-01-27 10:37:45 +02:00
Leszek Prabucki f59ca1e2f8 Made fixes after review. 2012-01-24 18:48:42 +01:00
Leszek Prabucki 19878c2dc1 Fixed tests after update and merge of changes from upstream/master 2012-01-24 18:44:55 +01:00
Leszek Prabucki de7f666118 Added and extended some unit tests 2012-01-24 18:44:54 +01:00
Martin Hasoň 76a2be5ae0 Fixed detection of missing comma and added detection of missing colon in json 2012-01-24 15:10:55 +01:00
digitalkaoz 4d0fae688e removed replace, reinstalling as install 2012-01-23 15:43:42 +01:00
digitalkaoz 30e89a2402 fixed broken packages on filesystem 2012-01-23 15:19:05 +01:00
Jordi Boggiano 9d2e479d6d Add ProcessExecutor tests 2012-01-22 20:08:58 +01:00
Jakub Zalas c680ec7e51 Fixed json encoding when quoted value contained trailing backslash.
Condition checking if current character is inside a quoted string did not consider the case when backslash before quote is escaped with another backslash.
2012-01-19 00:01:56 +00:00
Jordi Boggiano 405f876fa6 Merge pull request #204 from simensen/GenerateAutoloadRevised
Autoload Generator handles multiple PSR-0 paths
2012-01-18 07:15:26 -08:00
Jordi Boggiano e4dbee2648 Fix tests 2012-01-17 23:13:35 +01:00
Justin Rainbow 447230d77a Extracting JsonFile additions for prettifying JSON 2012-01-16 16:42:36 -07:00
Christophe Coevoet 38a5f04ea0 Added a test for the new findPackagesByName method 2012-01-16 22:40:03 +01:00
Jordi Boggiano 098ba8e583 Add test 2012-01-15 14:15:53 +01:00
Beau Simensen fd5124a632 Standards fixes per @stof (continued, my bad) 2012-01-12 21:48:35 -06:00
Beau Simensen e8fcf281fa Autoload Generator handles multiple PSR-0 paths
The Autoload Generator was not behaving exactly as expected.
This PR is an alternate version of #203 based on some of
@stof's input on that PR.

The main differences are:

 * The main package is added first instead of last
 * parseAutoloads returns a different structure:
     array('psr-0' => array('Ns\\Foo' => array('installDir')))
 * dump and createLoader updated to account for new structure
2012-01-12 21:14:30 -06:00
Jordi Boggiano 56e43e4397 Add tests 2012-01-07 17:04:40 +01:00
Jordi Boggiano 462ebdf752 Detect lock file changes and warn users on install, fixes #75 2012-01-07 17:04:38 +01:00
Jordi Boggiano 8cfbf9e198 Fix update, fixes #125 2011-12-24 14:15:10 +01:00
Jordi Boggiano 94a8e8809c Fix travis builds 2011-12-21 16:46:23 +01:00
Jordi Boggiano 116b17dfc0 Fix test suite for OSX 2011-12-21 16:43:38 +01:00
Jordi Boggiano 812bf9a2af Reuse main classloader 2011-12-19 15:15:27 +01:00
Jordi Boggiano 680db4d1da Fix bug with drive names of different cases 2011-12-18 21:10:10 +01:00
Jordi Boggiano aefd2062c1 Update tests 2011-12-15 15:14:33 +01:00
Jordi Boggiano f6b9488bf0 Move root package handling to a dedicated loader and make ArrayLoader more strict 2011-12-13 01:05:29 +01:00
Jordi Boggiano 927be089ba Added more tests for Filesystem util and some fixes 2011-12-04 22:40:30 +01:00
Jordi Boggiano 21d74328e3 Cosmetic fixes 2011-12-04 22:00:55 +01:00
Jordi Boggiano 4517a2e51e Added tests and fixed some incorrect behaviors in Filesystem 2011-12-04 18:35:45 +01:00
Jordi Boggiano abb926a60c Add tests for autoloader 2011-12-04 18:35:43 +01:00
Jordi Boggiano 7e3f8099b1 Add proxy files for windows instead of copying, removed PEAR-style substitution 2011-12-03 20:44:00 +01:00
Jordi Boggiano aa94918d50 Add binaries support in composer 2011-12-03 15:39:06 +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 e340022cce Allow the use of self.version in package links 2011-11-23 16:47:23 +01:00
Jordi Boggiano 22858e81ef Fix .* version constraints parsing to include nonstable versions 2011-11-23 16:41:27 +01:00
Jordi Boggiano 14e9d4d84b Fix test 2011-11-21 18:19:32 +01:00
Jordi Boggiano f5b7e968b2 Minor adjustments to merged PR 2011-11-20 22:03:11 +01:00
Jordi Boggiano 5b87a02767 Merge remote-tracking branch 'prodigitalson/master' 2011-11-20 21:43:31 +01:00
Jordi Boggiano deb6ecd49b Fix tests 2011-11-20 21:20:03 +01:00
Jordi Boggiano b125926ad3 Fix tests 2011-11-20 15:46:15 +01:00
Jordi Boggiano 8e6f8ae57e Add prettyVersion to packages, fixes #76 2011-11-20 15:06:12 +01:00
Nils Adermann 4140f08d9c Use a map of installed package ids in the solver
The assumption package.repo == installed no longer holds for installed
packages because there are multiple wrapped installed repositories.
2011-11-19 00:27:35 +01:00
Ant Cunningham e0400773f7 Adding support for configurable vendor path in composer.json. 2011-11-18 13:31:50 -05:00
Jordi Boggiano b7f6cf69ab Add tests and fixes some issues 2011-11-05 23:54:05 +01:00
Jordi Boggiano 9c14d10641 Adjust tests to work with composer autoloader 2011-11-04 11:12:50 +01:00
Jordi Boggiano 066a0db752 Add detection for unescaped backslashes 2011-11-01 16:02:56 +01:00
Jordi Boggiano f5aa3e6c79 Add detection for extra commas in arrays 2011-11-01 14:13:22 +01:00
Jordi Boggiano c129d570e8 Add more json validation rules 2011-10-31 15:01:46 +01:00
Jordi Boggiano 6b6d6b6d82 Add --dev flag to InstallCommand to do source installs, fixes #26 2011-10-30 20:59:41 +01:00
Jordi Boggiano 36a724fa51 Search only for packages from the local repository in the locker 2011-10-30 20:29:52 +01:00
Jordi Boggiano 4904e76185 Install every package in its own directory, fixes #73 2011-10-30 19:10:37 +01:00
Fabien Potencier 9c739e71c2 Add some unit tests 2011-10-30 09:10:49 +01:00
Fabien Potencier 1450ebd837 Fix bug in an exception, added unit tests 2011-10-30 09:09:46 +01:00
Jordi Boggiano 89caa9b117 Rewrite autoloader to use only PSR-0, remove splitting of PEAR path 2011-10-27 22:09:01 +02:00
Jordi Boggiano 5e52d5c1ad Fix tests 2011-10-23 19:55:43 +02:00
Jordi Boggiano c33fc80d23 Add supports() to the InstallerInterface 2011-10-23 19:40:24 +02:00
Jordi Boggiano 8a571c05db Fix issues in new autoloader code 2011-10-23 19:40:22 +02:00
Nils Adermann e16c3f0626 Remove useless test, packages providing different versions aren't alternatives 2011-10-22 17:26:42 +02: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
Nils Adermann 55d5e55195 DefaultPolicy test: pick package providing newest virtual package version 2011-10-21 15:22:47 +02:00
Nils Adermann 0c30610fdc Complete the policy tests with provider and replacement tests 2011-10-21 14:58:31 +02:00
Nils Adermann e4c94dd415 Adding tests for the default policy specifying its desired behaviour 2011-10-21 14:44:24 +02:00
Jordi Boggiano 40cc5fea1d Add a few solver tests regarding "replace" 2011-10-15 20:04:29 +02:00
Jordi Boggiano e09f6900da Fix up version parsing 2011-10-11 11:49:32 +02:00
Jordi Boggiano 19f89069a4 Add some more version normalization and support for branch names 2011-10-11 09:30:10 +02:00
Jordi Boggiano 61dc13647c Fix tests 2011-10-02 20:18:57 +02:00
everzet 1cca62dc97 move json parsing instructions into single class object 2011-10-01 16:01:33 +03:00
everzet 21191ffa00 refactored PackageLock to Locker and stabilized it 2011-10-01 15:34:09 +03:00
Jordi Boggiano 9cbd74bf90 Merge remote-tracking branch 'everzet/downloader-interface-refactoring' 2011-09-29 20:50:41 +02:00
everzet 195272da09 refactored DownloaderInterface to be mono-installation-type 2011-09-29 04:11:51 +03:00
Jordi Boggiano ebe2a25ec6 Merge remote-tracking branch 'wilmoore/feature/memory-package-test-refactor'
Conflicts:
	src/Composer/Package/MemoryPackage.php
2011-09-29 00:55:28 +02:00
Jordi Boggiano fda206400a Fix constraint parsing 2011-09-29 00:50:01 +02:00
Jordi Boggiano 00a4fe2a14 Refactor downloaders, git installs actually work well now 2011-09-29 00:48:52 +02:00
Wil Moore III 97de4521d0 slight tweak to the casing of the provider method (providerversioningschemes -> providerVersioningSchemes) 2011-09-28 03:33:20 -06:00
Wil Moore III eceb416564 eased up on the param documentation/annotations and lowercased the provider method. 2011-09-28 03:18:21 -06:00
Wil Moore III fd5b1e0f1c added annotations to test methods 2011-09-27 21:36:55 -06:00
Wil Moore III b4df1d1a6b follows code review comments @ https://github.com/composer/composer/pull/23#issuecomment-2208146 2011-09-27 21:32:36 -06:00
Wil Moore III b70bb1a9bc memory-package-test-refactor: refactored the memory package test to be a bit more DRY and "hopefully" re-usable in anticipation of more package types being adding in the future. 2011-09-26 22:05:57 -06:00
Jordi Boggiano da6566b343 Minor improvements to VersionParser 2011-09-26 20:34:58 +02:00
Jordi Boggiano 2e10b5c17e Expand normalization feature and adjust tests 2011-09-26 00:59:32 +02:00
Jordi Boggiano 46a67733f8 Adjust codebase to the new VersionParser 2011-09-26 00:01:22 +02:00
Jordi Boggiano f761cfe525 Refactored VersionParser 2011-09-26 00:01:14 +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
Jordi Boggiano b9114e16be Fix typos, short var names etc 2011-09-25 23:20:31 +02:00
Jordi Boggiano 753caf2b55 Fix tests on windows 2011-09-25 23:14:12 +02:00
everzet 20318f77a0 Refactored FilesystemRegistry to FilesystemRepository 2011-09-25 20:59:10 +03:00
everzet 28d9df7da6 Added hasPackage and removePackage methods to the ArrayRepository 2011-09-25 20:57:58 +03:00
everzet 2fc0699492 Moved operations evaluation into new InstallationManager class 2011-09-25 19:31:51 +03:00
everzet 50aa7ac607 Provide $useSource argument to the DownloaderInterface methods 2011-09-25 18:56:05 +03:00
everzet 17d1abcec0 Refactored DownloadManager 2011-09-25 18:30:54 +03:00
everzet 6133108710 Refactored LibraryInstaller to use WritableRepository instead of Registry 2011-09-25 15:44:41 +03: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 10bd9c3729 Fixed FilesystemRegistry test name 2011-09-24 02:35:13 +03: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
everzet cde9531e4d DownloadManager implemented 2011-09-24 02:09:51 +03:00
everzet 0a2f4e7e32 Installer now provides full download path to the downloader 2011-09-24 01:30:17 +03:00
everzet 45cab9fe8c Installers FilesystemRegistry implemented 2011-09-24 00:24:19 +03:00
everzet 067007656b LibraryInstaller refactored and tested 2011-09-24 00:23:16 +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 db18e1b560 Add a few proper tests for literals, all tests passing now 2011-08-20 23:15:12 -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
Jordi Boggiano 2d1f8fbe70 LiteralTest is incomplete 2011-07-21 12:16:24 +02:00
Nils Adermann 825deff09f Completed analysis of unsolvable situations and main decision process 2011-07-08 07:11:04 -04:00
Nils Adermann bc672deb32 Moving rule iteration logic to a separate RuleSet and RuleSetIterator class 2011-06-27 00:11:57 +02: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
Jordi Boggiano 00260a89ae Make test fail 2011-05-23 02:18:11 +02:00
Jordi Boggiano b620405ab0 Adjusted BasePackage::__toString() 2011-05-23 02:00:07 +02:00
Nils Adermann ec94b76c7c Tests for MultiConstraints on versions 2011-04-18 22:54:08 +02:00
Nils Adermann d5dd86cd75 Correct version contraint matching and add tests for various cases 2011-04-18 22:45:11 +02:00
Nils Adermann 1870291949 Rename PackageTest to MemoryPackageTest 2011-04-18 22:44:14 +02:00
Jordi Boggiano c6321e7277 Fix tests and invalid use statements 2011-04-17 23:45:37 +02:00
Jordi Boggiano 7ea2fd6c93 Fix author/copyright 2011-04-17 21:39:53 +02:00
Nils Adermann 933cc6179b Import initial partial port of the libzypp satsolver. 2011-04-05 17:37:19 +02:00