This file is indexed.

/usr/lib/ruby/vendor_ruby/em-spec/rspec.rb is in ruby-em-spec 0.2.7-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
require 'eventmachine'
require File.dirname(__FILE__) + '/../ext/fiber18'

module EventMachine
  module SpecHelper
    
    SpecTimeoutExceededError = Class.new(RuntimeError)
    
    def self.included(cls)
      ::RSpec::Core::ExampleGroup.instance_eval "
      @@_em_default_time_to_finish = nil
      def self.default_timeout(timeout)
        @@_em_default_time_to_finish = timeout
      end
      "
    end
    
    def timeout(time_to_run)
      EM.cancel_timer(@_em_timer) if @_em_timer
      @_em_timer = EM.add_timer(time_to_run) { done; raise SpecTimeoutExceededError.new }
    end
    
    def em(time_to_run = @@_em_default_time_to_finish, &block)
      em_spec_exception = nil

      EM.run do
        timeout(time_to_run) if time_to_run
        @_em_spec_fiber = Fiber.new do
          begin
            block.call
          rescue Exception => em_spec_exception
            done
          end
          Fiber.yield
        end  

        @_em_spec_fiber.resume
      end

      raise em_spec_exception if em_spec_exception
    end

    def done
      EM.next_tick{
        finish_em_spec_fiber
      }
    end

    private

    def finish_em_spec_fiber
      EM.stop_event_loop if EM.reactor_running?
      @_em_spec_fiber.resume if @_em_spec_fiber.alive?
    end
    
  end
  
  module Spec

    include SpecHelper

    def instance_eval(&block)
      em do
        super(&block)
      end
    end

  end
  
end