@@ -550,7 +550,7 @@ public function testIdleTimeout()
550550 {
551551 $ process = $ this ->getProcess ('sleep 3 ' );
552552 $ process ->setTimeout (10 );
553- $ process ->setIdleTimeout (1 );
553+ $ process ->setIdleTimeout (0.5 );
554554
555555 try {
556556 $ process ->run ();
@@ -559,7 +559,7 @@ public function testIdleTimeout()
559559 } catch (ProcessTimedOutException $ ex ) {
560560 $ this ->assertTrue ($ ex ->isIdleTimeout ());
561561 $ this ->assertFalse ($ ex ->isGeneralTimeout ());
562- $ this ->assertEquals (1.0 , $ ex ->getExceededTimeout ());
562+ $ this ->assertEquals (0.5 , $ ex ->getExceededTimeout ());
563563 }
564564 }
565565
@@ -568,32 +568,32 @@ public function testIdleTimeout()
568568 */
569569 public function testIdleTimeoutNotExceededWhenOutputIsSent ()
570570 {
571- $ process = $ this ->getProcess ('echo "foo" && sleep 1 && echo "foo" && sleep 1 && echo "foo" && sleep 1 && echo "foo" && sleep 5 ' );
572- $ process ->setTimeout (5 );
573- $ process ->setIdleTimeout (3 );
571+ $ process = $ this ->getProcess ('echo "foo" && sleep 1 && echo "foo" && sleep 1 && echo "foo" && sleep 1 ' );
572+ $ process ->setTimeout (2 );
573+ $ process ->setIdleTimeout (1.5 );
574574
575575 try {
576576 $ process ->run ();
577577 $ this ->fail ('A timeout exception was expected. ' );
578578 } catch (ProcessTimedOutException $ ex ) {
579579 $ this ->assertTrue ($ ex ->isGeneralTimeout ());
580580 $ this ->assertFalse ($ ex ->isIdleTimeout ());
581- $ this ->assertEquals (5.0 , $ ex ->getExceededTimeout ());
581+ $ this ->assertEquals (2 , $ ex ->getExceededTimeout ());
582582 }
583583 }
584584
585585 public function testStartAfterATimeout ()
586586 {
587587 $ process = $ this ->getProcess ('php -r "while (true) {echo \'\'; usleep(1000); }" ' );
588- $ process ->setTimeout (0.1 );
588+ $ process ->setTimeout (0.2 );
589589 try {
590590 $ process ->run ();
591591 $ this ->fail ('An exception should have been raised. ' );
592592 } catch (\Exception $ e ) {
593593
594594 }
595595 $ process ->start ();
596- usleep (10000 );
596+ usleep (1000 );
597597 $ process ->stop ();
598598 }
599599
@@ -737,6 +737,29 @@ public function testEnableOrDisableOutputAfterRunDoesNotThrowException()
737737 $ p ->disableOutput ();
738738 }
739739
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+
740763 /**
741764 * @dataProvider provideStartMethods
742765 */
0 commit comments