File tree 2 files changed +30
-0
lines changed
src/Symfony/Component/Process
2 files changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -418,6 +418,9 @@ public function disableOutput()
418
418
if ($ this ->isRunning ()) {
419
419
throw new RuntimeException ('Disabling output while the process is running is not possible. ' );
420
420
}
421
+ if (null !== $ this ->idleTimeout ) {
422
+ throw new LogicException ('Output can not be disabled while an idle timeout is set. ' );
423
+ }
421
424
422
425
$ this ->outputDisabled = true ;
423
426
@@ -870,6 +873,10 @@ public function setTimeout($timeout)
870
873
*/
871
874
public function setIdleTimeout ($ timeout )
872
875
{
876
+ if (null !== $ timeout && $ this ->outputDisabled ) {
877
+ throw new LogicException ('Idle timeout can not be set while the output is disabled. ' );
878
+ }
879
+
873
880
$ this ->idleTimeout = $ this ->validateTimeout ($ timeout );
874
881
875
882
return $ this ;
Original file line number Diff line number Diff line change @@ -737,6 +737,29 @@ public function testEnableOrDisableOutputAfterRunDoesNotThrowException()
737
737
$ p ->disableOutput ();
738
738
}
739
739
740
+ public function testDisableOutputWhileIdleTimeoutIsSet ()
741
+ {
742
+ $ process = $ this ->getProcess ('sleep 3 ' );
743
+ $ process ->setIdleTimeout (1 );
744
+ $ this ->setExpectedException ('Symfony\Component\Process\Exception\LogicException ' , 'Output can not be disabled while an idle timeout is set. ' );
745
+ $ process ->disableOutput ();
746
+ }
747
+
748
+ public function testSetIdleTimeoutWhileOutputIsDisabled ()
749
+ {
750
+ $ process = $ this ->getProcess ('sleep 3 ' );
751
+ $ process ->disableOutput ();
752
+ $ this ->setExpectedException ('Symfony\Component\Process\Exception\LogicException ' , 'Idle timeout can not be set while the output is disabled. ' );
753
+ $ process ->setIdleTimeout (1 );
754
+ }
755
+
756
+ public function testSetNullIdleTimeoutWhileOutputIsDisabled ()
757
+ {
758
+ $ process = $ this ->getProcess ('sleep 3 ' );
759
+ $ process ->disableOutput ();
760
+ $ process ->setIdleTimeout (null );
761
+ }
762
+
740
763
/**
741
764
* @dataProvider provideStartMethods
742
765
*/
You can’t perform that action at this time.
0 commit comments