dependabot-composer 0.111.25 → 0.111.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (901) hide show
  1. checksums.yaml +4 -4
  2. metadata +3 -902
  3. data/helpers/vendor/autoload.php +0 -7
  4. data/helpers/vendor/bin/composer +0 -1
  5. data/helpers/vendor/bin/jsonlint +0 -1
  6. data/helpers/vendor/bin/validate-json +0 -1
  7. data/helpers/vendor/composer/ClassLoader.php +0 -445
  8. data/helpers/vendor/composer/LICENSE +0 -21
  9. data/helpers/vendor/composer/autoload_classmap.php +0 -9
  10. data/helpers/vendor/composer/autoload_files.php +0 -11
  11. data/helpers/vendor/composer/autoload_namespaces.php +0 -9
  12. data/helpers/vendor/composer/autoload_psr4.php +0 -26
  13. data/helpers/vendor/composer/autoload_real.php +0 -70
  14. data/helpers/vendor/composer/autoload_static.php +0 -128
  15. data/helpers/vendor/composer/ca-bundle/LICENSE +0 -19
  16. data/helpers/vendor/composer/ca-bundle/README.md +0 -85
  17. data/helpers/vendor/composer/ca-bundle/composer.json +0 -54
  18. data/helpers/vendor/composer/ca-bundle/res/cacert.pem +0 -3401
  19. data/helpers/vendor/composer/ca-bundle/src/CaBundle.php +0 -308
  20. data/helpers/vendor/composer/composer/.gitattributes +0 -12
  21. data/helpers/vendor/composer/composer/.github/CONTRIBUTING.md +0 -59
  22. data/helpers/vendor/composer/composer/.github/ISSUE_TEMPLATE.md +0 -25
  23. data/helpers/vendor/composer/composer/.gitignore +0 -11
  24. data/helpers/vendor/composer/composer/.php_cs +0 -58
  25. data/helpers/vendor/composer/composer/.travis.yml +0 -76
  26. data/helpers/vendor/composer/composer/CHANGELOG.md +0 -808
  27. data/helpers/vendor/composer/composer/LICENSE +0 -19
  28. data/helpers/vendor/composer/composer/PORTING_INFO +0 -39
  29. data/helpers/vendor/composer/composer/README.md +0 -62
  30. data/helpers/vendor/composer/composer/appveyor.yml +0 -33
  31. data/helpers/vendor/composer/composer/bin/compile +0 -31
  32. data/helpers/vendor/composer/composer/bin/composer +0 -62
  33. data/helpers/vendor/composer/composer/composer.json +0 -81
  34. data/helpers/vendor/composer/composer/composer.lock +0 -1800
  35. data/helpers/vendor/composer/composer/doc/00-intro.md +0 -156
  36. data/helpers/vendor/composer/composer/doc/01-basic-usage.md +0 -266
  37. data/helpers/vendor/composer/composer/doc/02-libraries.md +0 -153
  38. data/helpers/vendor/composer/composer/doc/03-cli.md +0 -931
  39. data/helpers/vendor/composer/composer/doc/04-schema.md +0 -924
  40. data/helpers/vendor/composer/composer/doc/05-repositories.md +0 -713
  41. data/helpers/vendor/composer/composer/doc/06-config.md +0 -277
  42. data/helpers/vendor/composer/composer/doc/07-community.md +0 -35
  43. data/helpers/vendor/composer/composer/doc/articles/aliases.md +0 -105
  44. data/helpers/vendor/composer/composer/doc/articles/autoloader-optimization.md +0 -111
  45. data/helpers/vendor/composer/composer/doc/articles/custom-installers.md +0 -204
  46. data/helpers/vendor/composer/composer/doc/articles/handling-private-packages-with-satis.md +0 -343
  47. data/helpers/vendor/composer/composer/doc/articles/http-basic-authentication.md +0 -59
  48. data/helpers/vendor/composer/composer/doc/articles/plugins.md +0 -285
  49. data/helpers/vendor/composer/composer/doc/articles/scripts.md +0 -304
  50. data/helpers/vendor/composer/composer/doc/articles/troubleshooting.md +0 -309
  51. data/helpers/vendor/composer/composer/doc/articles/vendor-binaries.md +0 -110
  52. data/helpers/vendor/composer/composer/doc/articles/versions.md +0 -230
  53. data/helpers/vendor/composer/composer/doc/dev/DefaultPolicy.md +0 -55
  54. data/helpers/vendor/composer/composer/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md +0 -50
  55. data/helpers/vendor/composer/composer/doc/faqs/how-to-install-composer-programmatically.md +0 -42
  56. data/helpers/vendor/composer/composer/doc/faqs/how-to-install-untrusted-packages-safely.md +0 -19
  57. data/helpers/vendor/composer/composer/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md +0 -32
  58. data/helpers/vendor/composer/composer/doc/faqs/which-version-numbering-system-does-composer-itself-use.md +0 -4
  59. data/helpers/vendor/composer/composer/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md +0 -21
  60. data/helpers/vendor/composer/composer/doc/faqs/why-are-version-constraints-combining-comparisons-and-wildcards-a-bad-idea.md +0 -21
  61. data/helpers/vendor/composer/composer/doc/faqs/why-can't-composer-load-repositories-recursively.md +0 -35
  62. data/helpers/vendor/composer/composer/doc/fixtures/fixtures.md +0 -22
  63. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-plain/packages.json +0 -158
  64. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/bar/baz$923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe.json +0 -50
  65. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/foo/bar$4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a.json +0 -77
  66. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/gar/nix$5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321.json +0 -50
  67. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json +0 -16
  68. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/qux/quux$c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d.json +0 -22
  69. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/packages.json +0 -9
  70. data/helpers/vendor/composer/composer/phpunit.xml.dist +0 -35
  71. data/helpers/vendor/composer/composer/res/composer-repository-schema.json +0 -110
  72. data/helpers/vendor/composer/composer/res/composer-schema.json +0 -843
  73. data/helpers/vendor/composer/composer/src/Composer/Autoload/AutoloadGenerator.php +0 -1061
  74. data/helpers/vendor/composer/composer/src/Composer/Autoload/ClassLoader.php +0 -445
  75. data/helpers/vendor/composer/composer/src/Composer/Autoload/ClassMapGenerator.php +0 -222
  76. data/helpers/vendor/composer/composer/src/Composer/Cache.php +0 -251
  77. data/helpers/vendor/composer/composer/src/Composer/Command/AboutCommand.php +0 -46
  78. data/helpers/vendor/composer/composer/src/Composer/Command/ArchiveCommand.php +0 -166
  79. data/helpers/vendor/composer/composer/src/Composer/Command/BaseCommand.php +0 -181
  80. data/helpers/vendor/composer/composer/src/Composer/Command/BaseDependencyCommand.php +0 -255
  81. data/helpers/vendor/composer/composer/src/Composer/Command/CheckPlatformReqsCommand.php +0 -156
  82. data/helpers/vendor/composer/composer/src/Composer/Command/ClearCacheCommand.php +0 -74
  83. data/helpers/vendor/composer/composer/src/Composer/Command/ConfigCommand.php +0 -707
  84. data/helpers/vendor/composer/composer/src/Composer/Command/CreateProjectCommand.php +0 -385
  85. data/helpers/vendor/composer/composer/src/Composer/Command/DependsCommand.php +0 -57
  86. data/helpers/vendor/composer/composer/src/Composer/Command/DiagnoseCommand.php +0 -729
  87. data/helpers/vendor/composer/composer/src/Composer/Command/DumpAutoloadCommand.php +0 -88
  88. data/helpers/vendor/composer/composer/src/Composer/Command/ExecCommand.php +0 -97
  89. data/helpers/vendor/composer/composer/src/Composer/Command/GlobalCommand.php +0 -111
  90. data/helpers/vendor/composer/composer/src/Composer/Command/HomeCommand.php +0 -168
  91. data/helpers/vendor/composer/composer/src/Composer/Command/InitCommand.php +0 -808
  92. data/helpers/vendor/composer/composer/src/Composer/Command/InstallCommand.php +0 -124
  93. data/helpers/vendor/composer/composer/src/Composer/Command/LicensesCommand.php +0 -159
  94. data/helpers/vendor/composer/composer/src/Composer/Command/OutdatedCommand.php +0 -95
  95. data/helpers/vendor/composer/composer/src/Composer/Command/ProhibitsCommand.php +0 -57
  96. data/helpers/vendor/composer/composer/src/Composer/Command/RemoveCommand.php +0 -163
  97. data/helpers/vendor/composer/composer/src/Composer/Command/RequireCommand.php +0 -258
  98. data/helpers/vendor/composer/composer/src/Composer/Command/RunScriptCommand.php +0 -141
  99. data/helpers/vendor/composer/composer/src/Composer/Command/ScriptAliasCommand.php +0 -66
  100. data/helpers/vendor/composer/composer/src/Composer/Command/SearchCommand.php +0 -83
  101. data/helpers/vendor/composer/composer/src/Composer/Command/SelfUpdateCommand.php +0 -405
  102. data/helpers/vendor/composer/composer/src/Composer/Command/ShowCommand.php +0 -1015
  103. data/helpers/vendor/composer/composer/src/Composer/Command/StatusCommand.php +0 -214
  104. data/helpers/vendor/composer/composer/src/Composer/Command/SuggestsCommand.php +0 -152
  105. data/helpers/vendor/composer/composer/src/Composer/Command/UpdateCommand.php +0 -228
  106. data/helpers/vendor/composer/composer/src/Composer/Command/ValidateCommand.php +0 -172
  107. data/helpers/vendor/composer/composer/src/Composer/Compiler.php +0 -284
  108. data/helpers/vendor/composer/composer/src/Composer/Composer.php +0 -283
  109. data/helpers/vendor/composer/composer/src/Composer/Config.php +0 -461
  110. data/helpers/vendor/composer/composer/src/Composer/Config/ConfigSourceInterface.php +0 -91
  111. data/helpers/vendor/composer/composer/src/Composer/Config/JsonConfigSource.php +0 -267
  112. data/helpers/vendor/composer/composer/src/Composer/Console/Application.php +0 -481
  113. data/helpers/vendor/composer/composer/src/Composer/Console/HtmlOutputFormatter.php +0 -90
  114. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Decisions.php +0 -211
  115. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/DefaultPolicy.php +0 -285
  116. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/GenericRule.php +0 -91
  117. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/InstallOperation.php +0 -66
  118. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/MarkAliasInstalledOperation.php +0 -67
  119. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/MarkAliasUninstalledOperation.php +0 -67
  120. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/OperationInterface.php +0 -42
  121. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/SolverOperation.php +0 -50
  122. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/UninstallOperation.php +0 -66
  123. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/UpdateOperation.php +0 -80
  124. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/PolicyInterface.php +0 -27
  125. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Pool.php +0 -378
  126. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Problem.php +0 -253
  127. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Request.php +0 -78
  128. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Rule.php +0 -268
  129. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Rule2Literals.php +0 -113
  130. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSet.php +0 -176
  131. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetGenerator.php +0 -372
  132. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetIterator.php +0 -94
  133. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchChain.php +0 -52
  134. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchGraph.php +0 -144
  135. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchNode.php +0 -113
  136. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Solver.php +0 -874
  137. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/SolverBugException.php +0 -27
  138. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/SolverProblemsException.php +0 -88
  139. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Transaction.php +0 -244
  140. data/helpers/vendor/composer/composer/src/Composer/Downloader/ArchiveDownloader.php +0 -135
  141. data/helpers/vendor/composer/composer/src/Composer/Downloader/ChangeReportInterface.php +0 -32
  142. data/helpers/vendor/composer/composer/src/Composer/Downloader/DownloadManager.php +0 -325
  143. data/helpers/vendor/composer/composer/src/Composer/Downloader/DownloaderInterface.php +0 -64
  144. data/helpers/vendor/composer/composer/src/Composer/Downloader/DvcsDownloaderInterface.php +0 -32
  145. data/helpers/vendor/composer/composer/src/Composer/Downloader/FileDownloader.php +0 -322
  146. data/helpers/vendor/composer/composer/src/Composer/Downloader/FilesystemException.php +0 -26
  147. data/helpers/vendor/composer/composer/src/Composer/Downloader/FossilDownloader.php +0 -116
  148. data/helpers/vendor/composer/composer/src/Composer/Downloader/GitDownloader.php +0 -516
  149. data/helpers/vendor/composer/composer/src/Composer/Downloader/GzipDownloader.php +0 -84
  150. data/helpers/vendor/composer/composer/src/Composer/Downloader/HgDownloader.php +0 -100
  151. data/helpers/vendor/composer/composer/src/Composer/Downloader/PathDownloader.php +0 -202
  152. data/helpers/vendor/composer/composer/src/Composer/Downloader/PearPackageExtractor.php +0 -266
  153. data/helpers/vendor/composer/composer/src/Composer/Downloader/PerforceDownloader.php +0 -114
  154. data/helpers/vendor/composer/composer/src/Composer/Downloader/PharDownloader.php +0 -36
  155. data/helpers/vendor/composer/composer/src/Composer/Downloader/RarDownloader.php +0 -91
  156. data/helpers/vendor/composer/composer/src/Composer/Downloader/SvnDownloader.php +0 -225
  157. data/helpers/vendor/composer/composer/src/Composer/Downloader/TarDownloader.php +0 -31
  158. data/helpers/vendor/composer/composer/src/Composer/Downloader/TransportException.php +0 -53
  159. data/helpers/vendor/composer/composer/src/Composer/Downloader/VcsCapableDownloaderInterface.php +0 -32
  160. data/helpers/vendor/composer/composer/src/Composer/Downloader/VcsDownloader.php +0 -293
  161. data/helpers/vendor/composer/composer/src/Composer/Downloader/XzDownloader.php +0 -60
  162. data/helpers/vendor/composer/composer/src/Composer/Downloader/ZipDownloader.php +0 -230
  163. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/Event.php +0 -103
  164. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/EventDispatcher.php +0 -536
  165. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/EventSubscriberInterface.php +0 -48
  166. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/ScriptExecutionException.php +0 -20
  167. data/helpers/vendor/composer/composer/src/Composer/Exception/NoSslException.php +0 -20
  168. data/helpers/vendor/composer/composer/src/Composer/Factory.php +0 -653
  169. data/helpers/vendor/composer/composer/src/Composer/IO/BaseIO.php +0 -255
  170. data/helpers/vendor/composer/composer/src/Composer/IO/BufferIO.php +0 -59
  171. data/helpers/vendor/composer/composer/src/Composer/IO/ConsoleIO.php +0 -322
  172. data/helpers/vendor/composer/composer/src/Composer/IO/IOInterface.php +0 -207
  173. data/helpers/vendor/composer/composer/src/Composer/IO/NullIO.php +0 -129
  174. data/helpers/vendor/composer/composer/src/Composer/Installer.php +0 -1798
  175. data/helpers/vendor/composer/composer/src/Composer/Installer/BinaryInstaller.php +0 -214
  176. data/helpers/vendor/composer/composer/src/Composer/Installer/BinaryPresenceInterface.php +0 -30
  177. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallationManager.php +0 -326
  178. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerEvent.php +0 -161
  179. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerEvents.php +0 -43
  180. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerInterface.php +0 -79
  181. data/helpers/vendor/composer/composer/src/Composer/Installer/LibraryInstaller.php +0 -232
  182. data/helpers/vendor/composer/composer/src/Composer/Installer/MetapackageInstaller.php +0 -100
  183. data/helpers/vendor/composer/composer/src/Composer/Installer/NoopInstaller.php +0 -88
  184. data/helpers/vendor/composer/composer/src/Composer/Installer/PackageEvent.php +0 -65
  185. data/helpers/vendor/composer/composer/src/Composer/Installer/PackageEvents.php +0 -75
  186. data/helpers/vendor/composer/composer/src/Composer/Installer/PearBinaryInstaller.php +0 -144
  187. data/helpers/vendor/composer/composer/src/Composer/Installer/PearInstaller.php +0 -84
  188. data/helpers/vendor/composer/composer/src/Composer/Installer/PluginInstaller.php +0 -84
  189. data/helpers/vendor/composer/composer/src/Composer/Installer/ProjectInstaller.php +0 -99
  190. data/helpers/vendor/composer/composer/src/Composer/Installer/SuggestedPackagesReporter.php +0 -151
  191. data/helpers/vendor/composer/composer/src/Composer/Json/JsonFile.php +0 -301
  192. data/helpers/vendor/composer/composer/src/Composer/Json/JsonFormatter.php +0 -134
  193. data/helpers/vendor/composer/composer/src/Composer/Json/JsonManipulator.php +0 -521
  194. data/helpers/vendor/composer/composer/src/Composer/Json/JsonValidationException.php +0 -34
  195. data/helpers/vendor/composer/composer/src/Composer/Package/AliasPackage.php +0 -404
  196. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchivableFilesFilter.php +0 -44
  197. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchivableFilesFinder.php +0 -105
  198. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchiveManager.php +0 -183
  199. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchiverInterface.php +0 -43
  200. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/BaseExcludeFilter.php +0 -148
  201. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ComposerExcludeFilter.php +0 -31
  202. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/GitExcludeFilter.php +0 -79
  203. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/HgExcludeFilter.php +0 -107
  204. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/PharArchiver.php +0 -97
  205. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ZipArchiver.php +0 -74
  206. data/helpers/vendor/composer/composer/src/Composer/Package/BasePackage.php +0 -251
  207. data/helpers/vendor/composer/composer/src/Composer/Package/Comparer/Comparer.php +0 -129
  208. data/helpers/vendor/composer/composer/src/Composer/Package/CompletePackage.php +0 -199
  209. data/helpers/vendor/composer/composer/src/Composer/Package/CompletePackageInterface.php +0 -95
  210. data/helpers/vendor/composer/composer/src/Composer/Package/Dumper/ArrayDumper.php +0 -151
  211. data/helpers/vendor/composer/composer/src/Composer/Package/Link.php +0 -128
  212. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/EmptyConstraint.php +0 -24
  213. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/LinkConstraintInterface.php +0 -24
  214. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/MultiConstraint.php +0 -24
  215. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/SpecificConstraint.php +0 -24
  216. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/VersionConstraint.php +0 -24
  217. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/ArrayLoader.php +0 -290
  218. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/InvalidPackageException.php +0 -46
  219. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/JsonLoader.php +0 -45
  220. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/LoaderInterface.php +0 -30
  221. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/RootPackageLoader.php +0 -264
  222. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/ValidatingArrayLoader.php +0 -493
  223. data/helpers/vendor/composer/composer/src/Composer/Package/Locker.php +0 -438
  224. data/helpers/vendor/composer/composer/src/Composer/Package/Package.php +0 -612
  225. data/helpers/vendor/composer/composer/src/Composer/Package/PackageInterface.php +0 -361
  226. data/helpers/vendor/composer/composer/src/Composer/Package/RootAliasPackage.php +0 -173
  227. data/helpers/vendor/composer/composer/src/Composer/Package/RootPackage.php +0 -136
  228. data/helpers/vendor/composer/composer/src/Composer/Package/RootPackageInterface.php +0 -142
  229. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionGuesser.php +0 -302
  230. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionParser.php +0 -81
  231. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionSelector.php +0 -176
  232. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capability/Capability.php +0 -23
  233. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capability/CommandProvider.php +0 -33
  234. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capable.php +0 -43
  235. data/helpers/vendor/composer/composer/src/Composer/Plugin/CommandEvent.php +0 -88
  236. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginEvents.php +0 -61
  237. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginInterface.php +0 -39
  238. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginManager.php +0 -403
  239. data/helpers/vendor/composer/composer/src/Composer/Plugin/PreCommandRunEvent.php +0 -68
  240. data/helpers/vendor/composer/composer/src/Composer/Plugin/PreFileDownloadEvent.php +0 -78
  241. data/helpers/vendor/composer/composer/src/Composer/Question/StrictConfirmationQuestion.php +0 -94
  242. data/helpers/vendor/composer/composer/src/Composer/Repository/ArrayRepository.php +0 -208
  243. data/helpers/vendor/composer/composer/src/Composer/Repository/ArtifactRepository.php +0 -167
  244. data/helpers/vendor/composer/composer/src/Composer/Repository/BaseRepository.php +0 -157
  245. data/helpers/vendor/composer/composer/src/Composer/Repository/ComposerRepository.php +0 -829
  246. data/helpers/vendor/composer/composer/src/Composer/Repository/CompositeRepository.php +0 -164
  247. data/helpers/vendor/composer/composer/src/Composer/Repository/ConfigurableRepositoryInterface.php +0 -23
  248. data/helpers/vendor/composer/composer/src/Composer/Repository/FilesystemRepository.php +0 -97
  249. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledArrayRepository.php +0 -24
  250. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledFilesystemRepository.php +0 -22
  251. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledRepositoryInterface.php +0 -24
  252. data/helpers/vendor/composer/composer/src/Composer/Repository/InvalidRepositoryException.php +0 -22
  253. data/helpers/vendor/composer/composer/src/Composer/Repository/PackageRepository.php +0 -61
  254. data/helpers/vendor/composer/composer/src/Composer/Repository/PathRepository.php +0 -190
  255. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/BaseChannelReader.php +0 -82
  256. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelInfo.php +0 -67
  257. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelReader.php +0 -101
  258. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest10Reader.php +0 -164
  259. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest11Reader.php +0 -139
  260. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/DependencyConstraint.php +0 -60
  261. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/DependencyInfo.php +0 -50
  262. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/PackageDependencyParser.php +0 -317
  263. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/PackageInfo.php +0 -94
  264. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ReleaseInfo.php +0 -50
  265. data/helpers/vendor/composer/composer/src/Composer/Repository/PearRepository.php +0 -198
  266. data/helpers/vendor/composer/composer/src/Composer/Repository/PlatformRepository.php +0 -342
  267. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryFactory.php +0 -169
  268. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryInterface.php +0 -74
  269. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryManager.php +0 -177
  270. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositorySecurityException.php +0 -22
  271. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/BitbucketDriver.php +0 -445
  272. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/FossilDriver.php +0 -238
  273. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitBitbucketDriver.php +0 -91
  274. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitDriver.php +0 -222
  275. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitHubDriver.php +0 -472
  276. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitLabDriver.php +0 -511
  277. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/HgBitbucketDriver.php +0 -91
  278. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/HgDriver.php +0 -230
  279. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/PerforceDriver.php +0 -181
  280. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/SvnDriver.php +0 -397
  281. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/VcsDriver.php +0 -175
  282. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/VcsDriverInterface.php +0 -117
  283. data/helpers/vendor/composer/composer/src/Composer/Repository/VcsRepository.php +0 -407
  284. data/helpers/vendor/composer/composer/src/Composer/Repository/VersionCacheInterface.php +0 -23
  285. data/helpers/vendor/composer/composer/src/Composer/Repository/WritableArrayRepository.php +0 -66
  286. data/helpers/vendor/composer/composer/src/Composer/Repository/WritableRepositoryInterface.php +0 -54
  287. data/helpers/vendor/composer/composer/src/Composer/Script/CommandEvent.php +0 -22
  288. data/helpers/vendor/composer/composer/src/Composer/Script/Event.php +0 -89
  289. data/helpers/vendor/composer/composer/src/Composer/Script/PackageEvent.php +0 -24
  290. data/helpers/vendor/composer/composer/src/Composer/Script/ScriptEvents.php +0 -193
  291. data/helpers/vendor/composer/composer/src/Composer/SelfUpdate/Keys.php +0 -36
  292. data/helpers/vendor/composer/composer/src/Composer/SelfUpdate/Versions.php +0 -75
  293. data/helpers/vendor/composer/composer/src/Composer/Util/AuthHelper.php +0 -63
  294. data/helpers/vendor/composer/composer/src/Composer/Util/Bitbucket.php +0 -245
  295. data/helpers/vendor/composer/composer/src/Composer/Util/ComposerMirror.php +0 -57
  296. data/helpers/vendor/composer/composer/src/Composer/Util/ConfigValidator.php +0 -191
  297. data/helpers/vendor/composer/composer/src/Composer/Util/ErrorHandler.php +0 -79
  298. data/helpers/vendor/composer/composer/src/Composer/Util/Filesystem.php +0 -715
  299. data/helpers/vendor/composer/composer/src/Composer/Util/Git.php +0 -374
  300. data/helpers/vendor/composer/composer/src/Composer/Util/GitHub.php +0 -180
  301. data/helpers/vendor/composer/composer/src/Composer/Util/GitLab.php +0 -163
  302. data/helpers/vendor/composer/composer/src/Composer/Util/Hg.php +0 -94
  303. data/helpers/vendor/composer/composer/src/Composer/Util/IniHelper.php +0 -64
  304. data/helpers/vendor/composer/composer/src/Composer/Util/NoProxyPattern.php +0 -147
  305. data/helpers/vendor/composer/composer/src/Composer/Util/Perforce.php +0 -581
  306. data/helpers/vendor/composer/composer/src/Composer/Util/Platform.php +0 -92
  307. data/helpers/vendor/composer/composer/src/Composer/Util/ProcessExecutor.php +0 -192
  308. data/helpers/vendor/composer/composer/src/Composer/Util/RemoteFilesystem.php +0 -1109
  309. data/helpers/vendor/composer/composer/src/Composer/Util/Silencer.php +0 -78
  310. data/helpers/vendor/composer/composer/src/Composer/Util/SpdxLicense.php +0 -24
  311. data/helpers/vendor/composer/composer/src/Composer/Util/StreamContextFactory.php +0 -177
  312. data/helpers/vendor/composer/composer/src/Composer/Util/Svn.php +0 -381
  313. data/helpers/vendor/composer/composer/src/Composer/Util/TlsHelper.php +0 -204
  314. data/helpers/vendor/composer/composer/src/Composer/Util/Url.php +0 -55
  315. data/helpers/vendor/composer/composer/src/Composer/XdebugHandler.php +0 -31
  316. data/helpers/vendor/composer/composer/src/bootstrap.php +0 -24
  317. data/helpers/vendor/composer/installed.json +0 -947
  318. data/helpers/vendor/composer/semver/CHANGELOG.md +0 -72
  319. data/helpers/vendor/composer/semver/LICENSE +0 -19
  320. data/helpers/vendor/composer/semver/README.md +0 -70
  321. data/helpers/vendor/composer/semver/composer.json +0 -58
  322. data/helpers/vendor/composer/semver/src/Comparator.php +0 -111
  323. data/helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php +0 -63
  324. data/helpers/vendor/composer/semver/src/Constraint/Constraint.php +0 -219
  325. data/helpers/vendor/composer/semver/src/Constraint/ConstraintInterface.php +0 -32
  326. data/helpers/vendor/composer/semver/src/Constraint/EmptyConstraint.php +0 -59
  327. data/helpers/vendor/composer/semver/src/Constraint/MultiConstraint.php +0 -120
  328. data/helpers/vendor/composer/semver/src/Semver.php +0 -127
  329. data/helpers/vendor/composer/semver/src/VersionParser.php +0 -540
  330. data/helpers/vendor/composer/spdx-licenses/.php_cs.dist +0 -59
  331. data/helpers/vendor/composer/spdx-licenses/CHANGELOG.md +0 -89
  332. data/helpers/vendor/composer/spdx-licenses/LICENSE +0 -19
  333. data/helpers/vendor/composer/spdx-licenses/README.md +0 -69
  334. data/helpers/vendor/composer/spdx-licenses/composer.json +0 -56
  335. data/helpers/vendor/composer/spdx-licenses/res/spdx-exceptions.json +0 -101
  336. data/helpers/vendor/composer/spdx-licenses/res/spdx-licenses.json +0 -1932
  337. data/helpers/vendor/composer/spdx-licenses/src/SpdxLicenses.php +0 -343
  338. data/helpers/vendor/composer/xdebug-handler/CHANGELOG.md +0 -55
  339. data/helpers/vendor/composer/xdebug-handler/LICENSE +0 -21
  340. data/helpers/vendor/composer/xdebug-handler/README.md +0 -288
  341. data/helpers/vendor/composer/xdebug-handler/composer.json +0 -40
  342. data/helpers/vendor/composer/xdebug-handler/src/PhpConfig.php +0 -73
  343. data/helpers/vendor/composer/xdebug-handler/src/Process.php +0 -160
  344. data/helpers/vendor/composer/xdebug-handler/src/Status.php +0 -163
  345. data/helpers/vendor/composer/xdebug-handler/src/XdebugHandler.php +0 -565
  346. data/helpers/vendor/justinrainbow/json-schema/.gitattributes +0 -5
  347. data/helpers/vendor/justinrainbow/json-schema/.php_cs.dist +0 -30
  348. data/helpers/vendor/justinrainbow/json-schema/LICENSE +0 -21
  349. data/helpers/vendor/justinrainbow/json-schema/README.md +0 -206
  350. data/helpers/vendor/justinrainbow/json-schema/bin/validate-json +0 -251
  351. data/helpers/vendor/justinrainbow/json-schema/composer.json +0 -76
  352. data/helpers/vendor/justinrainbow/json-schema/demo/README.md +0 -14
  353. data/helpers/vendor/justinrainbow/json-schema/demo/data.json +0 -3
  354. data/helpers/vendor/justinrainbow/json-schema/demo/demo.php +0 -18
  355. data/helpers/vendor/justinrainbow/json-schema/demo/schema.json +0 -3
  356. data/helpers/vendor/justinrainbow/json-schema/dist/schema/json-schema-draft-03.json +0 -174
  357. data/helpers/vendor/justinrainbow/json-schema/dist/schema/json-schema-draft-04.json +0 -150
  358. data/helpers/vendor/justinrainbow/json-schema/phpunit.xml.dist +0 -26
  359. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/BaseConstraint.php +0 -148
  360. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php +0 -121
  361. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php +0 -213
  362. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ConstraintInterface.php +0 -65
  363. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/EnumConstraint.php +0 -54
  364. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Factory.php +0 -220
  365. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/FormatConstraint.php +0 -214
  366. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/NumberConstraint.php +0 -81
  367. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ObjectConstraint.php +0 -192
  368. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php +0 -94
  369. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/StringConstraint.php +0 -60
  370. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/LooseTypeCheck.php +0 -68
  371. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/StrictTypeCheck.php +0 -40
  372. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/TypeCheckInterface.php +0 -18
  373. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeConstraint.php +0 -261
  374. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php +0 -413
  375. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Entity/JsonPointer.php +0 -161
  376. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ExceptionInterface.php +0 -7
  377. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidArgumentException.php +0 -17
  378. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidConfigException.php +0 -17
  379. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaException.php +0 -17
  380. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaMediaTypeException.php +0 -17
  381. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSourceUriException.php +0 -17
  382. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/JsonDecodingException.php +0 -40
  383. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ResourceNotFoundException.php +0 -17
  384. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/RuntimeException.php +0 -17
  385. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UnresolvableJsonPointerException.php +0 -19
  386. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UriResolverException.php +0 -17
  387. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ValidationException.php +0 -14
  388. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Iterator/ObjectIterator.php +0 -149
  389. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Rfc3339.php +0 -30
  390. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php +0 -169
  391. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorageInterface.php +0 -41
  392. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/AbstractRetriever.php +0 -34
  393. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php +0 -83
  394. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/FileGetContents.php +0 -93
  395. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php +0 -56
  396. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/UriRetrieverInterface.php +0 -36
  397. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php +0 -175
  398. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php +0 -349
  399. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/UriResolverInterface.php +0 -26
  400. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/UriRetrieverInterface.php +0 -26
  401. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php +0 -90
  402. data/helpers/vendor/psr/log/.gitignore +0 -1
  403. data/helpers/vendor/psr/log/LICENSE +0 -19
  404. data/helpers/vendor/psr/log/Psr/Log/AbstractLogger.php +0 -128
  405. data/helpers/vendor/psr/log/Psr/Log/InvalidArgumentException.php +0 -7
  406. data/helpers/vendor/psr/log/Psr/Log/LogLevel.php +0 -18
  407. data/helpers/vendor/psr/log/Psr/Log/LoggerAwareInterface.php +0 -18
  408. data/helpers/vendor/psr/log/Psr/Log/LoggerAwareTrait.php +0 -26
  409. data/helpers/vendor/psr/log/Psr/Log/LoggerInterface.php +0 -123
  410. data/helpers/vendor/psr/log/Psr/Log/LoggerTrait.php +0 -140
  411. data/helpers/vendor/psr/log/Psr/Log/NullLogger.php +0 -28
  412. data/helpers/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php +0 -144
  413. data/helpers/vendor/psr/log/Psr/Log/Test/TestLogger.php +0 -146
  414. data/helpers/vendor/psr/log/README.md +0 -52
  415. data/helpers/vendor/psr/log/composer.json +0 -26
  416. data/helpers/vendor/seld/jsonlint/.gitignore +0 -3
  417. data/helpers/vendor/seld/jsonlint/.travis.yml +0 -25
  418. data/helpers/vendor/seld/jsonlint/CHANGELOG.md +0 -66
  419. data/helpers/vendor/seld/jsonlint/LICENSE +0 -19
  420. data/helpers/vendor/seld/jsonlint/README.md +0 -89
  421. data/helpers/vendor/seld/jsonlint/bin/jsonlint +0 -117
  422. data/helpers/vendor/seld/jsonlint/composer.json +0 -24
  423. data/helpers/vendor/seld/jsonlint/phpunit.xml.dist +0 -25
  424. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/DuplicateKeyException.php +0 -26
  425. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/JsonParser.php +0 -502
  426. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/Lexer.php +0 -217
  427. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/ParsingException.php +0 -28
  428. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/Undefined.php +0 -16
  429. data/helpers/vendor/seld/jsonlint/tests/JsonParserTest.php +0 -230
  430. data/helpers/vendor/seld/jsonlint/tests/bom.json +0 -6
  431. data/helpers/vendor/seld/jsonlint/tests/bootstrap.php +0 -13
  432. data/helpers/vendor/seld/phar-utils/.gitignore +0 -1
  433. data/helpers/vendor/seld/phar-utils/LICENSE +0 -19
  434. data/helpers/vendor/seld/phar-utils/README.md +0 -39
  435. data/helpers/vendor/seld/phar-utils/composer.json +0 -26
  436. data/helpers/vendor/seld/phar-utils/composer.lock +0 -19
  437. data/helpers/vendor/seld/phar-utils/src/Timestamps.php +0 -192
  438. data/helpers/vendor/symfony/console/.gitignore +0 -3
  439. data/helpers/vendor/symfony/console/Application.php +0 -1181
  440. data/helpers/vendor/symfony/console/CHANGELOG.md +0 -140
  441. data/helpers/vendor/symfony/console/Command/Command.php +0 -654
  442. data/helpers/vendor/symfony/console/Command/HelpCommand.php +0 -81
  443. data/helpers/vendor/symfony/console/Command/ListCommand.php +0 -90
  444. data/helpers/vendor/symfony/console/Command/LockableTrait.php +0 -71
  445. data/helpers/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php +0 -37
  446. data/helpers/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php +0 -55
  447. data/helpers/vendor/symfony/console/CommandLoader/FactoryCommandLoader.php +0 -62
  448. data/helpers/vendor/symfony/console/ConsoleEvents.php +0 -47
  449. data/helpers/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php +0 -98
  450. data/helpers/vendor/symfony/console/Descriptor/ApplicationDescription.php +0 -144
  451. data/helpers/vendor/symfony/console/Descriptor/Descriptor.php +0 -107
  452. data/helpers/vendor/symfony/console/Descriptor/DescriptorInterface.php +0 -31
  453. data/helpers/vendor/symfony/console/Descriptor/JsonDescriptor.php +0 -168
  454. data/helpers/vendor/symfony/console/Descriptor/MarkdownDescriptor.php +0 -182
  455. data/helpers/vendor/symfony/console/Descriptor/TextDescriptor.php +0 -342
  456. data/helpers/vendor/symfony/console/Descriptor/XmlDescriptor.php +0 -245
  457. data/helpers/vendor/symfony/console/Event/ConsoleCommandEvent.php +0 -60
  458. data/helpers/vendor/symfony/console/Event/ConsoleErrorEvent.php +0 -58
  459. data/helpers/vendor/symfony/console/Event/ConsoleEvent.php +0 -67
  460. data/helpers/vendor/symfony/console/Event/ConsoleTerminateEvent.php +0 -53
  461. data/helpers/vendor/symfony/console/EventListener/ErrorListener.php +0 -91
  462. data/helpers/vendor/symfony/console/Exception/CommandNotFoundException.php +0 -43
  463. data/helpers/vendor/symfony/console/Exception/ExceptionInterface.php +0 -21
  464. data/helpers/vendor/symfony/console/Exception/InvalidArgumentException.php +0 -19
  465. data/helpers/vendor/symfony/console/Exception/InvalidOptionException.php +0 -21
  466. data/helpers/vendor/symfony/console/Exception/LogicException.php +0 -19
  467. data/helpers/vendor/symfony/console/Exception/NamespaceNotFoundException.php +0 -21
  468. data/helpers/vendor/symfony/console/Exception/RuntimeException.php +0 -19
  469. data/helpers/vendor/symfony/console/Formatter/OutputFormatter.php +0 -282
  470. data/helpers/vendor/symfony/console/Formatter/OutputFormatterInterface.php +0 -71
  471. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyle.php +0 -203
  472. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php +0 -62
  473. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php +0 -110
  474. data/helpers/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php +0 -25
  475. data/helpers/vendor/symfony/console/Helper/DebugFormatterHelper.php +0 -127
  476. data/helpers/vendor/symfony/console/Helper/DescriptorHelper.php +0 -94
  477. data/helpers/vendor/symfony/console/Helper/FormatterHelper.php +0 -106
  478. data/helpers/vendor/symfony/console/Helper/Helper.php +0 -138
  479. data/helpers/vendor/symfony/console/Helper/HelperInterface.php +0 -39
  480. data/helpers/vendor/symfony/console/Helper/HelperSet.php +0 -108
  481. data/helpers/vendor/symfony/console/Helper/InputAwareHelper.php +0 -33
  482. data/helpers/vendor/symfony/console/Helper/ProcessHelper.php +0 -156
  483. data/helpers/vendor/symfony/console/Helper/ProgressBar.php +0 -527
  484. data/helpers/vendor/symfony/console/Helper/ProgressIndicator.php +0 -269
  485. data/helpers/vendor/symfony/console/Helper/QuestionHelper.php +0 -447
  486. data/helpers/vendor/symfony/console/Helper/SymfonyQuestionHelper.php +0 -96
  487. data/helpers/vendor/symfony/console/Helper/Table.php +0 -813
  488. data/helpers/vendor/symfony/console/Helper/TableCell.php +0 -68
  489. data/helpers/vendor/symfony/console/Helper/TableRows.php +0 -32
  490. data/helpers/vendor/symfony/console/Helper/TableSeparator.php +0 -25
  491. data/helpers/vendor/symfony/console/Helper/TableStyle.php +0 -458
  492. data/helpers/vendor/symfony/console/Input/ArgvInput.php +0 -365
  493. data/helpers/vendor/symfony/console/Input/ArrayInput.php +0 -206
  494. data/helpers/vendor/symfony/console/Input/Input.php +0 -203
  495. data/helpers/vendor/symfony/console/Input/InputArgument.php +0 -129
  496. data/helpers/vendor/symfony/console/Input/InputAwareInterface.php +0 -26
  497. data/helpers/vendor/symfony/console/Input/InputDefinition.php +0 -404
  498. data/helpers/vendor/symfony/console/Input/InputInterface.php +0 -163
  499. data/helpers/vendor/symfony/console/Input/InputOption.php +0 -208
  500. data/helpers/vendor/symfony/console/Input/StreamableInputInterface.php +0 -37
  501. data/helpers/vendor/symfony/console/Input/StringInput.php +0 -72
  502. data/helpers/vendor/symfony/console/LICENSE +0 -19
  503. data/helpers/vendor/symfony/console/Logger/ConsoleLogger.php +0 -124
  504. data/helpers/vendor/symfony/console/Output/BufferedOutput.php +0 -45
  505. data/helpers/vendor/symfony/console/Output/ConsoleOutput.php +0 -161
  506. data/helpers/vendor/symfony/console/Output/ConsoleOutputInterface.php +0 -32
  507. data/helpers/vendor/symfony/console/Output/ConsoleSectionOutput.php +0 -141
  508. data/helpers/vendor/symfony/console/Output/NullOutput.php +0 -123
  509. data/helpers/vendor/symfony/console/Output/Output.php +0 -177
  510. data/helpers/vendor/symfony/console/Output/OutputInterface.php +0 -114
  511. data/helpers/vendor/symfony/console/Output/StreamOutput.php +0 -124
  512. data/helpers/vendor/symfony/console/Question/ChoiceQuestion.php +0 -184
  513. data/helpers/vendor/symfony/console/Question/ConfirmationQuestion.php +0 -59
  514. data/helpers/vendor/symfony/console/Question/Question.php +0 -246
  515. data/helpers/vendor/symfony/console/README.md +0 -20
  516. data/helpers/vendor/symfony/console/Resources/bin/hiddeninput.exe +0 -0
  517. data/helpers/vendor/symfony/console/Style/OutputStyle.php +0 -155
  518. data/helpers/vendor/symfony/console/Style/StyleInterface.php +0 -154
  519. data/helpers/vendor/symfony/console/Style/SymfonyStyle.php +0 -438
  520. data/helpers/vendor/symfony/console/Terminal.php +0 -137
  521. data/helpers/vendor/symfony/console/Tester/ApplicationTester.php +0 -77
  522. data/helpers/vendor/symfony/console/Tester/CommandTester.php +0 -78
  523. data/helpers/vendor/symfony/console/Tester/TesterTrait.php +0 -177
  524. data/helpers/vendor/symfony/console/Tests/ApplicationTest.php +0 -1814
  525. data/helpers/vendor/symfony/console/Tests/Command/CommandTest.php +0 -436
  526. data/helpers/vendor/symfony/console/Tests/Command/HelpCommandTest.php +0 -71
  527. data/helpers/vendor/symfony/console/Tests/Command/ListCommandTest.php +0 -113
  528. data/helpers/vendor/symfony/console/Tests/Command/LockableTraitTest.php +0 -67
  529. data/helpers/vendor/symfony/console/Tests/CommandLoader/ContainerCommandLoaderTest.php +0 -61
  530. data/helpers/vendor/symfony/console/Tests/CommandLoader/FactoryCommandLoaderTest.php +0 -60
  531. data/helpers/vendor/symfony/console/Tests/DependencyInjection/AddConsoleCommandPassTest.php +0 -258
  532. data/helpers/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php +0 -107
  533. data/helpers/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php +0 -35
  534. data/helpers/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php +0 -45
  535. data/helpers/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php +0 -82
  536. data/helpers/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php +0 -53
  537. data/helpers/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php +0 -27
  538. data/helpers/vendor/symfony/console/Tests/EventListener/ErrorListenerTest.php +0 -156
  539. data/helpers/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php +0 -11
  540. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php +0 -18
  541. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php +0 -26
  542. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplicationMbString.php +0 -24
  543. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php +0 -27
  544. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php +0 -32
  545. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand3.php +0 -27
  546. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand4.php +0 -25
  547. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommandMbString.php +0 -32
  548. data/helpers/vendor/symfony/console/Tests/Fixtures/DummyOutput.php +0 -36
  549. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo1Command.php +0 -26
  550. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo2Command.php +0 -21
  551. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo3Command.php +0 -29
  552. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo4Command.php +0 -11
  553. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo5Command.php +0 -10
  554. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo6Command.php +0 -11
  555. data/helpers/vendor/symfony/console/Tests/Fixtures/FooCommand.php +0 -33
  556. data/helpers/vendor/symfony/console/Tests/Fixtures/FooLock2Command.php +0 -28
  557. data/helpers/vendor/symfony/console/Tests/Fixtures/FooLockCommand.php +0 -27
  558. data/helpers/vendor/symfony/console/Tests/Fixtures/FooOptCommand.php +0 -36
  559. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSameCaseLowercaseCommand.php +0 -11
  560. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSameCaseUppercaseCommand.php +0 -11
  561. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php +0 -26
  562. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php +0 -26
  563. data/helpers/vendor/symfony/console/Tests/Fixtures/FooWithoutAliasCommand.php +0 -21
  564. data/helpers/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php +0 -25
  565. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php +0 -11
  566. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php +0 -13
  567. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_10.php +0 -17
  568. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_11.php +0 -12
  569. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_12.php +0 -13
  570. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_13.php +0 -14
  571. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_14.php +0 -17
  572. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_15.php +0 -14
  573. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_16.php +0 -15
  574. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_17.php +0 -13
  575. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php +0 -16
  576. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php +0 -12
  577. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php +0 -34
  578. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4_with_iterators.php +0 -34
  579. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php +0 -37
  580. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php +0 -16
  581. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php +0 -15
  582. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_8.php +0 -26
  583. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_9.php +0 -11
  584. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/interactive_command_1.php +0 -19
  585. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/interactive_output_1.txt +0 -7
  586. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt +0 -3
  587. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt +0 -9
  588. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_10.txt +0 -7
  589. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_11.txt +0 -4
  590. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_12.txt +0 -6
  591. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_13.txt +0 -7
  592. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_14.txt +0 -6
  593. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_15.txt +0 -7
  594. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_16.txt +0 -8
  595. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_17.txt +0 -7
  596. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt +0 -13
  597. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt +0 -7
  598. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt +0 -32
  599. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4_with_iterators.txt +0 -32
  600. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt +0 -18
  601. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt +0 -6
  602. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt +0 -5
  603. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_8.txt +0 -9
  604. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_9.txt +0 -5
  605. data/helpers/vendor/symfony/console/Tests/Fixtures/TestCommand.php +0 -28
  606. data/helpers/vendor/symfony/console/Tests/Fixtures/TestTiti.php +0 -21
  607. data/helpers/vendor/symfony/console/Tests/Fixtures/TestToto.php +0 -22
  608. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.json +0 -156
  609. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.md +0 -172
  610. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.txt +0 -17
  611. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.xml +0 -104
  612. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.json +0 -509
  613. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.md +0 -431
  614. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.txt +0 -21
  615. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.xml +0 -254
  616. data/helpers/vendor/symfony/console/Tests/Fixtures/application_filtered_namespace.txt +0 -16
  617. data/helpers/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt +0 -1
  618. data/helpers/vendor/symfony/console/Tests/Fixtures/application_mbstring.md +0 -269
  619. data/helpers/vendor/symfony/console/Tests/Fixtures/application_mbstring.txt +0 -19
  620. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt +0 -5
  621. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt +0 -7
  622. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt +0 -18
  623. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt +0 -18
  624. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt +0 -6
  625. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt +0 -8
  626. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt +0 -8
  627. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt +0 -9
  628. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_escapeslines.txt +0 -9
  629. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_linebreaks.txt +0 -11
  630. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run1.txt +0 -17
  631. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run2.txt +0 -29
  632. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run3.txt +0 -29
  633. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run4.txt +0 -1
  634. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.json +0 -15
  635. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.md +0 -12
  636. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.txt +0 -10
  637. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.xml +0 -12
  638. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.json +0 -33
  639. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.md +0 -29
  640. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.txt +0 -16
  641. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.xml +0 -21
  642. data/helpers/vendor/symfony/console/Tests/Fixtures/command_mbstring.md +0 -29
  643. data/helpers/vendor/symfony/console/Tests/Fixtures/command_mbstring.txt +0 -16
  644. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.json +0 -7
  645. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.md +0 -5
  646. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt +0 -1
  647. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml +0 -5
  648. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.json +0 -7
  649. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.md +0 -7
  650. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt +0 -1
  651. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml +0 -5
  652. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.json +0 -7
  653. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.md +0 -7
  654. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt +0 -1
  655. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml +0 -7
  656. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.json +0 -7
  657. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.md +0 -8
  658. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt +0 -2
  659. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml +0 -6
  660. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.json +0 -7
  661. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.md +0 -7
  662. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.txt +0 -1
  663. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.xml +0 -7
  664. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.json +0 -7
  665. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.md +0 -7
  666. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.txt +0 -1
  667. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.xml +0 -7
  668. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.json +0 -4
  669. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.md +0 -0
  670. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt +0 -0
  671. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml +0 -5
  672. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.json +0 -12
  673. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.md +0 -7
  674. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt +0 -2
  675. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml +0 -10
  676. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.json +0 -14
  677. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.md +0 -8
  678. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt +0 -2
  679. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml +0 -9
  680. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.json +0 -22
  681. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.md +0 -16
  682. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt +0 -5
  683. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml +0 -14
  684. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.json +0 -9
  685. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.md +0 -6
  686. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.txt +0 -1
  687. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.xml +0 -4
  688. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.json +0 -9
  689. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.md +0 -8
  690. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.txt +0 -1
  691. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.xml +0 -7
  692. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.json +0 -9
  693. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.md +0 -8
  694. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.txt +0 -1
  695. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.xml +0 -5
  696. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.json +0 -9
  697. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.md +0 -8
  698. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.txt +0 -1
  699. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.xml +0 -5
  700. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.json +0 -9
  701. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.md +0 -9
  702. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.txt +0 -2
  703. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.xml +0 -6
  704. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.json +0 -9
  705. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.md +0 -8
  706. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.txt +0 -1
  707. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.xml +0 -5
  708. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.json +0 -9
  709. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.md +0 -8
  710. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.txt +0 -1
  711. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.xml +0 -7
  712. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.json +0 -9
  713. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.md +0 -8
  714. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.txt +0 -1
  715. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.xml +0 -7
  716. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.json +0 -12
  717. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.md +0 -8
  718. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.txt +0 -1
  719. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.xml +0 -8
  720. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php +0 -71
  721. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php +0 -100
  722. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php +0 -355
  723. data/helpers/vendor/symfony/console/Tests/Helper/AbstractQuestionHelperTest.php +0 -34
  724. data/helpers/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php +0 -129
  725. data/helpers/vendor/symfony/console/Tests/Helper/HelperSetTest.php +0 -127
  726. data/helpers/vendor/symfony/console/Tests/Helper/HelperTest.php +0 -55
  727. data/helpers/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php +0 -133
  728. data/helpers/vendor/symfony/console/Tests/Helper/ProgressBarTest.php +0 -912
  729. data/helpers/vendor/symfony/console/Tests/Helper/ProgressIndicatorTest.php +0 -183
  730. data/helpers/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php +0 -715
  731. data/helpers/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php +0 -168
  732. data/helpers/vendor/symfony/console/Tests/Helper/TableStyleTest.php +0 -28
  733. data/helpers/vendor/symfony/console/Tests/Helper/TableTest.php +0 -1199
  734. data/helpers/vendor/symfony/console/Tests/Input/ArgvInputTest.php +0 -466
  735. data/helpers/vendor/symfony/console/Tests/Input/ArrayInputTest.php +0 -177
  736. data/helpers/vendor/symfony/console/Tests/Input/InputArgumentTest.php +0 -103
  737. data/helpers/vendor/symfony/console/Tests/Input/InputDefinitionTest.php +0 -407
  738. data/helpers/vendor/symfony/console/Tests/Input/InputOptionTest.php +0 -196
  739. data/helpers/vendor/symfony/console/Tests/Input/InputTest.php +0 -149
  740. data/helpers/vendor/symfony/console/Tests/Input/StringInputTest.php +0 -87
  741. data/helpers/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php +0 -215
  742. data/helpers/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php +0 -42
  743. data/helpers/vendor/symfony/console/Tests/Output/ConsoleSectionOutputTest.php +0 -163
  744. data/helpers/vendor/symfony/console/Tests/Output/NullOutputTest.php +0 -88
  745. data/helpers/vendor/symfony/console/Tests/Output/OutputTest.php +0 -189
  746. data/helpers/vendor/symfony/console/Tests/Output/StreamOutputTest.php +0 -61
  747. data/helpers/vendor/symfony/console/Tests/Question/ConfirmationQuestionTest.php +0 -62
  748. data/helpers/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php +0 -118
  749. data/helpers/vendor/symfony/console/Tests/TerminalTest.php +0 -59
  750. data/helpers/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php +0 -113
  751. data/helpers/vendor/symfony/console/Tests/Tester/CommandTesterTest.php +0 -235
  752. data/helpers/vendor/symfony/console/composer.json +0 -56
  753. data/helpers/vendor/symfony/console/phpunit.xml.dist +0 -41
  754. data/helpers/vendor/symfony/contracts/.gitignore +0 -3
  755. data/helpers/vendor/symfony/contracts/CHANGELOG.md +0 -12
  756. data/helpers/vendor/symfony/contracts/Cache/CacheInterface.php +0 -57
  757. data/helpers/vendor/symfony/contracts/Cache/CacheTrait.php +0 -71
  758. data/helpers/vendor/symfony/contracts/Cache/CallbackInterface.php +0 -30
  759. data/helpers/vendor/symfony/contracts/Cache/ItemInterface.php +0 -60
  760. data/helpers/vendor/symfony/contracts/Cache/TagAwareCacheInterface.php +0 -38
  761. data/helpers/vendor/symfony/contracts/LICENSE +0 -19
  762. data/helpers/vendor/symfony/contracts/README.md +0 -70
  763. data/helpers/vendor/symfony/contracts/Service/ResetInterface.php +0 -30
  764. data/helpers/vendor/symfony/contracts/Service/ServiceLocatorTrait.php +0 -97
  765. data/helpers/vendor/symfony/contracts/Service/ServiceSubscriberInterface.php +0 -53
  766. data/helpers/vendor/symfony/contracts/Service/ServiceSubscriberTrait.php +0 -61
  767. data/helpers/vendor/symfony/contracts/Tests/Cache/CacheTraitTest.php +0 -165
  768. data/helpers/vendor/symfony/contracts/Tests/Service/ServiceLocatorTest.php +0 -94
  769. data/helpers/vendor/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php +0 -65
  770. data/helpers/vendor/symfony/contracts/Tests/Translation/TranslatorTest.php +0 -353
  771. data/helpers/vendor/symfony/contracts/Translation/LocaleAwareInterface.php +0 -31
  772. data/helpers/vendor/symfony/contracts/Translation/TranslatorInterface.php +0 -65
  773. data/helpers/vendor/symfony/contracts/Translation/TranslatorTrait.php +0 -255
  774. data/helpers/vendor/symfony/contracts/composer.json +0 -44
  775. data/helpers/vendor/symfony/contracts/phpunit.xml.dist +0 -31
  776. data/helpers/vendor/symfony/filesystem/.gitignore +0 -3
  777. data/helpers/vendor/symfony/filesystem/CHANGELOG.md +0 -59
  778. data/helpers/vendor/symfony/filesystem/Exception/ExceptionInterface.php +0 -21
  779. data/helpers/vendor/symfony/filesystem/Exception/FileNotFoundException.php +0 -34
  780. data/helpers/vendor/symfony/filesystem/Exception/IOException.php +0 -39
  781. data/helpers/vendor/symfony/filesystem/Exception/IOExceptionInterface.php +0 -27
  782. data/helpers/vendor/symfony/filesystem/Exception/InvalidArgumentException.php +0 -19
  783. data/helpers/vendor/symfony/filesystem/Filesystem.php +0 -767
  784. data/helpers/vendor/symfony/filesystem/LICENSE +0 -19
  785. data/helpers/vendor/symfony/filesystem/README.md +0 -13
  786. data/helpers/vendor/symfony/filesystem/Tests/ExceptionTest.php +0 -47
  787. data/helpers/vendor/symfony/filesystem/Tests/FilesystemTest.php +0 -1686
  788. data/helpers/vendor/symfony/filesystem/Tests/FilesystemTestCase.php +0 -166
  789. data/helpers/vendor/symfony/filesystem/Tests/Fixtures/MockStream/MockStream.php +0 -46
  790. data/helpers/vendor/symfony/filesystem/composer.json +0 -34
  791. data/helpers/vendor/symfony/filesystem/phpunit.xml.dist +0 -30
  792. data/helpers/vendor/symfony/finder/.gitignore +0 -3
  793. data/helpers/vendor/symfony/finder/CHANGELOG.md +0 -69
  794. data/helpers/vendor/symfony/finder/Comparator/Comparator.php +0 -98
  795. data/helpers/vendor/symfony/finder/Comparator/DateComparator.php +0 -51
  796. data/helpers/vendor/symfony/finder/Comparator/NumberComparator.php +0 -79
  797. data/helpers/vendor/symfony/finder/Exception/AccessDeniedException.php +0 -19
  798. data/helpers/vendor/symfony/finder/Finder.php +0 -783
  799. data/helpers/vendor/symfony/finder/Glob.php +0 -116
  800. data/helpers/vendor/symfony/finder/Iterator/CustomFilterIterator.php +0 -61
  801. data/helpers/vendor/symfony/finder/Iterator/DateRangeFilterIterator.php +0 -58
  802. data/helpers/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php +0 -45
  803. data/helpers/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php +0 -84
  804. data/helpers/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php +0 -53
  805. data/helpers/vendor/symfony/finder/Iterator/FilecontentFilterIterator.php +0 -58
  806. data/helpers/vendor/symfony/finder/Iterator/FilenameFilterIterator.php +0 -47
  807. data/helpers/vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php +0 -112
  808. data/helpers/vendor/symfony/finder/Iterator/PathFilterIterator.php +0 -56
  809. data/helpers/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php +0 -140
  810. data/helpers/vendor/symfony/finder/Iterator/SizeRangeFilterIterator.php +0 -57
  811. data/helpers/vendor/symfony/finder/Iterator/SortableIterator.php +0 -99
  812. data/helpers/vendor/symfony/finder/LICENSE +0 -19
  813. data/helpers/vendor/symfony/finder/README.md +0 -14
  814. data/helpers/vendor/symfony/finder/SplFileInfo.php +0 -78
  815. data/helpers/vendor/symfony/finder/Tests/Comparator/ComparatorTest.php +0 -65
  816. data/helpers/vendor/symfony/finder/Tests/Comparator/DateComparatorTest.php +0 -64
  817. data/helpers/vendor/symfony/finder/Tests/Comparator/NumberComparatorTest.php +0 -108
  818. data/helpers/vendor/symfony/finder/Tests/FinderTest.php +0 -1384
  819. data/helpers/vendor/symfony/finder/Tests/Fixtures/.dot/a +0 -0
  820. data/helpers/vendor/symfony/finder/Tests/Fixtures/.dot/b/c.neon +0 -0
  821. data/helpers/vendor/symfony/finder/Tests/Fixtures/.dot/b/d.neon +0 -0
  822. data/helpers/vendor/symfony/finder/Tests/Fixtures/A/B/C/abc.dat +0 -0
  823. data/helpers/vendor/symfony/finder/Tests/Fixtures/A/B/ab.dat +0 -0
  824. data/helpers/vendor/symfony/finder/Tests/Fixtures/A/a.dat +0 -0
  825. data/helpers/vendor/symfony/finder/Tests/Fixtures/copy/A/B/C/abc.dat.copy +0 -0
  826. data/helpers/vendor/symfony/finder/Tests/Fixtures/copy/A/B/ab.dat.copy +0 -0
  827. data/helpers/vendor/symfony/finder/Tests/Fixtures/copy/A/a.dat.copy +0 -0
  828. data/helpers/vendor/symfony/finder/Tests/Fixtures/dolor.txt +0 -2
  829. data/helpers/vendor/symfony/finder/Tests/Fixtures/ipsum.txt +0 -2
  830. data/helpers/vendor/symfony/finder/Tests/Fixtures/lorem.txt +0 -2
  831. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/.dot +0 -1
  832. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/a +0 -0
  833. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/b/c.neon +0 -0
  834. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/b/d.neon +0 -0
  835. data/helpers/vendor/symfony/finder/Tests/Fixtures/r+e.gex[c]a(r)s/dir/bar.dat +0 -0
  836. data/helpers/vendor/symfony/finder/Tests/Fixtures/with space/foo.txt b/data/helpers/vendor/symfony/finder/Tests/Fixtures/with → space/foo.txt +0 -0
  837. data/helpers/vendor/symfony/finder/Tests/GlobTest.php +0 -95
  838. data/helpers/vendor/symfony/finder/Tests/Iterator/CustomFilterIteratorTest.php +0 -46
  839. data/helpers/vendor/symfony/finder/Tests/Iterator/DateRangeFilterIteratorTest.php +0 -92
  840. data/helpers/vendor/symfony/finder/Tests/Iterator/DepthRangeFilterIteratorTest.php +0 -103
  841. data/helpers/vendor/symfony/finder/Tests/Iterator/ExcludeDirectoryFilterIteratorTest.php +0 -107
  842. data/helpers/vendor/symfony/finder/Tests/Iterator/FileTypeFilterIteratorTest.php +0 -82
  843. data/helpers/vendor/symfony/finder/Tests/Iterator/FilecontentFilterIteratorTest.php +0 -86
  844. data/helpers/vendor/symfony/finder/Tests/Iterator/FilenameFilterIteratorTest.php +0 -54
  845. data/helpers/vendor/symfony/finder/Tests/Iterator/Iterator.php +0 -55
  846. data/helpers/vendor/symfony/finder/Tests/Iterator/IteratorTestCase.php +0 -100
  847. data/helpers/vendor/symfony/finder/Tests/Iterator/MockFileListIterator.php +0 -21
  848. data/helpers/vendor/symfony/finder/Tests/Iterator/MockSplFileInfo.php +0 -132
  849. data/helpers/vendor/symfony/finder/Tests/Iterator/MultiplePcreFilterIteratorTest.php +0 -71
  850. data/helpers/vendor/symfony/finder/Tests/Iterator/PathFilterIteratorTest.php +0 -82
  851. data/helpers/vendor/symfony/finder/Tests/Iterator/RealIteratorTestCase.php +0 -128
  852. data/helpers/vendor/symfony/finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php +0 -59
  853. data/helpers/vendor/symfony/finder/Tests/Iterator/SizeRangeFilterIteratorTest.php +0 -70
  854. data/helpers/vendor/symfony/finder/Tests/Iterator/SortableIteratorTest.php +0 -262
  855. data/helpers/vendor/symfony/finder/composer.json +0 -33
  856. data/helpers/vendor/symfony/finder/phpunit.xml.dist +0 -30
  857. data/helpers/vendor/symfony/polyfill-ctype/Ctype.php +0 -227
  858. data/helpers/vendor/symfony/polyfill-ctype/LICENSE +0 -19
  859. data/helpers/vendor/symfony/polyfill-ctype/README.md +0 -12
  860. data/helpers/vendor/symfony/polyfill-ctype/bootstrap.php +0 -26
  861. data/helpers/vendor/symfony/polyfill-ctype/composer.json +0 -34
  862. data/helpers/vendor/symfony/polyfill-mbstring/LICENSE +0 -19
  863. data/helpers/vendor/symfony/polyfill-mbstring/Mbstring.php +0 -800
  864. data/helpers/vendor/symfony/polyfill-mbstring/README.md +0 -13
  865. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +0 -1096
  866. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +0 -5
  867. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +0 -1104
  868. data/helpers/vendor/symfony/polyfill-mbstring/bootstrap.php +0 -58
  869. data/helpers/vendor/symfony/polyfill-mbstring/composer.json +0 -34
  870. data/helpers/vendor/symfony/process/.gitignore +0 -3
  871. data/helpers/vendor/symfony/process/CHANGELOG.md +0 -90
  872. data/helpers/vendor/symfony/process/Exception/ExceptionInterface.php +0 -21
  873. data/helpers/vendor/symfony/process/Exception/InvalidArgumentException.php +0 -21
  874. data/helpers/vendor/symfony/process/Exception/LogicException.php +0 -21
  875. data/helpers/vendor/symfony/process/Exception/ProcessFailedException.php +0 -54
  876. data/helpers/vendor/symfony/process/Exception/ProcessSignaledException.php +0 -41
  877. data/helpers/vendor/symfony/process/Exception/ProcessTimedOutException.php +0 -69
  878. data/helpers/vendor/symfony/process/Exception/RuntimeException.php +0 -21
  879. data/helpers/vendor/symfony/process/ExecutableFinder.php +0 -88
  880. data/helpers/vendor/symfony/process/InputStream.php +0 -90
  881. data/helpers/vendor/symfony/process/LICENSE +0 -19
  882. data/helpers/vendor/symfony/process/PhpExecutableFinder.php +0 -101
  883. data/helpers/vendor/symfony/process/PhpProcess.php +0 -75
  884. data/helpers/vendor/symfony/process/Pipes/AbstractPipes.php +0 -178
  885. data/helpers/vendor/symfony/process/Pipes/PipesInterface.php +0 -67
  886. data/helpers/vendor/symfony/process/Pipes/UnixPipes.php +0 -153
  887. data/helpers/vendor/symfony/process/Pipes/WindowsPipes.php +0 -191
  888. data/helpers/vendor/symfony/process/Process.php +0 -1652
  889. data/helpers/vendor/symfony/process/ProcessUtils.php +0 -69
  890. data/helpers/vendor/symfony/process/README.md +0 -13
  891. data/helpers/vendor/symfony/process/Tests/ExecutableFinderTest.php +0 -178
  892. data/helpers/vendor/symfony/process/Tests/KillableProcessWithOutput.php +0 -25
  893. data/helpers/vendor/symfony/process/Tests/NonStopableProcess.php +0 -47
  894. data/helpers/vendor/symfony/process/Tests/PhpExecutableFinderTest.php +0 -49
  895. data/helpers/vendor/symfony/process/Tests/PhpProcessTest.php +0 -63
  896. data/helpers/vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php +0 -72
  897. data/helpers/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php +0 -137
  898. data/helpers/vendor/symfony/process/Tests/ProcessTest.php +0 -1537
  899. data/helpers/vendor/symfony/process/Tests/SignalListener.php +0 -21
  900. data/helpers/vendor/symfony/process/composer.json +0 -33
  901. data/helpers/vendor/symfony/process/phpunit.xml.dist +0 -30
@@ -1,72 +0,0 @@
1
- <?php
2
-
3
- /*
4
- * This file is part of the Symfony package.
5
- *
6
- * (c) Fabien Potencier <fabien@symfony.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
-
12
- define('ERR_SELECT_FAILED', 1);
13
- define('ERR_TIMEOUT', 2);
14
- define('ERR_READ_FAILED', 3);
15
- define('ERR_WRITE_FAILED', 4);
16
-
17
- $read = [STDIN];
18
- $write = [STDOUT, STDERR];
19
-
20
- stream_set_blocking(STDIN, 0);
21
- stream_set_blocking(STDOUT, 0);
22
- stream_set_blocking(STDERR, 0);
23
-
24
- $out = $err = '';
25
- while ($read || $write) {
26
- $r = $read;
27
- $w = $write;
28
- $e = null;
29
- $n = stream_select($r, $w, $e, 5);
30
-
31
- if (false === $n) {
32
- die(ERR_SELECT_FAILED);
33
- } elseif ($n < 1) {
34
- die(ERR_TIMEOUT);
35
- }
36
-
37
- if (in_array(STDOUT, $w) && strlen($out) > 0) {
38
- $written = fwrite(STDOUT, (string) $out, 32768);
39
- if (false === $written) {
40
- die(ERR_WRITE_FAILED);
41
- }
42
- $out = (string) substr($out, $written);
43
- }
44
- if (null === $read && '' === $out) {
45
- $write = array_diff($write, [STDOUT]);
46
- }
47
-
48
- if (in_array(STDERR, $w) && strlen($err) > 0) {
49
- $written = fwrite(STDERR, (string) $err, 32768);
50
- if (false === $written) {
51
- die(ERR_WRITE_FAILED);
52
- }
53
- $err = (string) substr($err, $written);
54
- }
55
- if (null === $read && '' === $err) {
56
- $write = array_diff($write, [STDERR]);
57
- }
58
-
59
- if ($r) {
60
- $str = fread(STDIN, 32768);
61
- if (false !== $str) {
62
- $out .= $str;
63
- $err .= $str;
64
- }
65
- if (false === $str || feof(STDIN)) {
66
- $read = null;
67
- if (!feof(STDIN)) {
68
- die(ERR_READ_FAILED);
69
- }
70
- }
71
- }
72
- }
@@ -1,137 +0,0 @@
1
- <?php
2
-
3
- /*
4
- * This file is part of the Symfony package.
5
- *
6
- * (c) Fabien Potencier <fabien@symfony.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
-
12
- namespace Symfony\Component\Process\Tests;
13
-
14
- use PHPUnit\Framework\TestCase;
15
- use Symfony\Component\Process\Exception\ProcessFailedException;
16
-
17
- /**
18
- * @author Sebastian Marek <proofek@gmail.com>
19
- */
20
- class ProcessFailedExceptionTest extends TestCase
21
- {
22
- /**
23
- * tests ProcessFailedException throws exception if the process was successful.
24
- */
25
- public function testProcessFailedExceptionThrowsException()
26
- {
27
- $process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(['isSuccessful'])->setConstructorArgs([['php']])->getMock();
28
- $process->expects($this->once())
29
- ->method('isSuccessful')
30
- ->will($this->returnValue(true));
31
-
32
- if (method_exists($this, 'expectException')) {
33
- $this->expectException(\InvalidArgumentException::class);
34
- $this->expectExceptionMessage('Expected a failed process, but the given process was successful.');
35
- } else {
36
- $this->setExpectedException(\InvalidArgumentException::class, 'Expected a failed process, but the given process was successful.');
37
- }
38
-
39
- new ProcessFailedException($process);
40
- }
41
-
42
- /**
43
- * tests ProcessFailedException uses information from process output
44
- * to generate exception message.
45
- */
46
- public function testProcessFailedExceptionPopulatesInformationFromProcessOutput()
47
- {
48
- $cmd = 'php';
49
- $exitCode = 1;
50
- $exitText = 'General error';
51
- $output = 'Command output';
52
- $errorOutput = 'FATAL: Unexpected error';
53
- $workingDirectory = getcwd();
54
-
55
- $process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(['isSuccessful', 'getOutput', 'getErrorOutput', 'getExitCode', 'getExitCodeText', 'isOutputDisabled', 'getWorkingDirectory'])->setConstructorArgs([[$cmd]])->getMock();
56
- $process->expects($this->once())
57
- ->method('isSuccessful')
58
- ->will($this->returnValue(false));
59
-
60
- $process->expects($this->once())
61
- ->method('getOutput')
62
- ->will($this->returnValue($output));
63
-
64
- $process->expects($this->once())
65
- ->method('getErrorOutput')
66
- ->will($this->returnValue($errorOutput));
67
-
68
- $process->expects($this->once())
69
- ->method('getExitCode')
70
- ->will($this->returnValue($exitCode));
71
-
72
- $process->expects($this->once())
73
- ->method('getExitCodeText')
74
- ->will($this->returnValue($exitText));
75
-
76
- $process->expects($this->once())
77
- ->method('isOutputDisabled')
78
- ->will($this->returnValue(false));
79
-
80
- $process->expects($this->once())
81
- ->method('getWorkingDirectory')
82
- ->will($this->returnValue($workingDirectory));
83
-
84
- $exception = new ProcessFailedException($process);
85
-
86
- $this->assertEquals(
87
- "The command \"$cmd\" failed.\n\nExit Code: $exitCode($exitText)\n\nWorking directory: {$workingDirectory}\n\nOutput:\n================\n{$output}\n\nError Output:\n================\n{$errorOutput}",
88
- str_replace("'php'", 'php', $exception->getMessage())
89
- );
90
- }
91
-
92
- /**
93
- * Tests that ProcessFailedException does not extract information from
94
- * process output if it was previously disabled.
95
- */
96
- public function testDisabledOutputInFailedExceptionDoesNotPopulateOutput()
97
- {
98
- $cmd = 'php';
99
- $exitCode = 1;
100
- $exitText = 'General error';
101
- $workingDirectory = getcwd();
102
-
103
- $process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(['isSuccessful', 'isOutputDisabled', 'getExitCode', 'getExitCodeText', 'getOutput', 'getErrorOutput', 'getWorkingDirectory'])->setConstructorArgs([[$cmd]])->getMock();
104
- $process->expects($this->once())
105
- ->method('isSuccessful')
106
- ->will($this->returnValue(false));
107
-
108
- $process->expects($this->never())
109
- ->method('getOutput');
110
-
111
- $process->expects($this->never())
112
- ->method('getErrorOutput');
113
-
114
- $process->expects($this->once())
115
- ->method('getExitCode')
116
- ->will($this->returnValue($exitCode));
117
-
118
- $process->expects($this->once())
119
- ->method('getExitCodeText')
120
- ->will($this->returnValue($exitText));
121
-
122
- $process->expects($this->once())
123
- ->method('isOutputDisabled')
124
- ->will($this->returnValue(true));
125
-
126
- $process->expects($this->once())
127
- ->method('getWorkingDirectory')
128
- ->will($this->returnValue($workingDirectory));
129
-
130
- $exception = new ProcessFailedException($process);
131
-
132
- $this->assertEquals(
133
- "The command \"$cmd\" failed.\n\nExit Code: $exitCode($exitText)\n\nWorking directory: {$workingDirectory}",
134
- str_replace("'php'", 'php', $exception->getMessage())
135
- );
136
- }
137
- }
@@ -1,1537 +0,0 @@
1
- <?php
2
-
3
- /*
4
- * This file is part of the Symfony package.
5
- *
6
- * (c) Fabien Potencier <fabien@symfony.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
-
12
- namespace Symfony\Component\Process\Tests;
13
-
14
- use PHPUnit\Framework\TestCase;
15
- use Symfony\Component\Process\Exception\LogicException;
16
- use Symfony\Component\Process\Exception\ProcessTimedOutException;
17
- use Symfony\Component\Process\Exception\RuntimeException;
18
- use Symfony\Component\Process\InputStream;
19
- use Symfony\Component\Process\PhpExecutableFinder;
20
- use Symfony\Component\Process\Pipes\PipesInterface;
21
- use Symfony\Component\Process\Process;
22
-
23
- /**
24
- * @author Robert Schönthal <seroscho@googlemail.com>
25
- */
26
- class ProcessTest extends TestCase
27
- {
28
- private static $phpBin;
29
- private static $process;
30
- private static $sigchild;
31
-
32
- public static function setUpBeforeClass()
33
- {
34
- $phpBin = new PhpExecutableFinder();
35
- self::$phpBin = getenv('SYMFONY_PROCESS_PHP_TEST_BINARY') ?: ('phpdbg' === \PHP_SAPI ? 'php' : $phpBin->find());
36
-
37
- ob_start();
38
- phpinfo(INFO_GENERAL);
39
- self::$sigchild = false !== strpos(ob_get_clean(), '--enable-sigchild');
40
- }
41
-
42
- protected function tearDown()
43
- {
44
- if (self::$process) {
45
- self::$process->stop(0);
46
- self::$process = null;
47
- }
48
- }
49
-
50
- /**
51
- * @expectedException \Symfony\Component\Process\Exception\RuntimeException
52
- * @expectedExceptionMessage The provided cwd does not exist.
53
- */
54
- public function testInvalidCwd()
55
- {
56
- try {
57
- // Check that it works fine if the CWD exists
58
- $cmd = new Process(['echo', 'test'], __DIR__);
59
- $cmd->run();
60
- } catch (\Exception $e) {
61
- $this->fail($e);
62
- }
63
-
64
- $cmd = new Process(['echo', 'test'], __DIR__.'/notfound/');
65
- $cmd->run();
66
- }
67
-
68
- public function testThatProcessDoesNotThrowWarningDuringRun()
69
- {
70
- if ('\\' === \DIRECTORY_SEPARATOR) {
71
- $this->markTestSkipped('This test is transient on Windows');
72
- }
73
- @trigger_error('Test Error', E_USER_NOTICE);
74
- $process = $this->getProcessForCode('sleep(3)');
75
- $process->run();
76
- $actualError = error_get_last();
77
- $this->assertEquals('Test Error', $actualError['message']);
78
- $this->assertEquals(E_USER_NOTICE, $actualError['type']);
79
- }
80
-
81
- /**
82
- * @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
83
- */
84
- public function testNegativeTimeoutFromConstructor()
85
- {
86
- $this->getProcess('', null, null, null, -1);
87
- }
88
-
89
- /**
90
- * @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
91
- */
92
- public function testNegativeTimeoutFromSetter()
93
- {
94
- $p = $this->getProcess('');
95
- $p->setTimeout(-1);
96
- }
97
-
98
- public function testFloatAndNullTimeout()
99
- {
100
- $p = $this->getProcess('');
101
-
102
- $p->setTimeout(10);
103
- $this->assertSame(10.0, $p->getTimeout());
104
-
105
- $p->setTimeout(null);
106
- $this->assertNull($p->getTimeout());
107
-
108
- $p->setTimeout(0.0);
109
- $this->assertNull($p->getTimeout());
110
- }
111
-
112
- /**
113
- * @requires extension pcntl
114
- */
115
- public function testStopWithTimeoutIsActuallyWorking()
116
- {
117
- $p = $this->getProcess([self::$phpBin, __DIR__.'/NonStopableProcess.php', 30]);
118
- $p->start();
119
-
120
- while ($p->isRunning() && false === strpos($p->getOutput(), 'received')) {
121
- usleep(1000);
122
- }
123
-
124
- if (!$p->isRunning()) {
125
- throw new \LogicException('Process is not running: '.$p->getErrorOutput());
126
- }
127
-
128
- $start = microtime(true);
129
- $p->stop(0.1);
130
-
131
- $p->wait();
132
-
133
- $this->assertLessThan(15, microtime(true) - $start);
134
- }
135
-
136
- public function testWaitUntilSpecificOutput()
137
- {
138
- if ('\\' === \DIRECTORY_SEPARATOR) {
139
- $this->markTestIncomplete('This test is too transient on Windows, help wanted to improve it');
140
- }
141
-
142
- $p = $this->getProcess([self::$phpBin, __DIR__.'/KillableProcessWithOutput.php']);
143
- $p->start();
144
-
145
- $start = microtime(true);
146
-
147
- $completeOutput = '';
148
- $result = $p->waitUntil(function ($type, $output) use (&$completeOutput) {
149
- return false !== strpos($completeOutput .= $output, 'One more');
150
- });
151
- $this->assertTrue($result);
152
- $this->assertLessThan(20, microtime(true) - $start);
153
- $this->assertStringStartsWith("First iteration output\nSecond iteration output\nOne more", $completeOutput);
154
- $p->stop();
155
- }
156
-
157
- public function testWaitUntilCanReturnFalse()
158
- {
159
- $p = $this->getProcess('echo foo');
160
- $p->start();
161
- $this->assertFalse($p->waitUntil(function () { return false; }));
162
- }
163
-
164
- public function testAllOutputIsActuallyReadOnTermination()
165
- {
166
- // this code will result in a maximum of 2 reads of 8192 bytes by calling
167
- // start() and isRunning(). by the time getOutput() is called the process
168
- // has terminated so the internal pipes array is already empty. normally
169
- // the call to start() will not read any data as the process will not have
170
- // generated output, but this is non-deterministic so we must count it as
171
- // a possibility. therefore we need 2 * PipesInterface::CHUNK_SIZE plus
172
- // another byte which will never be read.
173
- $expectedOutputSize = PipesInterface::CHUNK_SIZE * 2 + 2;
174
-
175
- $code = sprintf('echo str_repeat(\'*\', %d);', $expectedOutputSize);
176
- $p = $this->getProcessForCode($code);
177
-
178
- $p->start();
179
-
180
- // Don't call Process::run nor Process::wait to avoid any read of pipes
181
- $h = new \ReflectionProperty($p, 'process');
182
- $h->setAccessible(true);
183
- $h = $h->getValue($p);
184
- $s = @proc_get_status($h);
185
-
186
- while (!empty($s['running'])) {
187
- usleep(1000);
188
- $s = proc_get_status($h);
189
- }
190
-
191
- $o = $p->getOutput();
192
-
193
- $this->assertEquals($expectedOutputSize, \strlen($o));
194
- }
195
-
196
- public function testCallbacksAreExecutedWithStart()
197
- {
198
- $process = $this->getProcess('echo foo');
199
- $process->start(function ($type, $buffer) use (&$data) {
200
- $data .= $buffer;
201
- });
202
-
203
- $process->wait();
204
-
205
- $this->assertSame('foo'.PHP_EOL, $data);
206
- }
207
-
208
- /**
209
- * tests results from sub processes.
210
- *
211
- * @dataProvider responsesCodeProvider
212
- */
213
- public function testProcessResponses($expected, $getter, $code)
214
- {
215
- $p = $this->getProcessForCode($code);
216
- $p->run();
217
-
218
- $this->assertSame($expected, $p->$getter());
219
- }
220
-
221
- /**
222
- * tests results from sub processes.
223
- *
224
- * @dataProvider pipesCodeProvider
225
- */
226
- public function testProcessPipes($code, $size)
227
- {
228
- $expected = str_repeat(str_repeat('*', 1024), $size).'!';
229
- $expectedLength = (1024 * $size) + 1;
230
-
231
- $p = $this->getProcessForCode($code);
232
- $p->setInput($expected);
233
- $p->run();
234
-
235
- $this->assertEquals($expectedLength, \strlen($p->getOutput()));
236
- $this->assertEquals($expectedLength, \strlen($p->getErrorOutput()));
237
- }
238
-
239
- /**
240
- * @dataProvider pipesCodeProvider
241
- */
242
- public function testSetStreamAsInput($code, $size)
243
- {
244
- $expected = str_repeat(str_repeat('*', 1024), $size).'!';
245
- $expectedLength = (1024 * $size) + 1;
246
-
247
- $stream = fopen('php://temporary', 'w+');
248
- fwrite($stream, $expected);
249
- rewind($stream);
250
-
251
- $p = $this->getProcessForCode($code);
252
- $p->setInput($stream);
253
- $p->run();
254
-
255
- fclose($stream);
256
-
257
- $this->assertEquals($expectedLength, \strlen($p->getOutput()));
258
- $this->assertEquals($expectedLength, \strlen($p->getErrorOutput()));
259
- }
260
-
261
- public function testLiveStreamAsInput()
262
- {
263
- $stream = fopen('php://memory', 'r+');
264
- fwrite($stream, 'hello');
265
- rewind($stream);
266
-
267
- $p = $this->getProcessForCode('stream_copy_to_stream(STDIN, STDOUT);');
268
- $p->setInput($stream);
269
- $p->start(function ($type, $data) use ($stream) {
270
- if ('hello' === $data) {
271
- fclose($stream);
272
- }
273
- });
274
- $p->wait();
275
-
276
- $this->assertSame('hello', $p->getOutput());
277
- }
278
-
279
- /**
280
- * @expectedException \Symfony\Component\Process\Exception\LogicException
281
- * @expectedExceptionMessage Input can not be set while the process is running.
282
- */
283
- public function testSetInputWhileRunningThrowsAnException()
284
- {
285
- $process = $this->getProcessForCode('sleep(30);');
286
- $process->start();
287
- try {
288
- $process->setInput('foobar');
289
- $process->stop();
290
- $this->fail('A LogicException should have been raised.');
291
- } catch (LogicException $e) {
292
- }
293
- $process->stop();
294
-
295
- throw $e;
296
- }
297
-
298
- /**
299
- * @dataProvider provideInvalidInputValues
300
- * @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
301
- * @expectedExceptionMessage Symfony\Component\Process\Process::setInput only accepts strings, Traversable objects or stream resources.
302
- */
303
- public function testInvalidInput($value)
304
- {
305
- $process = $this->getProcess('foo');
306
- $process->setInput($value);
307
- }
308
-
309
- public function provideInvalidInputValues()
310
- {
311
- return [
312
- [[]],
313
- [new NonStringifiable()],
314
- ];
315
- }
316
-
317
- /**
318
- * @dataProvider provideInputValues
319
- */
320
- public function testValidInput($expected, $value)
321
- {
322
- $process = $this->getProcess('foo');
323
- $process->setInput($value);
324
- $this->assertSame($expected, $process->getInput());
325
- }
326
-
327
- public function provideInputValues()
328
- {
329
- return [
330
- [null, null],
331
- ['24.5', 24.5],
332
- ['input data', 'input data'],
333
- ];
334
- }
335
-
336
- public function chainedCommandsOutputProvider()
337
- {
338
- if ('\\' === \DIRECTORY_SEPARATOR) {
339
- return [
340
- ["2 \r\n2\r\n", '&&', '2'],
341
- ];
342
- }
343
-
344
- return [
345
- ["1\n1\n", ';', '1'],
346
- ["2\n2\n", '&&', '2'],
347
- ];
348
- }
349
-
350
- /**
351
- * @dataProvider chainedCommandsOutputProvider
352
- */
353
- public function testChainedCommandsOutput($expected, $operator, $input)
354
- {
355
- $process = $this->getProcess(sprintf('echo %s %s echo %s', $input, $operator, $input));
356
- $process->run();
357
- $this->assertEquals($expected, $process->getOutput());
358
- }
359
-
360
- public function testCallbackIsExecutedForOutput()
361
- {
362
- $p = $this->getProcessForCode('echo \'foo\';');
363
-
364
- $called = false;
365
- $p->run(function ($type, $buffer) use (&$called) {
366
- $called = 'foo' === $buffer;
367
- });
368
-
369
- $this->assertTrue($called, 'The callback should be executed with the output');
370
- }
371
-
372
- public function testCallbackIsExecutedForOutputWheneverOutputIsDisabled()
373
- {
374
- $p = $this->getProcessForCode('echo \'foo\';');
375
- $p->disableOutput();
376
-
377
- $called = false;
378
- $p->run(function ($type, $buffer) use (&$called) {
379
- $called = 'foo' === $buffer;
380
- });
381
-
382
- $this->assertTrue($called, 'The callback should be executed with the output');
383
- }
384
-
385
- public function testGetErrorOutput()
386
- {
387
- $p = $this->getProcessForCode('$n = 0; while ($n < 3) { file_put_contents(\'php://stderr\', \'ERROR\'); $n++; }');
388
-
389
- $p->run();
390
- $this->assertEquals(3, preg_match_all('/ERROR/', $p->getErrorOutput(), $matches));
391
- }
392
-
393
- public function testFlushErrorOutput()
394
- {
395
- $p = $this->getProcessForCode('$n = 0; while ($n < 3) { file_put_contents(\'php://stderr\', \'ERROR\'); $n++; }');
396
-
397
- $p->run();
398
- $p->clearErrorOutput();
399
- $this->assertEmpty($p->getErrorOutput());
400
- }
401
-
402
- /**
403
- * @dataProvider provideIncrementalOutput
404
- */
405
- public function testIncrementalOutput($getOutput, $getIncrementalOutput, $uri)
406
- {
407
- $lock = tempnam(sys_get_temp_dir(), __FUNCTION__);
408
-
409
- $p = $this->getProcessForCode('file_put_contents($s = \''.$uri.'\', \'foo\'); flock(fopen('.var_export($lock, true).', \'r\'), LOCK_EX); file_put_contents($s, \'bar\');');
410
-
411
- $h = fopen($lock, 'w');
412
- flock($h, LOCK_EX);
413
-
414
- $p->start();
415
-
416
- foreach (['foo', 'bar'] as $s) {
417
- while (false === strpos($p->$getOutput(), $s)) {
418
- usleep(1000);
419
- }
420
-
421
- $this->assertSame($s, $p->$getIncrementalOutput());
422
- $this->assertSame('', $p->$getIncrementalOutput());
423
-
424
- flock($h, LOCK_UN);
425
- }
426
-
427
- fclose($h);
428
- }
429
-
430
- public function provideIncrementalOutput()
431
- {
432
- return [
433
- ['getOutput', 'getIncrementalOutput', 'php://stdout'],
434
- ['getErrorOutput', 'getIncrementalErrorOutput', 'php://stderr'],
435
- ];
436
- }
437
-
438
- public function testGetOutput()
439
- {
440
- $p = $this->getProcessForCode('$n = 0; while ($n < 3) { echo \' foo \'; $n++; }');
441
-
442
- $p->run();
443
- $this->assertEquals(3, preg_match_all('/foo/', $p->getOutput(), $matches));
444
- }
445
-
446
- public function testFlushOutput()
447
- {
448
- $p = $this->getProcessForCode('$n=0;while ($n<3) {echo \' foo \';$n++;}');
449
-
450
- $p->run();
451
- $p->clearOutput();
452
- $this->assertEmpty($p->getOutput());
453
- }
454
-
455
- public function testZeroAsOutput()
456
- {
457
- if ('\\' === \DIRECTORY_SEPARATOR) {
458
- // see http://stackoverflow.com/questions/7105433/windows-batch-echo-without-new-line
459
- $p = $this->getProcess('echo | set /p dummyName=0');
460
- } else {
461
- $p = $this->getProcess('printf 0');
462
- }
463
-
464
- $p->run();
465
- $this->assertSame('0', $p->getOutput());
466
- }
467
-
468
- public function testExitCodeCommandFailed()
469
- {
470
- if ('\\' === \DIRECTORY_SEPARATOR) {
471
- $this->markTestSkipped('Windows does not support POSIX exit code');
472
- }
473
-
474
- // such command run in bash return an exitcode 127
475
- $process = $this->getProcess('nonexistingcommandIhopeneversomeonewouldnameacommandlikethis');
476
- $process->run();
477
-
478
- $this->assertGreaterThan(0, $process->getExitCode());
479
- }
480
-
481
- public function testTTYCommand()
482
- {
483
- if ('\\' === \DIRECTORY_SEPARATOR) {
484
- $this->markTestSkipped('Windows does not have /dev/tty support');
485
- }
486
-
487
- $process = $this->getProcess('echo "foo" >> /dev/null && '.$this->getProcessForCode('usleep(100000);')->getCommandLine());
488
- $process->setTty(true);
489
- $process->start();
490
- $this->assertTrue($process->isRunning());
491
- $process->wait();
492
-
493
- $this->assertSame(Process::STATUS_TERMINATED, $process->getStatus());
494
- }
495
-
496
- public function testTTYCommandExitCode()
497
- {
498
- if ('\\' === \DIRECTORY_SEPARATOR) {
499
- $this->markTestSkipped('Windows does have /dev/tty support');
500
- }
501
-
502
- $process = $this->getProcess('echo "foo" >> /dev/null');
503
- $process->setTty(true);
504
- $process->run();
505
-
506
- $this->assertTrue($process->isSuccessful());
507
- }
508
-
509
- /**
510
- * @expectedException \Symfony\Component\Process\Exception\RuntimeException
511
- * @expectedExceptionMessage TTY mode is not supported on Windows platform.
512
- */
513
- public function testTTYInWindowsEnvironment()
514
- {
515
- if ('\\' !== \DIRECTORY_SEPARATOR) {
516
- $this->markTestSkipped('This test is for Windows platform only');
517
- }
518
-
519
- $process = $this->getProcess('echo "foo" >> /dev/null');
520
- $process->setTty(false);
521
- $process->setTty(true);
522
- }
523
-
524
- public function testExitCodeTextIsNullWhenExitCodeIsNull()
525
- {
526
- $process = $this->getProcess('');
527
- $this->assertNull($process->getExitCodeText());
528
- }
529
-
530
- public function testPTYCommand()
531
- {
532
- if (!Process::isPtySupported()) {
533
- $this->markTestSkipped('PTY is not supported on this operating system.');
534
- }
535
-
536
- $process = $this->getProcess('echo "foo"');
537
- $process->setPty(true);
538
- $process->run();
539
-
540
- $this->assertSame(Process::STATUS_TERMINATED, $process->getStatus());
541
- $this->assertEquals("foo\r\n", $process->getOutput());
542
- }
543
-
544
- public function testMustRun()
545
- {
546
- $process = $this->getProcess('echo foo');
547
-
548
- $this->assertSame($process, $process->mustRun());
549
- $this->assertEquals('foo'.PHP_EOL, $process->getOutput());
550
- }
551
-
552
- public function testSuccessfulMustRunHasCorrectExitCode()
553
- {
554
- $process = $this->getProcess('echo foo')->mustRun();
555
- $this->assertEquals(0, $process->getExitCode());
556
- }
557
-
558
- /**
559
- * @expectedException \Symfony\Component\Process\Exception\ProcessFailedException
560
- */
561
- public function testMustRunThrowsException()
562
- {
563
- $process = $this->getProcess('exit 1');
564
- $process->mustRun();
565
- }
566
-
567
- public function testExitCodeText()
568
- {
569
- $process = $this->getProcess('');
570
- $r = new \ReflectionObject($process);
571
- $p = $r->getProperty('exitcode');
572
- $p->setAccessible(true);
573
-
574
- $p->setValue($process, 2);
575
- $this->assertEquals('Misuse of shell builtins', $process->getExitCodeText());
576
- }
577
-
578
- public function testStartIsNonBlocking()
579
- {
580
- $process = $this->getProcessForCode('usleep(500000);');
581
- $start = microtime(true);
582
- $process->start();
583
- $end = microtime(true);
584
- $this->assertLessThan(0.4, $end - $start);
585
- $process->stop();
586
- }
587
-
588
- public function testUpdateStatus()
589
- {
590
- $process = $this->getProcess('echo foo');
591
- $process->run();
592
- $this->assertGreaterThan(0, \strlen($process->getOutput()));
593
- }
594
-
595
- public function testGetExitCodeIsNullOnStart()
596
- {
597
- $process = $this->getProcessForCode('usleep(100000);');
598
- $this->assertNull($process->getExitCode());
599
- $process->start();
600
- $this->assertNull($process->getExitCode());
601
- $process->wait();
602
- $this->assertEquals(0, $process->getExitCode());
603
- }
604
-
605
- public function testGetExitCodeIsNullOnWhenStartingAgain()
606
- {
607
- $process = $this->getProcessForCode('usleep(100000);');
608
- $process->run();
609
- $this->assertEquals(0, $process->getExitCode());
610
- $process->start();
611
- $this->assertNull($process->getExitCode());
612
- $process->wait();
613
- $this->assertEquals(0, $process->getExitCode());
614
- }
615
-
616
- public function testGetExitCode()
617
- {
618
- $process = $this->getProcess('echo foo');
619
- $process->run();
620
- $this->assertSame(0, $process->getExitCode());
621
- }
622
-
623
- public function testStatus()
624
- {
625
- $process = $this->getProcessForCode('usleep(100000);');
626
- $this->assertFalse($process->isRunning());
627
- $this->assertFalse($process->isStarted());
628
- $this->assertFalse($process->isTerminated());
629
- $this->assertSame(Process::STATUS_READY, $process->getStatus());
630
- $process->start();
631
- $this->assertTrue($process->isRunning());
632
- $this->assertTrue($process->isStarted());
633
- $this->assertFalse($process->isTerminated());
634
- $this->assertSame(Process::STATUS_STARTED, $process->getStatus());
635
- $process->wait();
636
- $this->assertFalse($process->isRunning());
637
- $this->assertTrue($process->isStarted());
638
- $this->assertTrue($process->isTerminated());
639
- $this->assertSame(Process::STATUS_TERMINATED, $process->getStatus());
640
- }
641
-
642
- public function testStop()
643
- {
644
- $process = $this->getProcessForCode('sleep(31);');
645
- $process->start();
646
- $this->assertTrue($process->isRunning());
647
- $process->stop();
648
- $this->assertFalse($process->isRunning());
649
- }
650
-
651
- public function testIsSuccessful()
652
- {
653
- $process = $this->getProcess('echo foo');
654
- $process->run();
655
- $this->assertTrue($process->isSuccessful());
656
- }
657
-
658
- public function testIsSuccessfulOnlyAfterTerminated()
659
- {
660
- $process = $this->getProcessForCode('usleep(100000);');
661
- $process->start();
662
-
663
- $this->assertFalse($process->isSuccessful());
664
-
665
- $process->wait();
666
-
667
- $this->assertTrue($process->isSuccessful());
668
- }
669
-
670
- public function testIsNotSuccessful()
671
- {
672
- $process = $this->getProcessForCode('throw new \Exception(\'BOUM\');');
673
- $process->run();
674
- $this->assertFalse($process->isSuccessful());
675
- }
676
-
677
- public function testProcessIsNotSignaled()
678
- {
679
- if ('\\' === \DIRECTORY_SEPARATOR) {
680
- $this->markTestSkipped('Windows does not support POSIX signals');
681
- }
682
-
683
- $process = $this->getProcess('echo foo');
684
- $process->run();
685
- $this->assertFalse($process->hasBeenSignaled());
686
- }
687
-
688
- public function testProcessWithoutTermSignal()
689
- {
690
- if ('\\' === \DIRECTORY_SEPARATOR) {
691
- $this->markTestSkipped('Windows does not support POSIX signals');
692
- }
693
-
694
- $process = $this->getProcess('echo foo');
695
- $process->run();
696
- $this->assertEquals(0, $process->getTermSignal());
697
- }
698
-
699
- public function testProcessIsSignaledIfStopped()
700
- {
701
- if ('\\' === \DIRECTORY_SEPARATOR) {
702
- $this->markTestSkipped('Windows does not support POSIX signals');
703
- }
704
-
705
- $process = $this->getProcessForCode('sleep(32);');
706
- $process->start();
707
- $process->stop();
708
- $this->assertTrue($process->hasBeenSignaled());
709
- $this->assertEquals(15, $process->getTermSignal()); // SIGTERM
710
- }
711
-
712
- /**
713
- * @expectedException \Symfony\Component\Process\Exception\ProcessSignaledException
714
- * @expectedExceptionMessage The process has been signaled with signal "9".
715
- */
716
- public function testProcessThrowsExceptionWhenExternallySignaled()
717
- {
718
- if (!\function_exists('posix_kill')) {
719
- $this->markTestSkipped('Function posix_kill is required.');
720
- }
721
-
722
- if (self::$sigchild) {
723
- $this->markTestSkipped('PHP is compiled with --enable-sigchild.');
724
- }
725
-
726
- $process = $this->getProcessForCode('sleep(32.1);');
727
- $process->start();
728
- posix_kill($process->getPid(), 9); // SIGKILL
729
-
730
- $process->wait();
731
- }
732
-
733
- public function testRestart()
734
- {
735
- $process1 = $this->getProcessForCode('echo getmypid();');
736
- $process1->run();
737
- $process2 = $process1->restart();
738
-
739
- $process2->wait(); // wait for output
740
-
741
- // Ensure that both processed finished and the output is numeric
742
- $this->assertFalse($process1->isRunning());
743
- $this->assertFalse($process2->isRunning());
744
- $this->assertInternalType('numeric', $process1->getOutput());
745
- $this->assertInternalType('numeric', $process2->getOutput());
746
-
747
- // Ensure that restart returned a new process by check that the output is different
748
- $this->assertNotEquals($process1->getOutput(), $process2->getOutput());
749
- }
750
-
751
- /**
752
- * @expectedException \Symfony\Component\Process\Exception\ProcessTimedOutException
753
- * @expectedExceptionMessage exceeded the timeout of 0.1 seconds.
754
- */
755
- public function testRunProcessWithTimeout()
756
- {
757
- $process = $this->getProcessForCode('sleep(30);');
758
- $process->setTimeout(0.1);
759
- $start = microtime(true);
760
- try {
761
- $process->run();
762
- $this->fail('A RuntimeException should have been raised');
763
- } catch (RuntimeException $e) {
764
- }
765
-
766
- $this->assertLessThan(15, microtime(true) - $start);
767
-
768
- throw $e;
769
- }
770
-
771
- /**
772
- * @expectedException \Symfony\Component\Process\Exception\ProcessTimedOutException
773
- * @expectedExceptionMessage exceeded the timeout of 0.1 seconds.
774
- */
775
- public function testIterateOverProcessWithTimeout()
776
- {
777
- $process = $this->getProcessForCode('sleep(30);');
778
- $process->setTimeout(0.1);
779
- $start = microtime(true);
780
- try {
781
- $process->start();
782
- foreach ($process as $buffer);
783
- $this->fail('A RuntimeException should have been raised');
784
- } catch (RuntimeException $e) {
785
- }
786
-
787
- $this->assertLessThan(15, microtime(true) - $start);
788
-
789
- throw $e;
790
- }
791
-
792
- public function testCheckTimeoutOnNonStartedProcess()
793
- {
794
- $process = $this->getProcess('echo foo');
795
- $this->assertNull($process->checkTimeout());
796
- }
797
-
798
- public function testCheckTimeoutOnTerminatedProcess()
799
- {
800
- $process = $this->getProcess('echo foo');
801
- $process->run();
802
- $this->assertNull($process->checkTimeout());
803
- }
804
-
805
- /**
806
- * @expectedException \Symfony\Component\Process\Exception\ProcessTimedOutException
807
- * @expectedExceptionMessage exceeded the timeout of 0.1 seconds.
808
- */
809
- public function testCheckTimeoutOnStartedProcess()
810
- {
811
- $process = $this->getProcessForCode('sleep(33);');
812
- $process->setTimeout(0.1);
813
-
814
- $process->start();
815
- $start = microtime(true);
816
-
817
- try {
818
- while ($process->isRunning()) {
819
- $process->checkTimeout();
820
- usleep(100000);
821
- }
822
- $this->fail('A ProcessTimedOutException should have been raised');
823
- } catch (ProcessTimedOutException $e) {
824
- }
825
-
826
- $this->assertLessThan(15, microtime(true) - $start);
827
-
828
- throw $e;
829
- }
830
-
831
- public function testIdleTimeout()
832
- {
833
- $process = $this->getProcessForCode('sleep(34);');
834
- $process->setTimeout(60);
835
- $process->setIdleTimeout(0.1);
836
-
837
- try {
838
- $process->run();
839
-
840
- $this->fail('A timeout exception was expected.');
841
- } catch (ProcessTimedOutException $e) {
842
- $this->assertTrue($e->isIdleTimeout());
843
- $this->assertFalse($e->isGeneralTimeout());
844
- $this->assertEquals(0.1, $e->getExceededTimeout());
845
- }
846
- }
847
-
848
- public function testIdleTimeoutNotExceededWhenOutputIsSent()
849
- {
850
- $process = $this->getProcessForCode('while (true) {echo \'foo \'; usleep(1000);}');
851
- $process->setTimeout(1);
852
- $process->start();
853
-
854
- while (false === strpos($process->getOutput(), 'foo')) {
855
- usleep(1000);
856
- }
857
-
858
- $process->setIdleTimeout(0.5);
859
-
860
- try {
861
- $process->wait();
862
- $this->fail('A timeout exception was expected.');
863
- } catch (ProcessTimedOutException $e) {
864
- $this->assertTrue($e->isGeneralTimeout(), 'A general timeout is expected.');
865
- $this->assertFalse($e->isIdleTimeout(), 'No idle timeout is expected.');
866
- $this->assertEquals(1, $e->getExceededTimeout());
867
- }
868
- }
869
-
870
- /**
871
- * @expectedException \Symfony\Component\Process\Exception\ProcessTimedOutException
872
- * @expectedExceptionMessage exceeded the timeout of 0.1 seconds.
873
- */
874
- public function testStartAfterATimeout()
875
- {
876
- $process = $this->getProcessForCode('sleep(35);');
877
- $process->setTimeout(0.1);
878
-
879
- try {
880
- $process->run();
881
- $this->fail('A ProcessTimedOutException should have been raised.');
882
- } catch (ProcessTimedOutException $e) {
883
- }
884
- $this->assertFalse($process->isRunning());
885
- $process->start();
886
- $this->assertTrue($process->isRunning());
887
- $process->stop(0);
888
-
889
- throw $e;
890
- }
891
-
892
- public function testGetPid()
893
- {
894
- $process = $this->getProcessForCode('sleep(36);');
895
- $process->start();
896
- $this->assertGreaterThan(0, $process->getPid());
897
- $process->stop(0);
898
- }
899
-
900
- public function testGetPidIsNullBeforeStart()
901
- {
902
- $process = $this->getProcess('foo');
903
- $this->assertNull($process->getPid());
904
- }
905
-
906
- public function testGetPidIsNullAfterRun()
907
- {
908
- $process = $this->getProcess('echo foo');
909
- $process->run();
910
- $this->assertNull($process->getPid());
911
- }
912
-
913
- /**
914
- * @requires extension pcntl
915
- */
916
- public function testSignal()
917
- {
918
- $process = $this->getProcess([self::$phpBin, __DIR__.'/SignalListener.php']);
919
- $process->start();
920
-
921
- while (false === strpos($process->getOutput(), 'Caught')) {
922
- usleep(1000);
923
- }
924
- $process->signal(SIGUSR1);
925
- $process->wait();
926
-
927
- $this->assertEquals('Caught SIGUSR1', $process->getOutput());
928
- }
929
-
930
- /**
931
- * @requires extension pcntl
932
- */
933
- public function testExitCodeIsAvailableAfterSignal()
934
- {
935
- $process = $this->getProcess('sleep 4');
936
- $process->start();
937
- $process->signal(SIGKILL);
938
-
939
- while ($process->isRunning()) {
940
- usleep(10000);
941
- }
942
-
943
- $this->assertFalse($process->isRunning());
944
- $this->assertTrue($process->hasBeenSignaled());
945
- $this->assertFalse($process->isSuccessful());
946
- $this->assertEquals(137, $process->getExitCode());
947
- }
948
-
949
- /**
950
- * @expectedException \Symfony\Component\Process\Exception\LogicException
951
- * @expectedExceptionMessage Can not send signal on a non running process.
952
- */
953
- public function testSignalProcessNotRunning()
954
- {
955
- $process = $this->getProcess('foo');
956
- $process->signal(1); // SIGHUP
957
- }
958
-
959
- /**
960
- * @dataProvider provideMethodsThatNeedARunningProcess
961
- */
962
- public function testMethodsThatNeedARunningProcess($method)
963
- {
964
- $process = $this->getProcess('foo');
965
-
966
- if (method_exists($this, 'expectException')) {
967
- $this->expectException('Symfony\Component\Process\Exception\LogicException');
968
- $this->expectExceptionMessage(sprintf('Process must be started before calling %s.', $method));
969
- } else {
970
- $this->setExpectedException('Symfony\Component\Process\Exception\LogicException', sprintf('Process must be started before calling %s.', $method));
971
- }
972
-
973
- $process->{$method}();
974
- }
975
-
976
- public function provideMethodsThatNeedARunningProcess()
977
- {
978
- return [
979
- ['getOutput'],
980
- ['getIncrementalOutput'],
981
- ['getErrorOutput'],
982
- ['getIncrementalErrorOutput'],
983
- ['wait'],
984
- ];
985
- }
986
-
987
- /**
988
- * @dataProvider provideMethodsThatNeedATerminatedProcess
989
- * @expectedException \Symfony\Component\Process\Exception\LogicException
990
- * @expectedExceptionMessage Process must be terminated before calling
991
- */
992
- public function testMethodsThatNeedATerminatedProcess($method)
993
- {
994
- $process = $this->getProcessForCode('sleep(37);');
995
- $process->start();
996
- try {
997
- $process->{$method}();
998
- $process->stop(0);
999
- $this->fail('A LogicException must have been thrown');
1000
- } catch (\Exception $e) {
1001
- }
1002
- $process->stop(0);
1003
-
1004
- throw $e;
1005
- }
1006
-
1007
- public function provideMethodsThatNeedATerminatedProcess()
1008
- {
1009
- return [
1010
- ['hasBeenSignaled'],
1011
- ['getTermSignal'],
1012
- ['hasBeenStopped'],
1013
- ['getStopSignal'],
1014
- ];
1015
- }
1016
-
1017
- /**
1018
- * @expectedException \Symfony\Component\Process\Exception\RuntimeException
1019
- */
1020
- public function testWrongSignal()
1021
- {
1022
- if ('\\' === \DIRECTORY_SEPARATOR) {
1023
- $this->markTestSkipped('POSIX signals do not work on Windows');
1024
- }
1025
-
1026
- $process = $this->getProcessForCode('sleep(38);');
1027
- $process->start();
1028
- try {
1029
- $process->signal(-4);
1030
- $this->fail('A RuntimeException must have been thrown');
1031
- } catch (RuntimeException $e) {
1032
- $process->stop(0);
1033
- }
1034
-
1035
- throw $e;
1036
- }
1037
-
1038
- public function testDisableOutputDisablesTheOutput()
1039
- {
1040
- $p = $this->getProcess('foo');
1041
- $this->assertFalse($p->isOutputDisabled());
1042
- $p->disableOutput();
1043
- $this->assertTrue($p->isOutputDisabled());
1044
- $p->enableOutput();
1045
- $this->assertFalse($p->isOutputDisabled());
1046
- }
1047
-
1048
- /**
1049
- * @expectedException \Symfony\Component\Process\Exception\RuntimeException
1050
- * @expectedExceptionMessage Disabling output while the process is running is not possible.
1051
- */
1052
- public function testDisableOutputWhileRunningThrowsException()
1053
- {
1054
- $p = $this->getProcessForCode('sleep(39);');
1055
- $p->start();
1056
- $p->disableOutput();
1057
- }
1058
-
1059
- /**
1060
- * @expectedException \Symfony\Component\Process\Exception\RuntimeException
1061
- * @expectedExceptionMessage Enabling output while the process is running is not possible.
1062
- */
1063
- public function testEnableOutputWhileRunningThrowsException()
1064
- {
1065
- $p = $this->getProcessForCode('sleep(40);');
1066
- $p->disableOutput();
1067
- $p->start();
1068
- $p->enableOutput();
1069
- }
1070
-
1071
- public function testEnableOrDisableOutputAfterRunDoesNotThrowException()
1072
- {
1073
- $p = $this->getProcess('echo foo');
1074
- $p->disableOutput();
1075
- $p->run();
1076
- $p->enableOutput();
1077
- $p->disableOutput();
1078
- $this->assertTrue($p->isOutputDisabled());
1079
- }
1080
-
1081
- /**
1082
- * @expectedException \Symfony\Component\Process\Exception\LogicException
1083
- * @expectedExceptionMessage Output can not be disabled while an idle timeout is set.
1084
- */
1085
- public function testDisableOutputWhileIdleTimeoutIsSet()
1086
- {
1087
- $process = $this->getProcess('foo');
1088
- $process->setIdleTimeout(1);
1089
- $process->disableOutput();
1090
- }
1091
-
1092
- /**
1093
- * @expectedException \Symfony\Component\Process\Exception\LogicException
1094
- * @expectedExceptionMessage timeout can not be set while the output is disabled.
1095
- */
1096
- public function testSetIdleTimeoutWhileOutputIsDisabled()
1097
- {
1098
- $process = $this->getProcess('foo');
1099
- $process->disableOutput();
1100
- $process->setIdleTimeout(1);
1101
- }
1102
-
1103
- public function testSetNullIdleTimeoutWhileOutputIsDisabled()
1104
- {
1105
- $process = $this->getProcess('foo');
1106
- $process->disableOutput();
1107
- $this->assertSame($process, $process->setIdleTimeout(null));
1108
- }
1109
-
1110
- /**
1111
- * @dataProvider provideOutputFetchingMethods
1112
- * @expectedException \Symfony\Component\Process\Exception\LogicException
1113
- * @expectedExceptionMessage Output has been disabled.
1114
- */
1115
- public function testGetOutputWhileDisabled($fetchMethod)
1116
- {
1117
- $p = $this->getProcessForCode('sleep(41);');
1118
- $p->disableOutput();
1119
- $p->start();
1120
- $p->{$fetchMethod}();
1121
- }
1122
-
1123
- public function provideOutputFetchingMethods()
1124
- {
1125
- return [
1126
- ['getOutput'],
1127
- ['getIncrementalOutput'],
1128
- ['getErrorOutput'],
1129
- ['getIncrementalErrorOutput'],
1130
- ];
1131
- }
1132
-
1133
- public function testStopTerminatesProcessCleanly()
1134
- {
1135
- $process = $this->getProcessForCode('echo 123; sleep(42);');
1136
- $process->run(function () use ($process) {
1137
- $process->stop();
1138
- });
1139
- $this->assertTrue(true, 'A call to stop() is not expected to cause wait() to throw a RuntimeException');
1140
- }
1141
-
1142
- public function testKillSignalTerminatesProcessCleanly()
1143
- {
1144
- $process = $this->getProcessForCode('echo 123; sleep(43);');
1145
- $process->run(function () use ($process) {
1146
- $process->signal(9); // SIGKILL
1147
- });
1148
- $this->assertTrue(true, 'A call to signal() is not expected to cause wait() to throw a RuntimeException');
1149
- }
1150
-
1151
- public function testTermSignalTerminatesProcessCleanly()
1152
- {
1153
- $process = $this->getProcessForCode('echo 123; sleep(44);');
1154
- $process->run(function () use ($process) {
1155
- $process->signal(15); // SIGTERM
1156
- });
1157
- $this->assertTrue(true, 'A call to signal() is not expected to cause wait() to throw a RuntimeException');
1158
- }
1159
-
1160
- public function responsesCodeProvider()
1161
- {
1162
- return [
1163
- //expected output / getter / code to execute
1164
- // [1,'getExitCode','exit(1);'],
1165
- // [true,'isSuccessful','exit();'],
1166
- ['output', 'getOutput', 'echo \'output\';'],
1167
- ];
1168
- }
1169
-
1170
- public function pipesCodeProvider()
1171
- {
1172
- $variations = [
1173
- 'fwrite(STDOUT, $in = file_get_contents(\'php://stdin\')); fwrite(STDERR, $in);',
1174
- 'include \''.__DIR__.'/PipeStdinInStdoutStdErrStreamSelect.php\';',
1175
- ];
1176
-
1177
- if ('\\' === \DIRECTORY_SEPARATOR) {
1178
- // Avoid XL buffers on Windows because of https://bugs.php.net/bug.php?id=65650
1179
- $sizes = [1, 2, 4, 8];
1180
- } else {
1181
- $sizes = [1, 16, 64, 1024, 4096];
1182
- }
1183
-
1184
- $codes = [];
1185
- foreach ($sizes as $size) {
1186
- foreach ($variations as $code) {
1187
- $codes[] = [$code, $size];
1188
- }
1189
- }
1190
-
1191
- return $codes;
1192
- }
1193
-
1194
- /**
1195
- * @dataProvider provideVariousIncrementals
1196
- */
1197
- public function testIncrementalOutputDoesNotRequireAnotherCall($stream, $method)
1198
- {
1199
- $process = $this->getProcessForCode('$n = 0; while ($n < 3) { file_put_contents(\''.$stream.'\', $n, 1); $n++; usleep(1000); }', null, null, null, null);
1200
- $process->start();
1201
- $result = '';
1202
- $limit = microtime(true) + 3;
1203
- $expected = '012';
1204
-
1205
- while ($result !== $expected && microtime(true) < $limit) {
1206
- $result .= $process->$method();
1207
- }
1208
-
1209
- $this->assertSame($expected, $result);
1210
- $process->stop();
1211
- }
1212
-
1213
- public function provideVariousIncrementals()
1214
- {
1215
- return [
1216
- ['php://stdout', 'getIncrementalOutput'],
1217
- ['php://stderr', 'getIncrementalErrorOutput'],
1218
- ];
1219
- }
1220
-
1221
- public function testIteratorInput()
1222
- {
1223
- $input = function () {
1224
- yield 'ping';
1225
- yield 'pong';
1226
- };
1227
-
1228
- $process = $this->getProcessForCode('stream_copy_to_stream(STDIN, STDOUT);', null, null, $input());
1229
- $process->run();
1230
- $this->assertSame('pingpong', $process->getOutput());
1231
- }
1232
-
1233
- public function testSimpleInputStream()
1234
- {
1235
- $input = new InputStream();
1236
-
1237
- $process = $this->getProcessForCode('echo \'ping\'; echo fread(STDIN, 4); echo fread(STDIN, 4);');
1238
- $process->setInput($input);
1239
-
1240
- $process->start(function ($type, $data) use ($input) {
1241
- if ('ping' === $data) {
1242
- $input->write('pang');
1243
- } elseif (!$input->isClosed()) {
1244
- $input->write('pong');
1245
- $input->close();
1246
- }
1247
- });
1248
-
1249
- $process->wait();
1250
- $this->assertSame('pingpangpong', $process->getOutput());
1251
- }
1252
-
1253
- public function testInputStreamWithCallable()
1254
- {
1255
- $i = 0;
1256
- $stream = fopen('php://memory', 'w+');
1257
- $stream = function () use ($stream, &$i) {
1258
- if ($i < 3) {
1259
- rewind($stream);
1260
- fwrite($stream, ++$i);
1261
- rewind($stream);
1262
-
1263
- return $stream;
1264
- }
1265
- };
1266
-
1267
- $input = new InputStream();
1268
- $input->onEmpty($stream);
1269
- $input->write($stream());
1270
-
1271
- $process = $this->getProcessForCode('echo fread(STDIN, 3);');
1272
- $process->setInput($input);
1273
- $process->start(function ($type, $data) use ($input) {
1274
- $input->close();
1275
- });
1276
-
1277
- $process->wait();
1278
- $this->assertSame('123', $process->getOutput());
1279
- }
1280
-
1281
- public function testInputStreamWithGenerator()
1282
- {
1283
- $input = new InputStream();
1284
- $input->onEmpty(function ($input) {
1285
- yield 'pong';
1286
- $input->close();
1287
- });
1288
-
1289
- $process = $this->getProcessForCode('stream_copy_to_stream(STDIN, STDOUT);');
1290
- $process->setInput($input);
1291
- $process->start();
1292
- $input->write('ping');
1293
- $process->wait();
1294
- $this->assertSame('pingpong', $process->getOutput());
1295
- }
1296
-
1297
- public function testInputStreamOnEmpty()
1298
- {
1299
- $i = 0;
1300
- $input = new InputStream();
1301
- $input->onEmpty(function () use (&$i) { ++$i; });
1302
-
1303
- $process = $this->getProcessForCode('echo 123; echo fread(STDIN, 1); echo 456;');
1304
- $process->setInput($input);
1305
- $process->start(function ($type, $data) use ($input) {
1306
- if ('123' === $data) {
1307
- $input->close();
1308
- }
1309
- });
1310
- $process->wait();
1311
-
1312
- $this->assertSame(0, $i, 'InputStream->onEmpty callback should be called only when the input *becomes* empty');
1313
- $this->assertSame('123456', $process->getOutput());
1314
- }
1315
-
1316
- public function testIteratorOutput()
1317
- {
1318
- $input = new InputStream();
1319
-
1320
- $process = $this->getProcessForCode('fwrite(STDOUT, 123); fwrite(STDERR, 234); flush(); usleep(10000); fwrite(STDOUT, fread(STDIN, 3)); fwrite(STDERR, 456);');
1321
- $process->setInput($input);
1322
- $process->start();
1323
- $output = [];
1324
-
1325
- foreach ($process as $type => $data) {
1326
- $output[] = [$type, $data];
1327
- break;
1328
- }
1329
- $expectedOutput = [
1330
- [$process::OUT, '123'],
1331
- ];
1332
- $this->assertSame($expectedOutput, $output);
1333
-
1334
- $input->write(345);
1335
-
1336
- foreach ($process as $type => $data) {
1337
- $output[] = [$type, $data];
1338
- }
1339
-
1340
- $this->assertSame('', $process->getOutput());
1341
- $this->assertFalse($process->isRunning());
1342
-
1343
- $expectedOutput = [
1344
- [$process::OUT, '123'],
1345
- [$process::ERR, '234'],
1346
- [$process::OUT, '345'],
1347
- [$process::ERR, '456'],
1348
- ];
1349
- $this->assertSame($expectedOutput, $output);
1350
- }
1351
-
1352
- public function testNonBlockingNorClearingIteratorOutput()
1353
- {
1354
- $input = new InputStream();
1355
-
1356
- $process = $this->getProcessForCode('fwrite(STDOUT, fread(STDIN, 3));');
1357
- $process->setInput($input);
1358
- $process->start();
1359
- $output = [];
1360
-
1361
- foreach ($process->getIterator($process::ITER_NON_BLOCKING | $process::ITER_KEEP_OUTPUT) as $type => $data) {
1362
- $output[] = [$type, $data];
1363
- break;
1364
- }
1365
- $expectedOutput = [
1366
- [$process::OUT, ''],
1367
- ];
1368
- $this->assertSame($expectedOutput, $output);
1369
-
1370
- $input->write(123);
1371
-
1372
- foreach ($process->getIterator($process::ITER_NON_BLOCKING | $process::ITER_KEEP_OUTPUT) as $type => $data) {
1373
- if ('' !== $data) {
1374
- $output[] = [$type, $data];
1375
- }
1376
- }
1377
-
1378
- $this->assertSame('123', $process->getOutput());
1379
- $this->assertFalse($process->isRunning());
1380
-
1381
- $expectedOutput = [
1382
- [$process::OUT, ''],
1383
- [$process::OUT, '123'],
1384
- ];
1385
- $this->assertSame($expectedOutput, $output);
1386
- }
1387
-
1388
- public function testChainedProcesses()
1389
- {
1390
- $p1 = $this->getProcessForCode('fwrite(STDERR, 123); fwrite(STDOUT, 456);');
1391
- $p2 = $this->getProcessForCode('stream_copy_to_stream(STDIN, STDOUT);');
1392
- $p2->setInput($p1);
1393
-
1394
- $p1->start();
1395
- $p2->run();
1396
-
1397
- $this->assertSame('123', $p1->getErrorOutput());
1398
- $this->assertSame('', $p1->getOutput());
1399
- $this->assertSame('', $p2->getErrorOutput());
1400
- $this->assertSame('456', $p2->getOutput());
1401
- }
1402
-
1403
- public function testSetBadEnv()
1404
- {
1405
- $process = $this->getProcess('echo hello');
1406
- $process->setEnv(['bad%%' => '123']);
1407
- $process->inheritEnvironmentVariables(true);
1408
-
1409
- $process->run();
1410
-
1411
- $this->assertSame('hello'.PHP_EOL, $process->getOutput());
1412
- $this->assertSame('', $process->getErrorOutput());
1413
- }
1414
-
1415
- public function testEnvBackupDoesNotDeleteExistingVars()
1416
- {
1417
- putenv('existing_var=foo');
1418
- $_ENV['existing_var'] = 'foo';
1419
- $process = $this->getProcess('php -r "echo getenv(\'new_test_var\');"');
1420
- $process->setEnv(['existing_var' => 'bar', 'new_test_var' => 'foo']);
1421
- $process->inheritEnvironmentVariables();
1422
-
1423
- $process->run();
1424
-
1425
- $this->assertSame('foo', $process->getOutput());
1426
- $this->assertSame('foo', getenv('existing_var'));
1427
- $this->assertFalse(getenv('new_test_var'));
1428
-
1429
- putenv('existing_var');
1430
- unset($_ENV['existing_var']);
1431
- }
1432
-
1433
- public function testEnvIsInherited()
1434
- {
1435
- $process = $this->getProcessForCode('echo serialize($_SERVER);', null, ['BAR' => 'BAZ', 'EMPTY' => '']);
1436
-
1437
- putenv('FOO=BAR');
1438
- $_ENV['FOO'] = 'BAR';
1439
-
1440
- $process->run();
1441
-
1442
- $expected = ['BAR' => 'BAZ', 'EMPTY' => '', 'FOO' => 'BAR'];
1443
- $env = array_intersect_key(unserialize($process->getOutput()), $expected);
1444
-
1445
- $this->assertEquals($expected, $env);
1446
-
1447
- putenv('FOO');
1448
- unset($_ENV['FOO']);
1449
- }
1450
-
1451
- public function testGetCommandLine()
1452
- {
1453
- $p = new Process(['/usr/bin/php']);
1454
-
1455
- $expected = '\\' === \DIRECTORY_SEPARATOR ? '"/usr/bin/php"' : "'/usr/bin/php'";
1456
- $this->assertSame($expected, $p->getCommandLine());
1457
- }
1458
-
1459
- /**
1460
- * @dataProvider provideEscapeArgument
1461
- */
1462
- public function testEscapeArgument($arg)
1463
- {
1464
- $p = new Process([self::$phpBin, '-r', 'echo $argv[1];', $arg]);
1465
- $p->run();
1466
-
1467
- $this->assertSame((string) $arg, $p->getOutput());
1468
- }
1469
-
1470
- public function testRawCommandLine()
1471
- {
1472
- $p = Process::fromShellCommandline(sprintf('"%s" -r %s "a" "" "b"', self::$phpBin, escapeshellarg('print_r($argv);')));
1473
- $p->run();
1474
-
1475
- $expected = <<<EOTXT
1476
- Array
1477
- (
1478
- [0] => -
1479
- [1] => a
1480
- [2] =>
1481
- [3] => b
1482
- )
1483
-
1484
- EOTXT;
1485
- $this->assertSame($expected, str_replace('Standard input code', '-', $p->getOutput()));
1486
- }
1487
-
1488
- public function provideEscapeArgument()
1489
- {
1490
- yield ['a"b%c%'];
1491
- yield ['a"b^c^'];
1492
- yield ["a\nb'c"];
1493
- yield ['a^b c!'];
1494
- yield ["a!b\tc"];
1495
- yield ['a\\\\"\\"'];
1496
- yield ['éÉèÈàÀöä'];
1497
- yield [null];
1498
- yield [1];
1499
- yield [1.1];
1500
- }
1501
-
1502
- public function testEnvArgument()
1503
- {
1504
- $env = ['FOO' => 'Foo', 'BAR' => 'Bar'];
1505
- $cmd = '\\' === \DIRECTORY_SEPARATOR ? 'echo !FOO! !BAR! !BAZ!' : 'echo $FOO $BAR $BAZ';
1506
- $p = Process::fromShellCommandline($cmd, null, $env);
1507
- $p->run(null, ['BAR' => 'baR', 'BAZ' => 'baZ']);
1508
-
1509
- $this->assertSame('Foo baR baZ', rtrim($p->getOutput()));
1510
- $this->assertSame($env, $p->getEnv());
1511
- }
1512
-
1513
- private function getProcess($commandline, string $cwd = null, array $env = null, $input = null, ?int $timeout = 60): Process
1514
- {
1515
- if (\is_string($commandline)) {
1516
- $process = Process::fromShellCommandline($commandline, $cwd, $env, $input, $timeout);
1517
- } else {
1518
- $process = new Process($commandline, $cwd, $env, $input, $timeout);
1519
- }
1520
- $process->inheritEnvironmentVariables();
1521
-
1522
- if (self::$process) {
1523
- self::$process->stop(0);
1524
- }
1525
-
1526
- return self::$process = $process;
1527
- }
1528
-
1529
- private function getProcessForCode(string $code, string $cwd = null, array $env = null, $input = null, ?int $timeout = 60): Process
1530
- {
1531
- return $this->getProcess([self::$phpBin, '-r', $code], $cwd, $env, $input, $timeout);
1532
- }
1533
- }
1534
-
1535
- class NonStringifiable
1536
- {
1537
- }