redis_test 0.4.0 → 0.4.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 86491435908a76458ad312207fe78ddb7be54155
4
- data.tar.gz: 412265e1b235aa4f06645adc31bb53905061f214
3
+ metadata.gz: 0437358bc1bf7eafb05bbf3a1d7c5bb17213097d
4
+ data.tar.gz: 48fe391b4f3900726f8aa9bc45c14c9258182cb6
5
5
  SHA512:
6
- metadata.gz: 962abdca861751e329a63dcd40f2c235c319f50f581f51b3ebcae15d15977edb35ab06e473a13f90856919990422f43b64a01454e08170edcbff4bd8eab06bfe
7
- data.tar.gz: dc783babf4af0a3a15b18f794a899fdd391b369b1c0ef9fd06e6de5538d349bc913e8bd834e952e84afb10516aeb95edc3e8130521faf63cfb9d16012f6feb7a
6
+ metadata.gz: 4ce99e7759b8b3bb6dddea8ab8f9bcfaa5c4b5582cf2b08c56f288bb255322a978ac6e7b5fabcc05ac70cb3704f36ebff12eb301acc3c50bd6f9496f7d8fb3b1
7
+ data.tar.gz: fbece8f6a0531369273d3c540d81079ea92929ba23f2ce03a8796ae4baf889579f14d1147017c9ca6b58fa52f1b15d44cb10c56c9f107e651e270f1ea34c9d92
@@ -1,4 +1,6 @@
1
- require "redis_test/version"
1
+ # frozen_string_literal: true
2
+
3
+ require 'redis_test/version'
2
4
  require 'socket'
3
5
 
4
6
  module RedisTest
@@ -32,12 +34,10 @@ module RedisTest
32
34
  end
33
35
 
34
36
  def loglevel
35
- @loglevel || "debug"
37
+ @loglevel || 'debug'
36
38
  end
37
39
 
38
- def loglevel=(level)
39
- @loglevel = level
40
- end
40
+ attr_writer :loglevel
41
41
 
42
42
  def start(log_to_stdout: false)
43
43
  FileUtils.mkdir_p cache_path
@@ -45,30 +45,27 @@ module RedisTest
45
45
  FileUtils.mkdir_p logs_path
46
46
 
47
47
  redis_options = {
48
- "pidfile" => pidfile,
49
- "port" => port,
50
- "timeout" => 300,
51
- "dbfilename" => db_filename,
52
- "dir" => cache_path,
53
- "loglevel" => loglevel,
54
- "databases" => 16
48
+ 'pidfile' => pidfile,
49
+ 'port' => port,
50
+ 'timeout' => 300,
51
+ 'dbfilename' => db_filename,
52
+ 'dir' => cache_path,
53
+ 'loglevel' => loglevel,
54
+ 'databases' => 16
55
55
  }
56
56
 
57
- unless log_to_stdout
58
- redis_options.merge!(
59
- "logfile" => logfile,
60
- )
61
- end
57
+ redis_options['logfile'] = logfile unless log_to_stdout
62
58
 
63
59
  redis_options_str = redis_options.map { |k, v| "#{k} #{v}" }.join('\n')
64
60
 
65
61
  fork do
66
- system "echo '#{redis_options_str}' | redis-server -"
62
+ echo_command = mac? ? 'echo' : 'echo -e'
63
+ system "#{echo_command} '#{redis_options_str}' | redis-server -"
67
64
  end
68
65
 
69
66
  wait_time_remaining = 5
70
67
  begin
71
- self.socket = TCPSocket.open("localhost", port)
68
+ self.socket = TCPSocket.open('localhost', port)
72
69
  clear
73
70
  @started = true
74
71
  rescue Exception => e
@@ -89,8 +86,12 @@ module RedisTest
89
86
  if File.file?(pidfile) && File.readable?(pidfile)
90
87
  pid = File.read(pidfile).to_i
91
88
  if pid > 0
92
- Process.kill("QUIT", pid)
93
- until (Process.getpgid(pid) rescue nil).nil? do
89
+ Process.kill('SIGTERM', pid)
90
+ until (begin
91
+ Process.getpgid(pid)
92
+ rescue StandardError
93
+ nil
94
+ end).nil?
94
95
  sleep 0.01
95
96
  end
96
97
  end
@@ -134,18 +135,23 @@ module RedisTest
134
135
  end
135
136
 
136
137
  def clear
137
- socket.puts("flushall")
138
+ socket.puts('flushall')
138
139
  socket.gets # wait for redis server to reply with "OK"
139
140
  end
140
141
 
141
142
  def find_available_port
142
- server = TCPServer.new("127.0.0.1", 0)
143
+ server = TCPServer.new('127.0.0.1', 0)
143
144
  server.addr[1]
144
145
  ensure
145
- server.close if server
146
+ server&.close
146
147
  end
147
148
 
148
149
  private
150
+
149
151
  attr_accessor :socket
152
+
153
+ def mac?
154
+ `uname`.downcase.include?('darwin')
155
+ end
150
156
  end
151
157
  end
@@ -1,3 +1,3 @@
1
1
  module RedisTest
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.3"
21
+ spec.add_development_dependency "bundler", "~> 1.17"
22
22
  spec.add_development_dependency "byebug"
23
23
  spec.add_development_dependency "rake"
24
24
  spec.add_development_dependency "rspec"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis_test
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phuong Nguyen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-13 00:00:00.000000000 Z
11
+ date: 2020-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.3'
19
+ version: '1.17'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.3'
26
+ version: '1.17'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  version: '0'
104
104
  requirements: []
105
105
  rubyforge_project:
106
- rubygems_version: 2.4.5.3
106
+ rubygems_version: 2.4.5.2
107
107
  signing_key:
108
108
  specification_version: 4
109
109
  summary: A helper to launch redis server during test