* Refactor CLI test
Extracted 3 main parts:
- parse
- run
- signal handling
* Move demonization and pid write from parse to run phase
* Move queues default from validate to setup options phase
* Add pry-byebug gem
* Drop Sidekiq::Test
* Require launcher in CLI
* Remove TODOs
This test doesn't assert anything about the test data itself. Therefore
using a regular object is fine.
This also fixes the build for Rubinius. The problem is that a minitest
mock object removes all kinds of methods that should be there. Since
exception_data is for example used in an array later on, it should
respond to methods like equal? and == in order to be able to behave
properly in an array.
In MRI you can get away with this, because once you go into C land, you
don't go back to Ruby until you're done. This means you can remove
methods that data structures normally depend on without MRI breaking.