cucumber/cucumber-cpp — pull request #65 by larryprice (2013-11-07 02:43:22+00:00)
Title: BEFORE_ALL and AFTER_ALL macros

__Why__: When using [Capybara](https://github.com/jnicklas/capybara) for Ruby projects, I was able to use the concept of `before_all` from [rspec](http://rspec.info/) to perform a specific action before any of my scenarios ran. While my team was using cucumber-cpp, we noticed that this concept didn't exist and had to resort to using tags to mark scenarios as `@first` and `@last` to spin up/down a library that could only be started/stopped once per executable.

__How__: Added equivalent macros. In `CukeCommands`, stored a state boolean to figure out when the first scenario occurred. The body of any `BEFORE_ALL` macro is executed before the first scenario runs. If any scenarios were run, the body of any `AFTER_ALL` macro is executed when the `CukeCommands` class is being torn down.