sys-proctable 1.2.5 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/CHANGES.rdoc +9 -0
- data/MANIFEST.rdoc +10 -8
- data/Rakefile +1 -1
- data/lib/darwin/sys/proctable.rb +6 -2
- data/lib/linux/sys/proctable.rb +1 -1
- data/lib/sys/proctable/version.rb +1 -1
- data/spec/sys_proctable_all_spec.rb +1 -1
- data/spec/sys_proctable_darwin_spec.rb +20 -20
- data/sys-proctable.gemspec +1 -1
- metadata +6 -7
- metadata.gz.sig +0 -0
- data/spec/spec_helper.rb +0 -22
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 67e97600844b87fee76e66de7ca9ce8dc437c4b0e37d8760a1a1211629ca0ad4
         | 
| 4 | 
            +
              data.tar.gz: 8f3940b17936f4fa4fdcbaae499728d54a0d20160f320021882435dc42fa8e1d
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 7d9abfefc12b38b3e9961aaed71e4c0cf220418d6e719e945bcb72fe0d66a9782375ad860bb9f9dd37cedb5aefa410d689cdc97cfeb8ecc9f61e9c6eecf6fcf1
         | 
| 7 | 
            +
              data.tar.gz: b1bb3b2a1fad203879b6a3c79066e730c074e9b6a5c090da0abdaebe86e4648dbccf07955c27e575ea52aa0c38acc08ae781754ee68dc50c8527f7c054433c56
         | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | Binary file | 
    
        data.tar.gz.sig
    CHANGED
    
    | Binary file | 
    
        data/CHANGES.rdoc
    CHANGED
    
    | @@ -1,3 +1,12 @@ | |
| 1 | 
            +
            == 1.2.6 - 25-Aug-2020
         | 
| 2 | 
            +
            * Made some updates so that it worked properly with TruffleRuby on Mac.
         | 
| 3 | 
            +
            * Fixed an issue on Linux where non-ascii environ strings could cause failure.
         | 
| 4 | 
            +
              Thanks go to deemytch for the spot and original patch.
         | 
| 5 | 
            +
            * Removed the spec_helper.rb file, just use Process.spawn instead of messing
         | 
| 6 | 
            +
              around with custom fork implementations. This also helps with implementations
         | 
| 7 | 
            +
              that don't support fork.
         | 
| 8 | 
            +
            * Updated the MANIFEST.
         | 
| 9 | 
            +
             | 
| 1 10 | 
             
            == 1.2.5 - 19-Jun-2020
         | 
| 2 11 | 
             
            * Added the delayacct_blkio_ticks, guest_time, and cguest_time fields on Linux.
         | 
| 3 12 | 
             
              These require 2.6.18 or later, but will simply be nil on earlier versions.
         | 
    
        data/MANIFEST.rdoc
    CHANGED
    
    | @@ -8,6 +8,8 @@ | |
| 8 8 | 
             
            * benchmarks/bench_ips_ps.rb
         | 
| 9 9 | 
             
            * example/example_ps.rb
         | 
| 10 10 | 
             
            * lib/sys-proctable.rb
         | 
| 11 | 
            +
            * lib/sys-top.rb
         | 
| 12 | 
            +
            * lib/sys/proctable.rb
         | 
| 11 13 | 
             
            * lib/sys/top.rb
         | 
| 12 14 | 
             
            * lib/sys/proctable/version.rb
         | 
| 13 15 | 
             
            * lib/aix/sys/proctable.rb
         | 
| @@ -16,11 +18,11 @@ | |
| 16 18 | 
             
            * lib/linux/sys/proctable.rb
         | 
| 17 19 | 
             
            * lib/sunos/sys/proctable.rb
         | 
| 18 20 | 
             
            * lib/windows/sys/proctable.rb
         | 
| 19 | 
            -
            *  | 
| 20 | 
            -
            *  | 
| 21 | 
            -
            *  | 
| 22 | 
            -
            *  | 
| 23 | 
            -
            *  | 
| 24 | 
            -
            *  | 
| 25 | 
            -
            *  | 
| 26 | 
            -
            *  | 
| 21 | 
            +
            * spec/sys_proctable_aix_spec.rb
         | 
| 22 | 
            +
            * spec/sys_proctable_all_spec.rb
         | 
| 23 | 
            +
            * spec/sys_proctable_darwin_spec.rb
         | 
| 24 | 
            +
            * spec/sys_proctable_freebsd_spec.rb
         | 
| 25 | 
            +
            * spec/sys_proctable_linux_spec.rb
         | 
| 26 | 
            +
            * spec/sys_proctable_sunos_spec.rb
         | 
| 27 | 
            +
            * spec/sys_proctable_windows_spec.rb
         | 
| 28 | 
            +
            * spec/sys_top_spec.rb
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -51,7 +51,7 @@ end | |
| 51 51 |  | 
| 52 52 | 
             
            desc 'Run the test suite for the sys-proctable library'
         | 
| 53 53 | 
             
            RSpec::Core::RakeTask.new(:spec) do |t|
         | 
| 54 | 
            -
              t.pattern = ['spec/ | 
| 54 | 
            +
              t.pattern = ['spec/sys_proctable_all_spec.rb']
         | 
| 55 55 |  | 
| 56 56 | 
             
              case CONFIG['host_os']
         | 
| 57 57 | 
             
                when /aix/i
         | 
    
        data/lib/darwin/sys/proctable.rb
    CHANGED
    
    | @@ -26,9 +26,13 @@ module Sys | |
| 26 26 | 
             
                MAXTHREADNAMESIZE = 64
         | 
| 27 27 | 
             
                PROC_PIDPATHINFO_MAXSIZE = MAXPATHLEN * 4
         | 
| 28 28 |  | 
| 29 | 
            -
                # JRuby on Mac
         | 
| 29 | 
            +
                # JRuby/Truffleruby on Mac
         | 
| 30 30 | 
             
                unless defined? FFI::StructLayout::CharArray
         | 
| 31 | 
            -
                   | 
| 31 | 
            +
                  if defined? FFI::StructLayout::CharArrayProxy
         | 
| 32 | 
            +
                    FFI::StructLayout::CharArray = FFI::StructLayout::CharArrayProxy
         | 
| 33 | 
            +
                  else
         | 
| 34 | 
            +
                    FFI::StructLayout::CharArray = FFI::Struct::CharArray
         | 
| 35 | 
            +
                  end
         | 
| 32 36 | 
             
                end
         | 
| 33 37 |  | 
| 34 38 | 
             
                class ProcBsdInfo < FFI::Struct
         | 
    
        data/lib/linux/sys/proctable.rb
    CHANGED
    
    | @@ -146,7 +146,7 @@ module Sys | |
| 146 146 | 
             
                    struct.environ = {}
         | 
| 147 147 |  | 
| 148 148 | 
             
                    begin
         | 
| 149 | 
            -
                      IO.read("/proc/#{file}/environ").split("\0").each{ |str|
         | 
| 149 | 
            +
                      IO.read("/proc/#{file}/environ").force_encoding("UTF-8").split("\0").each{ |str|
         | 
| 150 150 | 
             
                        key, value = str.split('=')
         | 
| 151 151 | 
             
                        struct.environ[key] = value
         | 
| 152 152 | 
             
                      }
         | 
| @@ -21,8 +21,8 @@ describe Sys::ProcTable do | |
| 21 21 | 
             
              }
         | 
| 22 22 |  | 
| 23 23 | 
             
              before(:all) do
         | 
| 24 | 
            -
                @pid1 =  | 
| 25 | 
            -
                @pid2 =  | 
| 24 | 
            +
                @pid1 = Process.spawn({'A' => 'B', 'Z' => nil}, "sleep 60")
         | 
| 25 | 
            +
                @pid2 = Process.spawn("ruby", "-Ilib", "-e", "sleep \'120\'.to_i", "--", "foo bar")
         | 
| 26 26 | 
             
                sleep 1 # wait to make sure env is replaced by sleep
         | 
| 27 27 | 
             
              end
         | 
| 28 28 |  | 
| @@ -38,7 +38,7 @@ describe Sys::ProcTable do | |
| 38 38 |  | 
| 39 39 | 
             
                it "returns the expected results for the fields method" do
         | 
| 40 40 | 
             
                  expect(described_class.fields).to be_kind_of(Array)
         | 
| 41 | 
            -
                  expect(described_class.fields).to  | 
| 41 | 
            +
                  expect(described_class.fields).to eq(fields)
         | 
| 42 42 | 
             
                end
         | 
| 43 43 | 
             
              end
         | 
| 44 44 |  | 
| @@ -48,72 +48,72 @@ describe Sys::ProcTable do | |
| 48 48 | 
             
                it "contains a pid member and returns the expected value" do
         | 
| 49 49 | 
             
                  expect(subject).to respond_to(:pid)
         | 
| 50 50 | 
             
                  expect(subject.pid).to be_kind_of(Numeric)
         | 
| 51 | 
            -
                  expect(subject.pid).to  | 
| 51 | 
            +
                  expect(subject.pid).to eq(@pid1)
         | 
| 52 52 | 
             
                end
         | 
| 53 53 |  | 
| 54 54 | 
             
                it "contains a ppid member and returns the expected value" do
         | 
| 55 55 | 
             
                  expect(subject).to respond_to(:ppid)
         | 
| 56 56 | 
             
                  expect(subject.ppid).to be_kind_of(Numeric)
         | 
| 57 | 
            -
                  expect(subject.ppid).to  | 
| 57 | 
            +
                  expect(subject.ppid).to eq(Process.pid)
         | 
| 58 58 | 
             
                end
         | 
| 59 59 |  | 
| 60 60 | 
             
                it "contains a pgid member and returns the expected value" do
         | 
| 61 61 | 
             
                  expect(subject).to respond_to(:pgid)
         | 
| 62 62 | 
             
                  expect(subject.pgid).to be_kind_of(Numeric)
         | 
| 63 | 
            -
                  expect(subject.pgid).to  | 
| 63 | 
            +
                  expect(subject.pgid).to eq(Process.getpgrp)
         | 
| 64 64 | 
             
                end
         | 
| 65 65 |  | 
| 66 66 | 
             
                it "contains a ruid member and returns the expected value" do
         | 
| 67 67 | 
             
                  expect(subject).to respond_to(:ruid)
         | 
| 68 68 | 
             
                  expect(subject.ruid).to be_kind_of(Numeric)
         | 
| 69 | 
            -
                  expect(subject.ruid).to  | 
| 69 | 
            +
                  expect(subject.ruid).to eq(Process.uid)
         | 
| 70 70 | 
             
                end
         | 
| 71 71 |  | 
| 72 72 | 
             
                it "contains an rgid member and returns the expected value" do
         | 
| 73 73 | 
             
                  expect(subject).to respond_to(:rgid)
         | 
| 74 74 | 
             
                  expect(subject.rgid).to be_kind_of(Numeric)
         | 
| 75 | 
            -
                  expect(subject.rgid).to  | 
| 75 | 
            +
                  expect(subject.rgid).to eq(Process.gid)
         | 
| 76 76 | 
             
                end
         | 
| 77 77 |  | 
| 78 78 | 
             
                it "contains an svuid member and returns the expected value" do
         | 
| 79 79 | 
             
                  expect(subject).to respond_to(:svuid)
         | 
| 80 80 | 
             
                  expect(subject.svuid).to be_kind_of(Numeric)
         | 
| 81 | 
            -
                  expect(subject.svuid).to  | 
| 81 | 
            +
                  expect(subject.svuid).to eq(Process.uid)
         | 
| 82 82 | 
             
                end
         | 
| 83 83 |  | 
| 84 84 | 
             
                it "contains an svgid member and returns the expected value" do
         | 
| 85 85 | 
             
                  expect(subject).to respond_to(:svgid)
         | 
| 86 86 | 
             
                  expect(subject.svgid).to be_kind_of(Numeric)
         | 
| 87 | 
            -
                  expect(subject.svgid).to  | 
| 87 | 
            +
                  expect(subject.svgid).to eq(Process.gid)
         | 
| 88 88 | 
             
                end
         | 
| 89 89 |  | 
| 90 | 
            -
                it "contains a comm member and returns the expected value" | 
| 90 | 
            +
                it "contains a comm member and returns the expected value" do
         | 
| 91 91 | 
             
                  expect(subject).to respond_to(:comm)
         | 
| 92 92 | 
             
                  expect(subject.comm).to be_kind_of(String)
         | 
| 93 | 
            -
                  expect(subject.comm).to  | 
| 93 | 
            +
                  expect(subject.comm).to eq('sleep')
         | 
| 94 94 | 
             
                end
         | 
| 95 95 |  | 
| 96 | 
            -
                it "contains a cmdline member and returns the expected value" | 
| 96 | 
            +
                it "contains a cmdline member and returns the expected value" do
         | 
| 97 97 | 
             
                  expect(subject).to respond_to(:cmdline)
         | 
| 98 98 | 
             
                  expect(subject.cmdline).to be_kind_of(String)
         | 
| 99 | 
            -
                  expect(subject.cmdline).to  | 
| 99 | 
            +
                  expect(subject.cmdline).to eq('sleep 60')
         | 
| 100 100 | 
             
                end
         | 
| 101 101 |  | 
| 102 | 
            -
                it "returns a string with the expected arguments for the cmdline member" | 
| 102 | 
            +
                it "returns a string with the expected arguments for the cmdline member" do
         | 
| 103 103 | 
             
                  ptable = Sys::ProcTable.ps(pid: @pid2)
         | 
| 104 | 
            -
                  expect(ptable.cmdline).to  | 
| 104 | 
            +
                  expect(ptable.cmdline).to eq('ruby -Ilib -e sleep \'120\'.to_i -- foo bar')
         | 
| 105 105 | 
             
                end
         | 
| 106 106 |  | 
| 107 | 
            -
                it "contains an exe member and returns the expected value" | 
| 107 | 
            +
                it "contains an exe member and returns the expected value" do
         | 
| 108 108 | 
             
                  expect(subject).to respond_to(:exe)
         | 
| 109 109 | 
             
                  expect(subject.exe).to be_kind_of(String)
         | 
| 110 | 
            -
                  expect(subject.exe).to  | 
| 110 | 
            +
                  expect(subject.exe).to eq(`which sleep`.chomp)
         | 
| 111 111 | 
             
                end
         | 
| 112 112 |  | 
| 113 | 
            -
                it "contains an environ member and returns the expected value" | 
| 113 | 
            +
                it "contains an environ member and returns the expected value" do
         | 
| 114 114 | 
             
                  expect(subject).to respond_to(:environ)
         | 
| 115 115 | 
             
                  expect(subject.environ).to be_kind_of(Hash)
         | 
| 116 | 
            -
                  expect(subject.environ['A']).to  | 
| 116 | 
            +
                  expect(subject.environ['A']).to eq('B')
         | 
| 117 117 | 
             
                  expect(subject.environ['Z']).to be_nil
         | 
| 118 118 | 
             
                end
         | 
| 119 119 | 
             
              end
         | 
    
        data/sys-proctable.gemspec
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,11 +1,11 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sys-proctable
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.2. | 
| 4 | 
            +
              version: 1.2.6
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Daniel J. Berger
         | 
| 8 | 
            -
            autorequire: | 
| 8 | 
            +
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain:
         | 
| 11 11 | 
             
            - |
         | 
| @@ -35,7 +35,7 @@ cert_chain: | |
| 35 35 | 
             
              ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
         | 
| 36 36 | 
             
              WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
         | 
| 37 37 | 
             
              -----END CERTIFICATE-----
         | 
| 38 | 
            -
            date: | 
| 38 | 
            +
            date:
         | 
| 39 39 | 
             
            dependencies:
         | 
| 40 40 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 41 41 | 
             
              name: ffi
         | 
| @@ -125,7 +125,7 @@ metadata: | |
| 125 125 | 
             
              documentation_uri: https://github.com/djberg96/sys-proctable/wiki
         | 
| 126 126 | 
             
              source_code_uri: https://github.com/djberg96/sys-proctable
         | 
| 127 127 | 
             
              wiki_uri: https://github.com/djberg96/sys-proctable/wiki
         | 
| 128 | 
            -
            post_install_message: | 
| 128 | 
            +
            post_install_message:
         | 
| 129 129 | 
             
            rdoc_options: []
         | 
| 130 130 | 
             
            require_paths:
         | 
| 131 131 | 
             
            - lib
         | 
| @@ -140,12 +140,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 140 140 | 
             
                - !ruby/object:Gem::Version
         | 
| 141 141 | 
             
                  version: '0'
         | 
| 142 142 | 
             
            requirements: []
         | 
| 143 | 
            -
            rubygems_version: 3. | 
| 144 | 
            -
            signing_key: | 
| 143 | 
            +
            rubygems_version: 3.1.4
         | 
| 144 | 
            +
            signing_key:
         | 
| 145 145 | 
             
            specification_version: 4
         | 
| 146 146 | 
             
            summary: An interface for providing process table information
         | 
| 147 147 | 
             
            test_files:
         | 
| 148 | 
            -
            - spec/spec_helper.rb
         | 
| 149 148 | 
             
            - spec/sys_proctable_aix_spec.rb
         | 
| 150 149 | 
             
            - spec/sys_proctable_all_spec.rb
         | 
| 151 150 | 
             
            - spec/sys_proctable_darwin_spec.rb
         | 
    
        metadata.gz.sig
    CHANGED
    
    | Binary file | 
    
        data/spec/spec_helper.rb
    DELETED
    
    | @@ -1,22 +0,0 @@ | |
| 1 | 
            -
            RSpec.configure do |config|
         | 
| 2 | 
            -
              config.filter_run_excluding :skip_jruby if RUBY_PLATFORM == 'java'
         | 
| 3 | 
            -
            end
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            if RUBY_PLATFORM == 'java'
         | 
| 6 | 
            -
              require 'ffi'
         | 
| 7 | 
            -
              module Exec
         | 
| 8 | 
            -
                extend FFI::Library
         | 
| 9 | 
            -
                ffi_lib FFI::Library::LIBC
         | 
| 10 | 
            -
                attach_function :fork, [], :int
         | 
| 11 | 
            -
              end
         | 
| 12 | 
            -
             | 
| 13 | 
            -
              def fork
         | 
| 14 | 
            -
                pid = Exec.fork
         | 
| 15 | 
            -
                if pid == 0
         | 
| 16 | 
            -
                  yield if block_given?
         | 
| 17 | 
            -
                  return nil
         | 
| 18 | 
            -
                else
         | 
| 19 | 
            -
                  return pid
         | 
| 20 | 
            -
                end
         | 
| 21 | 
            -
              end
         | 
| 22 | 
            -
            end
         |