1
0
Fork 0
Commit Graph

297 Commits (f5ea87e8553a06effd09e994f9e20a1877bd06cb)

Author SHA1 Message Date
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 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 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 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 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 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