Commit Graph

332 Commits

Author SHA1 Message Date
Fabien Potencier
8fbea0fe4d [Process] fixed HHVM usage on the CLI 2014-03-30 09:33:30 +02:00
Fabien Potencier
c29b4214b6 minor #10492 [2.3][Process] Remove unreachable code + avoid skipping tests in sigchild environment (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][Process] Remove unreachable code + avoid skipping tests in sigchild environment

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

As mentioned by @Tobion in https://github.com/symfony/symfony/pull/10480#issuecomment-38002910, I removed the dead code. I also fixed/updated the test suite on PHP compiled with `--enable-sigchild`.

Commits
-------

d52dd32 [Process] Remove unreachable code + avoid skipping tests in sigchild environment
2014-03-19 16:52:49 +01:00
Romain Neutron
d52dd32bad [Process] Remove unreachable code + avoid skipping tests in sigchild environment 2014-03-19 14:56:52 +01:00
Fabien Potencier
cc5f606356 minor #10484 [Process] fix some typos and refactor some code (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

[Process] fix some typos and refactor some code

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT

Commits
-------

b422613 [Process] fix some typos and refactor some code
2014-03-19 07:27:25 +01:00
Fabien Potencier
1e9e8afa5d bug #10479 [2.3][Process] Fix escaping on Windows (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][Process] Fix escaping on Windows

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

Windows escaping is broken since the last merges.

After digging more on Windows escaping, I realised some things:
 - We forbid environment variable expansion by escaping `%APPDATA%` to `^%"APPDATA"^%`
 - We explicitly ask for variable expansion at runtime (running the command line with the [`/V:ON`](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Process/Process.php#L235) flag). Running a command containing `!APPDATA!` will be escaped and expanded (our previous rule is easily overriden)
 - On platform that are not windows, we use strong escaping that prevents any variable expansion (`$PATH` will be escaped to `'$PATH'` that is not interpreted as the current PATH)

We have three possibilities:
 - Keep this behavior as this.
 - Prefer a consistent API and use a strong escaping strategy everywhere, but it would result in a BC break (see #8975).
 - Allow environment variable expansion and escape `%APPDATA%` to `"%APPDATA%"`

Any thoughts about this ?

Commits
-------

0f65f90 [Process] Fix escaping on Windows
2014-03-19 07:22:00 +01:00
Tobias Schultze
b4226137f6 [Process] fix some typos and refactor some code 2014-03-18 21:00:58 +01:00
Romain Neutron
5f6ee1205a [Process] Fix unit tests in sigchild disabled environment 2014-03-18 19:09:01 +01:00
Fabien Potencier
c57fbdad25 bug #10480 [Process] Fixed fatal errors in getOutput and getErrorOutput when process was not started (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[Process] Fixed fatal errors in getOutput and getErrorOutput when process was not started

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #10022
| License       | MIT

This PR replaces #9452 and address the latest changes.
Side note : I've not updated `getExitCode`, `getExitCodeText` and `isSuccessful` as they were explicitly tested to return null in case the process is not started or terminated. I think it would be a BC break to do that.

Commits
-------

449fe01 [Process] Trow exceptions in case a Process method is supposed to be called after termination
0ae6858 [Process] fixed fatal errors in getOutput and getErrorOutput when process was not started
2014-03-18 19:00:11 +01:00
Romain Neutron
449fe01992 [Process] Trow exceptions in case a Process method is supposed to be called after termination 2014-03-18 18:34:51 +01:00
Max Voloshin
0ae685878c [Process] fixed fatal errors in getOutput and getErrorOutput when process was not started 2014-03-18 15:14:03 +01:00
Romain Neutron
0f65f90b06 [Process] Fix escaping on Windows
Windows escaping is broken since the last merges.
2014-03-18 15:00:41 +01:00
Romain Neutron
1f5bf324fe [Process] Make Process::start non-blocking on Windows platform 2014-03-18 10:55:01 +01:00
Romain Neutron
783e377eed [Process] Avoid failures because of slow IOs
See example of failure here https://travis-ci.org/symfony/symfony/jobs/20701462
2014-03-14 19:58:01 +01:00
Romain Neutron
238565e93a [Process] Avoid failure because of a slow process
See example of failure here https://travis-ci.org/symfony/symfony/jobs/20761834.
2014-03-14 18:34:18 +01:00
Romain Neutron
173f8c5fd2 [Process] Avoid failure when calling Process::stop in edge cases
See https://travis-ci.org/symfony/symfony/jobs/20664994 for an example of failure.
2014-03-14 18:34:18 +01:00
Romain Neutron
de681cbf5c [Process] Add tests on ProcessUtils::escapeArgument 2014-03-14 10:50:34 +01:00
Michal Gebauer
85fb495a30 [Process] Fix: Arguments including space and quote are not correctly escaped (win)
Bad
`"bin" "command" \""bin"\"" "\""another command"\"`

Better
`"bin" "command" "\"bin" \"another command\""`
2014-03-14 10:10:26 +01:00
Fabien Potencier
3d0913464d bug #10153 [Process] Fixed data in pipe being truncated if not read before process termination (astephens25)
This PR was merged into the 2.3 branch.

Discussion
----------

[Process] Fixed data in pipe being truncated if not read before process termination

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #9409
| License       | MIT
| Doc PR        | N/A

This is a repeat of the botched pull request #9630.

Commits
-------

7e51913 Fixed data in pipe being truncated if not read before process termination
2014-03-12 19:39:04 +01:00
Romain Neutron
10e903aa5d [Process] Fix #9160 : escaping an argument with a trailing backslash on windows fails 2014-03-12 15:47:04 +01:00
Aaron Stephens
7e5191375b Fixed data in pipe being truncated if not read before process termination 2014-03-12 11:51:01 +00:00
Romain Neutron
227b85bc27 [Process] Fix some unit tests that create the process object instead of delegate it to the implementation 2014-03-11 18:33:11 +01:00
Romain Neutron
1b1768aced [Process] Make process tests more accurate on exception messages 2014-03-11 17:00:25 +01:00
Fabien Potencier
0738f8387d bug #10412 [Process] Fix process status in TTY mode (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[Process] Fix process status in TTY mode

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

When running a process with TTY mode, status in automatically set to `terminated`
once it's started.

It's wrong for two reasons :
 - The status of the process is not yet terminated.
 - The exitcode value is never caught

Commits
-------

51c70f8 [Process] Fix process status in TTY mode
2014-03-10 20:57:38 +01:00
Romain Neutron
51c70f85dd [Process] Fix process status in TTY mode
When running a process with TTY mode, status in automatically set to `terminated`
once it's started.

It's wrong for two reasons :
 - The status of the process is not yet terminated.
 - The exitcode value is never caught
2014-03-10 19:08:27 +01:00
Romain Neutron
d66f63f2b8 [Process] Use assertSame instead of assertEquals to avoid comparison against null 2014-03-10 19:06:36 +01:00
Andrey Ryaguzov
f03e5dcd40 [Process] minor fixes 2014-02-24 17:20:12 +01:00
Jordi Boggiano
714aee9bc0 Bypass sigchild detection if phpinfo is not available 2014-02-18 14:12:33 +01:00
Fabien Potencier
eb3f6c6efb fixed various inconsistencies 2014-02-11 11:29:24 +01:00
lol768
905f2a091b Fix wording for Process class documentation 2014-02-02 16:17:32 +01:00
Luis Cordova
8ace5f9f0d update year on licenses 2014-01-07 08:19:25 -05:00
Romain Neutron
160b1cfae8 [Process] Fix #9861 : Revert TTY mode 2014-01-07 10:16:01 +01:00
Peter Gribanov
3065f243ad Add support SAPI cli-server 2014-01-05 02:14:11 +01:00
Fabien Potencier
876482f1a6 [Process] fixed HHVM support 2013-12-29 09:14:19 +01:00
Joel Marcey
539de177ca Add support for HHVM in the getting of the PHP executable 2013-12-29 09:11:01 +01:00
Fabien Potencier
5ff5615fb5 fixed typos 2013-12-28 22:34:46 +01:00
Fabien Potencier
35b407f016 fixed CS for lambdas 2013-12-28 08:46:05 +01:00
Fabien Potencier
2f15ac7507 fixed various typos 2013-12-27 16:08:19 +01:00
Fabien Potencier
19caa6a311 fixed @expectedException class names 2013-11-25 15:52:16 +01:00
Fabien Potencier
e0b751a2d8 Merge branch '2.2' into 2.3
* 2.2:
  fixed some typos
  fixed @expectedException class names

Conflicts:
	src/Symfony/Component/Config/Tests/Definition/ArrayNodeTest.php
	src/Symfony/Component/Console/Tests/Command/CommandTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubLocaleTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubNumberFormatterTest.php
2013-11-25 15:49:41 +01:00
Fabien Potencier
5c6edb3685 fixed some typos 2013-11-25 11:21:43 +01:00
Fabien Potencier
dfc54f9e96 Merge branch '2.2' into 2.3
* 2.2:
  No Entity Manager defined exception
  fixed CS
  [Acl] Fix for issue #9433
  [Validator] fix docblock typos
  [DependencyInjection] removed the unused Reference and Parameter classes use statements from the compiled container class
  Fix mistake in translation's service definition.
  if handler_id is identical to null fix
  CS fix
  Fixed ModelChoiceList tests in Propel1 bridge.
  [AclProvider] Fix incorrect behaviour when partial results returned from cache
  Check if the pipe array is empty before calling stream_select()
  re-factor Propel1 ModelChoiceList
  [Locale] fixed the failing test described in #9455
  [Process] fix phpdoc and timeout of 0
  bug #9445 [BrowserKit] fixed protocol-relative url redirection

Conflicts:
	src/Symfony/Component/BrowserKit/Tests/ClientTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubIntlDateFormatterTest.php
2013-11-23 22:11:41 +01:00
Fabien Potencier
0434c7435d minor #9466 [Process] fix phpdoc and timeout of 0 (Tobion)
This PR was merged into the 2.2 branch.

Discussion
----------

[Process] fix phpdoc and timeout of 0

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | n/a

getTimeout says it returns null when it's disabled. But passing 0 or 0.0 also disabled timeouts. So it should be treated as null as well. also it says it returns integer whereas it returns float.

Commits
-------

1758010 [Process] fix phpdoc and timeout of 0
2013-11-22 18:11:04 +01:00
Jonathan Poston
52a18ea163 Check if the pipe array is empty before calling stream_select() 2013-11-15 17:36:11 +01:00
Tobias Schultze
17580107c9 [Process] fix phpdoc and timeout of 0 2013-11-08 01:33:52 +01:00
Fabien Potencier
61dd06ea27 fixed CS 2013-10-30 09:30:20 +01:00
Fabien Potencier
c1247a2054 Merge branch '2.2' into 2.3
* 2.2:
  Fixed English usage for existing users.
  [Process] Fix #9343 : revert file handle usage on Windows platform
2013-10-26 09:52:48 +02:00
Romain Neutron
e9dd408881 [Process] Fix #9343 : revert file handle usage on Windows platform 2013-10-21 13:56:16 +02:00
Romain Neutron
b5e3576ea0 [Process] Fix latest merge from 2.2 in 2.3 2013-10-09 23:17:57 +02:00
Fabien Potencier
773932b64b removed whitespaces 2013-10-09 22:52:58 +02:00
Fabien Potencier
77a961d040 Merge branch '2.2' into 2.3
* 2.2:
  [Process] Fix #9182 : random failure on pipes tests
  Fixed propel guessed relations
  [FramworkBundle][HttpKernel] Check event listener services are not abstract
  fixed CS
  Check for lock existence before unlinking
  [FrameworkBundle] fixed path replacement on Windows

Conflicts:
	src/Symfony/Component/Process/Process.php
2013-10-09 22:51:36 +02:00