Sha256: 523f2452cd1eb351d230661658ed7769143756fec3645baee0fa8add05052bd2

Contents?: true

Size: 1.43 KB

Versions: 26

Compression:

Stored size: 1.43 KB

Contents

require 'epitools'

describe Sys::ProcessInfo do

  specify "checks OS" do
    proc { Sys.os }.should_not raise_error
    proc { Sys.linux? }.should_not raise_error
    proc { Sys.mac? }.should_not raise_error
    proc { Sys.darwin? }.should_not raise_error
    proc { Sys.windows? }.should_not raise_error

    %w[Linux Windows Darwin].include?(Sys.os).should == true
    
    truths = [:linux?, :mac?, :windows?].map{|sys| Sys.send(sys)}
    truths.count(true).should == 1
  end
    
  
  specify "list all processes" do
#    procs = Sys.ps
#
#    procs.first.state.is_a?(Array).should == true
#
#    pids = procs.map{ |process| process.pid }
#
#    p2s = Hash[ *Sys.ps(*pids).map { |process| [process.pid, process] }.flatten ]
#    matches = 0
#    procs.each do |p1|
#      if p2 = p2s[p1.pid]
#        matches += 1
#        p1.command.should == p2.command
#      end
#    end
#
#    matches.should > 1
  end

  
  specify "refresh processes" do

#    STDOUT.sync = true
#
#    procs = Sys.ps
#    procs.shuffle!
#    procs.each do |process|
#      proc do
#        begin
#          process.refresh
#          print "."
#        rescue Sys::ProcessNotFound
#        end
#      end.should_not raise_error
#    end
#
#    puts

  end


  specify "cross-platform method" do
    Sys.cross_platform_method(:cross_platform_test)
    proc{ Sys.cross_platform_test }.should raise_error
  end
  
  specify "interfaces" do
    Sys.interfaces.should_not be_blank
  end
  
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
epitools-0.5.11 spec/sys_spec.rb
epitools-0.5.10 spec/sys_spec.rb
epitools-0.5.9 spec/sys_spec.rb
epitools-0.5.8 spec/sys_spec.rb
epitools-0.5.7 spec/sys_spec.rb
epitools-0.5.6 spec/sys_spec.rb
epitools-0.5.5 spec/sys_spec.rb
epitools-0.5.4 spec/sys_spec.rb
epitools-0.5.3 spec/sys_spec.rb
epitools-0.5.2 spec/sys_spec.rb
epitools-0.5.1 spec/sys_spec.rb
epitools-0.5.0 spec/sys_spec.rb
epitools-0.4.49 spec/sys_spec.rb
epitools-0.4.48 spec/sys_spec.rb
epitools-0.4.47 spec/sys_spec.rb
epitools-0.4.46 spec/sys_spec.rb
epitools-0.4.45 spec/sys_spec.rb
epitools-0.4.44 spec/sys_spec.rb
epitools-0.4.43 spec/sys_spec.rb
epitools-0.4.42 spec/sys_spec.rb