Source

sh142 /

Filename Size Date modified Message
dylibs
examples
features
include
report
src
test
test_utils
tmp
43 B
76 B
183 B
94 B
876 B
1.5 KB
1.6 KB
2.7 KB

sh142

A not-quite-POSIX shell for Unix systems.

Writing this for a class. Who knows when it will be open-sourced. Using Aruba to test it.

Development dependencies

  • A C compiler
  • Valgrind advanced dynamic profiler; a memory leak's worst nightmare.
  • Aruba for advanced CLI testing.
  • Cucumber for automated behavio.ral 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 features/ directory and the documentation of available "steps" here.

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 getenv For accessing environment variables.
  • man 3 setenv For setting environment variables.
  • man 3 freopen For reifying streams for redirection.
  • man 3 fprint For printing to streams other than stdout.
  • posix_spawn A possible way to easily run stuff in background.