How to use shell class

Best Phoronix-test-suite code snippet using shell

ShellTest.php

Source:ShellTest.php Github

copy

Full Screen

...30 $three = new \StdClass();31 $__psysh__ = 'ignore this';32 $_ = 'ignore this';33 $_e = 'ignore this';34 $shell = new Shell($this->getConfig());35 $shell->setScopeVariables(compact('one', 'two', 'three', '__psysh__', '_', '_e', 'this'));36 $this->assertNotContains('__psysh__', $shell->getScopeVariableNames());37 $this->assertSame(['one', 'two', 'three', '_'], $shell->getScopeVariableNames());38 $this->assertSame('banana', $shell->getScopeVariable('one'));39 $this->assertSame(123, $shell->getScopeVariable('two'));40 $this->assertSame($three, $shell->getScopeVariable('three'));41 $this->assertNull($shell->getScopeVariable('_'));42 $shell->setScopeVariables([]);43 $this->assertSame(['_'], $shell->getScopeVariableNames());44 $shell->setBoundObject($this);45 $this->assertSame(['_', 'this'], $shell->getScopeVariableNames());46 $this->assertSame($this, $shell->getScopeVariable('this'));47 $this->assertSame(['_' => null], $shell->getScopeVariables(false));48 $this->assertSame(['_' => null, 'this' => $this], $shell->getScopeVariables());49 }50 /**51 * @expectedException \InvalidArgumentException52 */53 public function testUnknownScopeVariablesThrowExceptions()54 {55 $shell = new Shell($this->getConfig());56 $shell->setScopeVariables(['foo' => 'FOO', 'bar' => 1]);57 $shell->getScopeVariable('baz');58 }59 public function testIncludesWithScopeVariables()60 {61 $one = 'banana';62 $two = 123;63 $three = new \StdClass();64 $__psysh__ = 'ignore this';65 $_ = 'ignore this';66 $_e = 'ignore this';67 $config = $this->getConfig(['usePcntl' => false]);68 $shell = new Shell($config);69 $shell->setScopeVariables(compact('one', 'two', 'three', '__psysh__', '_', '_e', 'this'));70 $shell->addInput('exit', true);71 // This is super slow and we shouldn't do this :(72 $shell->run(null, $this->getOutput());73 $this->assertNotContains('__psysh__', $shell->getScopeVariableNames());74 $this->assertSame(['one', 'two', 'three', '_', '_e'], $shell->getScopeVariableNames());75 $this->assertSame('banana', $shell->getScopeVariable('one'));76 $this->assertSame(123, $shell->getScopeVariable('two'));77 $this->assertSame($three, $shell->getScopeVariable('three'));78 $this->assertNull($shell->getScopeVariable('_'));79 }80 public function testIncludes()81 {82 $config = $this->getConfig(['configFile' => __DIR__ . '/fixtures/empty.php']);83 $shell = new Shell($config);84 $this->assertEmpty($shell->getIncludes());85 $shell->setIncludes(['foo', 'bar', 'baz']);86 $this->assertSame(['foo', 'bar', 'baz'], $shell->getIncludes());87 }88 public function testIncludesConfig()89 {90 $config = $this->getConfig([91 'defaultIncludes' => ['/file.php'],92 'configFile' => __DIR__ . '/fixtures/empty.php',93 ]);94 $shell = new Shell($config);95 $includes = $shell->getIncludes();96 $this->assertSame('/file.php', $includes[0]);97 }98 public function testAddMatchersViaConfig()99 {100 $shell = new FakeShell();101 $matcher = new ClassMethodsMatcher();102 $config = $this->getConfig([103 'matchers' => [$matcher],104 ]);105 $config->setShell($shell);106 $this->assertSame([$matcher], $shell->matchers);107 }108 public function testAddMatchersViaConfigAfterShell()109 {110 $shell = new FakeShell();111 $matcher = new ClassMethodsMatcher();112 $config = $this->getConfig([]);113 $config->setShell($shell);114 $config->addMatchers([$matcher]);115 $this->assertSame([$matcher], $shell->matchers);116 }117 public function testRenderingExceptions()118 {119 $shell = new Shell($this->getConfig());120 $output = $this->getOutput();121 $stream = $output->getStream();122 $e = new ParseErrorException('message', 13);123 $shell->setOutput($output);124 $shell->addCode('code');125 $this->assertTrue($shell->hasCode());126 $this->assertNotEmpty($shell->getCodeBuffer());127 $shell->writeException($e);128 $this->assertSame($e, $shell->getScopeVariable('_e'));129 $this->assertFalse($shell->hasCode());130 $this->assertEmpty($shell->getCodeBuffer());131 rewind($stream);132 $streamContents = stream_get_contents($stream);133 $this->assertContains('PHP Parse error', $streamContents);134 $this->assertContains('message', $streamContents);135 $this->assertContains('line 13', $streamContents);136 }137 public function testHandlingErrors()138 {139 $shell = new Shell($this->getConfig());140 $output = $this->getOutput();141 $stream = $output->getStream();142 $shell->setOutput($output);143 $oldLevel = error_reporting();144 error_reporting($oldLevel & ~E_USER_NOTICE);145 try {146 $shell->handleError(E_USER_NOTICE, 'wheee', null, 13);147 } catch (ErrorException $e) {148 error_reporting($oldLevel);149 $this->fail('Unexpected error exception');150 }151 error_reporting($oldLevel);152 rewind($stream);153 $streamContents = stream_get_contents($stream);154 $this->assertContains('PHP Notice:', $streamContents);155 $this->assertContains('wheee', $streamContents);156 $this->assertContains('line 13', $streamContents);157 }158 /**159 * @expectedException \Psy\Exception\ErrorException160 */161 public function testNotHandlingErrors()162 {163 $shell = new Shell($this->getConfig());164 $oldLevel = error_reporting();165 error_reporting($oldLevel | E_USER_NOTICE);166 try {167 $shell->handleError(E_USER_NOTICE, 'wheee', null, 13);168 } catch (ErrorException $e) {169 error_reporting($oldLevel);170 throw $e;171 }172 }173 public function testVersion()174 {175 $shell = new Shell($this->getConfig());176 $this->assertInstanceOf('Symfony\Component\Console\Application', $shell);177 $this->assertContains(Shell::VERSION, $shell->getVersion());178 $this->assertContains(phpversion(), $shell->getVersion());179 $this->assertContains(php_sapi_name(), $shell->getVersion());180 }181 public function testCodeBuffer()182 {183 $shell = new Shell($this->getConfig());184 $shell->addCode('class');185 $this->assertNull($shell->flushCode());186 $this->assertTrue($shell->hasCode());187 $shell->addCode('a');188 $this->assertNull($shell->flushCode());189 $this->assertTrue($shell->hasCode());190 $shell->addCode('{}');191 $code = $shell->flushCode();192 $this->assertFalse($shell->hasCode());193 $code = preg_replace('/\s+/', ' ', $code);194 $this->assertNotNull($code);195 $this->assertSame('class a { } return new \\Psy\\CodeCleaner\\NoReturnValue();', $code);196 }197 public function testKeepCodeBufferOpen()198 {199 $shell = new Shell($this->getConfig());200 $shell->addCode('1 \\');201 $this->assertNull($shell->flushCode());202 $this->assertTrue($shell->hasCode());203 $shell->addCode('+ 1 \\');204 $this->assertNull($shell->flushCode());205 $this->assertTrue($shell->hasCode());206 $shell->addCode('+ 1');207 $code = $shell->flushCode();208 $this->assertFalse($shell->hasCode());209 $code = preg_replace('/\s+/', ' ', $code);210 $this->assertNotNull($code);211 $this->assertSame('return 1 + 1 + 1;', $code);212 }213 /**214 * @expectedException \Psy\Exception\ParseErrorException215 */216 public function testCodeBufferThrowsParseExceptions()217 {218 $shell = new Shell($this->getConfig());219 $shell->addCode('this is not valid');220 $shell->flushCode();221 }222 public function testClosuresSupport()223 {224 $shell = new Shell($this->getConfig());225 $code = '$test = function () {}';226 $shell->addCode($code);227 $shell->flushCode();228 $code = '$test()';229 $shell->addCode($code);230 $this->assertSame($shell->flushCode(), 'return $test();');231 }232 public function testWriteStdout()233 {234 $output = $this->getOutput();235 $stream = $output->getStream();236 $shell = new Shell($this->getConfig());237 $shell->setOutput($output);238 $shell->writeStdout("{{stdout}}\n");239 rewind($stream);240 $streamContents = stream_get_contents($stream);241 $this->assertSame('{{stdout}}' . PHP_EOL, $streamContents);242 }243 public function testWriteStdoutWithoutNewline()244 {245 $output = $this->getOutput();246 $stream = $output->getStream();247 $shell = new Shell($this->getConfig());248 $shell->setOutput($output);249 $shell->writeStdout('{{stdout}}');250 rewind($stream);251 $streamContents = stream_get_contents($stream);252 $this->assertSame('{{stdout}}<aside>⏎</aside>' . PHP_EOL, $streamContents);253 }254 /**255 * @dataProvider getReturnValues256 */257 public function testWriteReturnValue($input, $expected)258 {259 $output = $this->getOutput();260 $stream = $output->getStream();261 $shell = new Shell($this->getConfig());262 $shell->setOutput($output);263 $shell->writeReturnValue($input);264 rewind($stream);265 $this->assertEquals($expected, stream_get_contents($stream));266 }267 public function getReturnValues()268 {269 return [270 ['{{return value}}', "=> \"\033[32m{{return value}}\033[39m\"" . PHP_EOL],271 [1, "=> \033[35m1\033[39m" . PHP_EOL],272 ];273 }274 /**275 * @dataProvider getRenderedExceptions276 */277 public function testWriteException($exception, $expected)278 {279 $output = $this->getOutput();280 $stream = $output->getStream();281 $shell = new Shell($this->getConfig());282 $shell->setOutput($output);283 $shell->writeException($exception);284 rewind($stream);285 $this->assertSame($expected, stream_get_contents($stream));286 }287 public function getRenderedExceptions()288 {289 return [290 [new \Exception('{{message}}'), "Exception with message '{{message}}'" . PHP_EOL],291 ];292 }293 /**294 * @dataProvider getExecuteValues295 */296 public function testShellExecute($input, $expected)297 {298 $output = $this->getOutput();299 $stream = $output->getStream();300 $shell = new Shell($this->getConfig());301 $shell->setOutput($output);302 $this->assertEquals($expected, $shell->execute($input));303 rewind($stream);304 $this->assertSame('', stream_get_contents($stream));305 }306 public function getExecuteValues()307 {308 return [309 ['return 12', 12],310 ['"{{return value}}"', '{{return value}}'],311 ['1', '1'],312 ];313 }314 /**315 * @dataProvider commandsToHas316 */317 public function testHasCommand($command, $has)318 {319 $shell = new Shell($this->getConfig());320 // :-/321 $refl = new \ReflectionClass('Psy\\Shell');322 $method = $refl->getMethod('hasCommand');323 $method->setAccessible(true);324 $this->assertEquals($method->invokeArgs($shell, [$command]), $has);325 }326 public function commandsToHas()327 {328 return [329 ['help', true],330 ['help help', true],331 ['"help"', false],332 ['"help help"', false],333 ['ls -al ', true],334 ['ls "-al" ', true],335 ['ls"-al"', false],336 [' q', true],337 [' q --help', true],338 ['"q"', false],339 ['"q",', false],340 ];341 }342 private function getOutput()343 {344 $stream = fopen('php://memory', 'w+');345 $this->streams[] = $stream;346 $output = new StreamOutput($stream, StreamOutput::VERBOSITY_NORMAL, false);347 return $output;348 }349 private function getConfig(array $config = [])350 {351 // Mebbe there's a better way than this?352 $dir = tempnam(sys_get_temp_dir(), 'psysh_shell_test_');353 unlink($dir);354 $defaults = [355 'configDir' => $dir,356 'dataDir' => $dir,357 'runtimeDir' => $dir,358 ];359 return new Configuration(array_merge($defaults, $config));360 }361}...

Full Screen

Full Screen

shell

Using AI Code Generation

copy

Full Screen

1$shell = new pts_shell();2$test_profile = new pts_test_profile();3$test_result = new pts_test_result();4$test_result_file = new pts_test_result_file();5$test_suite = new pts_test_suite();6$test_install_manager = new pts_test_install_manager();7$test_run_manager = new pts_test_run_manager();8$test_result_parser = new pts_test_result_parser();9$test_result_formatter = new pts_test_result_formatter();10$test_result_merge = new pts_test_result_merge();11$test_result_buffer = new pts_test_result_buffer();12$test_result_export = new pts_test_result_export();13$test_result_export = new pts_test_result_export();14$test_result_export = new pts_test_result_export();15$test_result_export = new pts_test_result_export();16$test_result_export = new pts_test_result_export();17$test_result_export = new pts_test_result_export();18$test_result_export = new pts_test_result_export();19$test_result_export = new pts_test_result_export();20$test_result_export = new pts_test_result_export();21$test_result_export = new pts_test_result_export();

Full Screen

Full Screen

shell

Using AI Code Generation

copy

Full Screen

1$shell = new pts_client\shell(pts_client::read_env('PT2_TEST_PATH'));2$shell->exec('php 2.php');3$shell = new pts_client\shell(pts_client::read_env('PT2_TEST_PATH'));4$shell->exec('php 3.php');5$shell = new pts_client\shell(pts_client::read_env('PT2_TEST_PATH'));6$shell->exec('php 4.php');7$shell = new pts_client\shell(pts_client::read_env('PT2_TEST_PATH'));8$shell->exec('php 5.php');9$shell = new pts_client\shell(pts_client::read_env('PT2_TEST_PATH'));10$shell->exec('php 6.php');11$shell = new pts_client\shell(pts_client::read_env('PT2_TEST_PATH'));12$shell->exec('php 7.php');13$shell = new pts_client\shell(pts_client::read_env('PT2_TEST_PATH'));14$shell->exec('php 8.php');15$shell = new pts_client\shell(pts_client::read_env('PT2_TEST_PATH'));16$shell->exec('php 9.php');17$shell = new pts_client\shell(pts_client::read_env('PT2_TEST_PATH'));18$shell->exec('php 10.php');19$shell = new pts_client\shell(pts_client::read_env('PT2_TEST_PATH'));20$shell->exec('php 11.php');21$shell = new pts_client\shell(pts

Full Screen

Full Screen

shell

Using AI Code Generation

copy

Full Screen

1$shell = new pts_client_shell(true);2$shell->execute_command('ls -l');3echo $shell->get_last_command_output();4$shell = new pts_client_shell(true);5$shell->execute_command('ls -l');6echo $shell->get_last_command_output();7$shell = new pts_client_shell(true);8$shell->execute_command('ls -l');9echo $shell->get_last_command_output();10$shell = new pts_client_shell(true);11$shell->execute_command('ls -l');12echo $shell->get_last_command_output();13$shell = new pts_client_shell(true);14$shell->execute_command('ls -l');15echo $shell->get_last_command_output();16$shell = new pts_client_shell(true);17$shell->execute_command('ls -l');18echo $shell->get_last_command_output();19$shell = new pts_client_shell(true);20$shell->execute_command('ls -l');21echo $shell->get_last_command_output();22$shell = new pts_client_shell(true);23$shell->execute_command('ls -l');24echo $shell->get_last_command_output();

Full Screen

Full Screen

shell

Using AI Code Generation

copy

Full Screen

1require_once 'pts-core.php';2$shell = new pts_shell();3$shell->load_environment();4$shell->set_environment('TEST_RESULTS_PATH', '/tmp/pts-results');5$shell->set_environment('TEST_RESULTS_IDENTIFIER', 'test-identifier');6$shell->set_environment('TEST_RESULTS_DESCRIPTION', 'test-description');7$shell->set_environment('TEST_RESULTS_FORMAT', 'CSV');8$shell->set_environment('TEST_RESULTS_FILE', 'test-results.csv');9$shell->set_environment('TEST_RESULTS_ARGUMENTS', 'test-arguments');10$shell->set_environment('TEST_RESULTS_SYSTEM', 'test-system');11$shell->set_environment('TEST_RESULTS_SYSTEM_VERSION', 'test-system-version');12$shell->set_environment('TEST_RESULTS_SYSTEM_KERNEL', 'test-system-kernel');13$shell->set_environment('TEST_RESULTS_SYSTEM_ARCHITECTURE', 'test-system-architecture');14$shell->set_environment('TEST_RESULTS_SYSTEM_COMPILER', 'test-system-compiler');15$shell->set_environment('TEST_RESULTS_SYSTEM_COMPILER_VERSION', 'test-system-compiler-version');16$shell->set_environment('TEST_RESULTS_SYSTEM_CPU', 'test-system-cpu');17$shell->set_environment('TEST_RESULTS_SYSTEM_GPU', 'test-system-gpu');18$shell->set_environment('TEST_RESULTS_SYSTEM_MEMORY', 'test-system-memory');19$shell->set_environment('TEST_RESULTS_SYSTEM_PHYSICAL_CORES', 'test-system-physical-cores');20$shell->set_environment('TEST_RESULTS_SYSTEM_PHYSICAL_CPUS', 'test-system-physical-cpus');21$shell->set_environment('TEST_RESULTS_SYSTEM_LOGICAL_CORES', 'test-system-logical-cores');22$shell->set_environment('TEST_RESULTS_SYSTEM_LOGICAL_CPUS', 'test-system-logical-cpus');23$shell->set_environment('TEST_RESULTS_SYSTEM_VENDOR', 'test-system-vendor');24$shell->set_environment('TEST_RESULTS_SYSTEM_MODEL', 'test-system-model');25$shell->set_environment('TEST_RESULTS_SYSTEM_PRODUCT', 'test-system-product');26$shell->set_environment('TEST_RESULTS_SYSTEM_SERIAL', 'test-system-serial');27$shell->set_environment('TEST_RESULTS_SYSTEM_UUID', 'test-system-uuid');28$shell->set_environment('TEST_RESULTS_SYSTEM_OS_VENDOR', 'test-system-os-vendor');29$shell->set_environment('TEST_RESULTS_SYSTEM_OS_CODENAME', 'test-system-os-codename');30$shell->set_environment('TEST_RESULTS_SYSTEM_OS_RELEASE', 'test-system-os-release');31$shell->set_environment('TEST_RESULTS

Full Screen

Full Screen

shell

Using AI Code Generation

copy

Full Screen

1require_once('pts-core/pts-core.php');2$shell = new pts_shell();3$shell->process_command('phoronix-test-suite benchmark pts/graphics-glxgears');4require_once('pts-core/pts-core.php');5$shell = new pts_shell();6$shell->process_command('phoronix-test-suite benchmark pts/graphics-glxgears');7require_once('pts-core/pts-core.php');8$shell = new pts_shell();9$shell->process_command('phoronix-test-suite benchmark pts/graphics-glxgears');

Full Screen

Full Screen

shell

Using AI Code Generation

copy

Full Screen

1require_once('shell.php');2$shell = new shell();3$shell->execute('ls -l');4function test() {5 echo "test";6}7$command = "sh test.sh";8$output = shell_exec($command);9echo $output;10$command = "sh test.sh";11$output = shell_exec($command);12echo $output;13$command = "sh test.sh";14$output = shell_exec($command);15echo $output;16$command = "sh test.sh";17$output = shell_exec($command);18echo $output;

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Phoronix-test-suite automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Run Selenium Automation Tests on LambdaTest Cloud Grid

Trigger Selenium automation tests on a cloud-based Grid of 3000+ real browsers and operating systems.

Test now for Free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful