@@ -20,8 +20,9 @@ public function testLogs(): void
2020 public function testExecuteBasic (): void
2121 {
2222 $ output = '' ;
23+ $ stderr = '' ;
2324 $ input = '' ;
24- $ code = Console::execute ('php -r "echo \'hello world \';" ' , $ input , $ output , 10 );
25+ $ code = Console::execute ('php -r "echo \'hello world \';" ' , $ input , $ output , $ stderr , 10 );
2526
2627 $ this ->assertEquals ('hello world ' , $ output );
2728 $ this ->assertEquals (0 , $ code );
@@ -30,9 +31,10 @@ public function testExecuteBasic(): void
3031 public function testExecuteArray (): void
3132 {
3233 $ output = '' ;
34+ $ stderr = '' ;
3335 $ input = '' ;
3436 $ cmd = ['php ' , '-r ' , "echo 'hello world'; " ];
35- $ code = Console::execute ($ cmd , $ input , $ output , 10 );
37+ $ code = Console::execute ($ cmd , $ input , $ output , $ stderr , 10 );
3638
3739 $ this ->assertEquals ('hello world ' , $ output );
3840 $ this ->assertEquals (0 , $ code );
@@ -44,9 +46,10 @@ public function testExecuteEnvVariables(): void
4446 putenv ("FOO= {$ randomData }" );
4547
4648 $ output = '' ;
49+ $ stderr = '' ;
4750 $ input = '' ;
4851 $ cmd = ['printenv ' ];
49- $ code = Console::execute ($ cmd , $ input , $ output , 10 );
52+ $ code = Console::execute ($ cmd , $ input , $ output , $ stderr , 10 );
5053
5154 $ this ->assertEquals (0 , $ code );
5255
@@ -68,10 +71,11 @@ public function testExecuteEnvVariables(): void
6871 public function testExecuteStream (): void
6972 {
7073 $ output = '' ;
74+ $ stderr = '' ;
7175 $ input = '' ;
7276
7377 $ outputStream = '' ;
74- $ code = Console::execute ('printf 1 && sleep 1 && printf 2 && sleep 1 && printf 3 && sleep 1 && printf 4 && sleep 1 && printf 5 ' , $ input , $ output , 10 , function ($ output ) use (&$ outputStream ) {
78+ $ code = Console::execute ('printf 1 && sleep 1 && printf 2 && sleep 1 && printf 3 && sleep 1 && printf 4 && sleep 1 && printf 5 ' , $ input , $ output , $ stderr , 10 , function ($ output ) use (&$ outputStream ) {
7579 $ outputStream .= $ output ;
7680 });
7781
@@ -83,35 +87,41 @@ public function testExecuteStream(): void
8387 public function testExecuteStdOut (): void
8488 {
8589 $ output = '' ;
90+ $ stderr = '' ;
8691 $ input = '' ;
87- $ code = Console::execute ('>&1 echo "success" ' , $ input , $ output , 3 );
92+ $ code = Console::execute ('>&1 echo "success" ' , $ input , $ output , $ stderr , 3 );
8893
8994 $ this ->assertEquals ("success \n" , $ output );
95+ $ this ->assertEquals ('' , $ stderr );
9096 $ this ->assertEquals (0 , $ code );
9197 }
9298
9399 public function testExecuteStdErr (): void
94100 {
95101 $ output = '' ;
102+ $ stderr = '' ;
96103 $ input = '' ;
97- $ code = Console::execute ('>&2 echo "error" ' , $ input , $ output , 3 );
104+ $ code = Console::execute ('>&2 echo "error" ' , $ input , $ output , $ stderr , 3 );
98105
99- $ this ->assertEquals ("error \n" , $ output );
106+ $ this ->assertEquals ('' , $ output );
107+ $ this ->assertEquals ("error \n" , $ stderr );
100108 $ this ->assertEquals (0 , $ code );
101109 }
102110
103111 public function testExecuteExitCode (): void
104112 {
105113 $ output = '' ;
114+ $ stderr = '' ;
106115 $ input = '' ;
107- $ code = Console::execute ('php -r "echo \'hello world \'; exit(2);" ' , $ input , $ output , 10 );
116+ $ code = Console::execute ('php -r "echo \'hello world \'; exit(2);" ' , $ input , $ output , $ stderr , 10 );
108117
109118 $ this ->assertEquals ('hello world ' , $ output );
110119 $ this ->assertEquals (2 , $ code );
111120
112121 $ output = '' ;
122+ $ stderr = '' ;
113123 $ input = '' ;
114- $ code = Console::execute ('php -r "echo \'hello world \'; exit(100);" ' , $ input , $ output , 10 );
124+ $ code = Console::execute ('php -r "echo \'hello world \'; exit(100);" ' , $ input , $ output , $ stderr , 10 );
115125
116126 $ this ->assertEquals ('hello world ' , $ output );
117127 $ this ->assertEquals (100 , $ code );
@@ -120,15 +130,17 @@ public function testExecuteExitCode(): void
120130 public function testExecuteTimeout (): void
121131 {
122132 $ output = '' ;
133+ $ stderr = '' ;
123134 $ input = '' ;
124- $ code = Console::execute ('php -r "sleep(1); echo \'hello world \'; exit(0);" ' , $ input , $ output , 3 );
135+ $ code = Console::execute ('php -r "sleep(1); echo \'hello world \'; exit(0);" ' , $ input , $ output , $ stderr , 3 );
125136
126137 $ this ->assertEquals ('hello world ' , $ output );
127138 $ this ->assertEquals (0 , $ code );
128139
129140 $ output = '' ;
141+ $ stderr = '' ;
130142 $ input = '' ;
131- $ code = Console::execute ('php -r "sleep(4); echo \'hello world \'; exit(0);" ' , $ input , $ output , 3 );
143+ $ code = Console::execute ('php -r "sleep(4); echo \'hello world \'; exit(0);" ' , $ input , $ output , $ stderr , 3 );
132144
133145 $ this ->assertEquals ('' , $ output );
134146 $ this ->assertEquals (1 , $ code );
@@ -139,7 +151,8 @@ public function testLoop(): void
139151 $ file = __DIR__ .'/../resources/loop.php ' ;
140152 $ input = '' ;
141153 $ output = '' ;
142- $ code = Console::execute ('php ' .$ file , $ input , $ output , 30 );
154+ $ stderr = '' ;
155+ $ code = Console::execute ('php ' .$ file , $ input , $ output , $ stderr , 30 );
143156
144157 $ lines = explode ("\n" , $ output );
145158
0 commit comments