Bash is a fundamental scripting shell and language tied to the core of standard Unix process launching and composition (execve(2), fork(2), and pipe(2)). As being omnipresent, reliable, stable and straightforward to start working with Bash is often used for writing the first version of simple provisioning script. Those initially simple scripts soon can become awkward to maintain mostly due to the language unique idiosyncrasies.
Test-Driven Development is a engineering practice that, among other things, leverages automatic testing to develop confidence with unknown systems and
Mixing Bash and TDD I’ll demonstrate you how you can discover and deal with Bash quirks and features in order getting a task done.
The talk will be delivered as #noslides performance (a talk where the speaker casts its computer screen while performing the work and explaining what is doing and why). I will develop a Bash script incrementally using TDD but without using any pre-existent xUnit framework: during this session a mini-framework will be developed from scratch using only out-of-the-box system features and tools.