def command(cmd=nil, options={}, &block)
      metadata[:command] = true
      subject do |example|
        # If a block is given, use it to get the command.
        cmd = instance_eval(&block) if block
        command(cmd, options)
      end
    end
def command(cmd=nil, options={}, &block)
      metadata[:command] = true
      subject do |example|
        # If a block is given, use it to get the command.
        cmd = instance_eval(&block) if block
        command(cmd, options)
      end
    end
Run a command as the subject of this example. The command can be passed in
 as a string, array, or block. The subject will be a Mixlib::ShellOut
 object, all attributes from there will work with rspec-its.

 @see #command
 @param cmd [String, Array] Command to run. If passed as an array, no shell
   expansion will be performed.
 @param options [Hash<Symbol, Object>] Options to pass to
   Mixlib::ShellOut.new.
 @param block [Proc] Optional block to return a command to run.
 @option options [Boolean] allow_error If true, don't raise an error on
   failed commands.
 @example
   describe 'myapp' do
     command 'myapp show'
     its(:stdout) { is_expected.to match(/a thing/) }
   end