mediashare / shell-psysh
An interactive shell for modern PHP.
v0.12.10.11
2025-07-16 11:59 UTC
Requires
- php: ^8.0 || ^7.4
- ext-json: *
- ext-tokenizer: *
- nikic/php-parser: ^5.0 || ^4.0
- symfony/console: ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4
- symfony/var-dumper: ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4
Requires (Dev)
Suggests
- ext-pcntl: Enabling the PCNTL extension makes PsySH a lot happier :)
- ext-pdo-sqlite: The doc command requires SQLite to work.
- ext-posix: If you have PCNTL, you'll want the POSIX extension as well.
Conflicts
- symfony/console: 4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4
This package is auto-updated.
Last update: 2026-05-20 06:52:58 UTC
README
Overview
The Shell Tester is a tool for testing shell scripts and commands. It allows you to define test cases, execute them against your code, and verify the results.
Getting Started
- Navigate to the
test/shell-testerdirectory. - Review existing test cases: Examine the files in this directory to understand how tests are structured and written. The tests typically involve running a command or script, capturing its output, and asserting that the output matches an expected value.
- Write new test cases: Create new files in this directory, following the existing pattern.
Test Case Structure
Each test case consists of the following elements:
- Command/Script to Execute: The command or script that you want to test.
- Expected Output: The output that you expect the command or script to produce.
Contributing
- Fork the repository.
- Create a new branch for your changes.
- Add your test cases to the
test/shell-testerdirectory. - Ensure that your test cases pass by running the test suite (details on how to run the test suite would go here if a testing framework was used).
- Submit a pull request.
Example Test Case
# This is an example test case. # It tests the `ls -l` command. command: ls -l expected_output: - total 4 - -rw-r--r-- 1 user group 1024 Jan 1 00:00 file1.txt - -rw-r--r-- 1 user group 2048 Jan 1 00:00 file2.txt
Note: The exact format of the test case may vary depending on the specific testing framework used.
Further Information
- [Link to documentation (if available)]
- [Link to issue tracker]