A not-quite-POSIX shell for Unix systems.
This was an assignment. It is now a labor of love. Hence, pash.
- A C compiler
- Valgrind advanced dynamic profiler; a memory leak's worst nightmare.
- Aruba for advanced CLI testing.
- Cucumber for automated behavioral testing. A dependency of Aruba.
- Ruby >= 1.9.2 to run Cucumber.
- GNU Make because IDEs are for chumps.
Writing Cucumber Specs
Because we're good developers, we're writing pretty comprehensive tests to prove or disprove our hypotheses about whether our software works. We've chosen Cucumber and Aruba to do this in the most expressive and automated way possible.
For details on the language of Cucumber see existing examples in the
directory and the documentation of available "steps"
C and UNIX Library Commands of Note
I've listed them below in the form necessary to look them up in the system manual
man 3 getenvFor accessing environment variables.
man 3 setenvFor setting environment variables.
man 3 freopenFor reifying streams for redirection.
man 3 fprintFor printing to streams other than stdout.
posix_spawnA possible way to easily run stuff in background.